비고
Azure Az PowerShell 모듈을 사용하여 Azure와 상호 작용하는 것이 좋습니다. 시작하려면 Azure PowerShell 설치를 참조하세요. Az PowerShell 모듈로 마이그레이션하는 방법에 대한 자세한 내용은 Azure PowerShell을 AzureRM에서 Azure로 마이그레이션을 참조하세요.
실행 중인 App Service 계획을 확장하여 Azure App Service 앱의 크기를 조정할 수 있습니다. 여러 앱이 동일한 App Service 계획에서 실행되면 각 스케일 아웃 인스턴스는 계획의 모든 앱을 실행합니다.
반면, App Service 계획 수준에서 앱별 크기 조정을 사용하도록 설정하여 앱을 호스트하는 App Service 계획과 독립적으로 앱을 확장할 수 있습니다. 이렇게 하면 App Service 계획을 10개의 인스턴스로 확장할 수 있지만 앱은 5개만 사용하도록 설정할 수 있습니다.
비고
앱별 크기 조정은 표준, 프리미엄, 프리미엄 V2, 프리미엄 V3 및 격리된 가격 책정 계층에만 사용할 수 있습니다.
앱은 인스턴스 간 균등한 배포를 위해 최선의 방법을 사용하여 사용 가능한 App Service 계획에 할당됩니다. 짝수 배포는 보장되지 않지만 플랫폼은 동일한 앱의 두 인스턴스가 동일한 App Service 계획 인스턴스에서 호스트되지 않도록 합니다.
플랫폼은 메트릭을 사용하여 작업자 할당을 결정하지 않습니다. 애플리케이션은 인스턴스가 App Service 계획에서 추가되거나 제거된 경우에만 다시 분산됩니다.
PowerShell을 사용하여 앱별 크기 조정
-PerSiteScaling $true 매개 변수를 New-AzAppServicePlan cmdlet에 전달하여 앱별 크기 조정이 가능한 계획을 만드십시오.
New-AzAppServicePlan -ResourceGroupName $ResourceGroup -Name $AppServicePlan `
-Location $Location `
-Tier Premium -WorkerSize Small `
-NumberofWorkers 5 -PerSiteScaling $true
-PerSiteScaling $true 매개 변수를 Set-AzAppServicePlan cmdlet에 전달하여 기존 App Service 계획으로 앱별 크기 조정을 사용합니다.
Set-AzAppServicePlan -ResourceGroupName $ResourceGroup `
-Name $AppServicePlan -PerSiteScaling $true
앱 수준에서 앱이 App Service 계획에서 사용할 수 있는 인스턴스 수를 구성합니다.
다음 예제에서 앱은 기본 앱 서비스 계획이 확장되는 인스턴스 수에 관계없이 두 개의 인스턴스로 제한됩니다.
# Get the app we want to configure to use "PerSiteScaling"
$newapp = Get-AzWebApp -ResourceGroupName $ResourceGroup -Name $webapp
# Modify the NumberOfWorkers setting to the desired value
$newapp.SiteConfig.NumberOfWorkers = 2
# Post updated app back to Azure
Set-AzWebApp $newapp
중요합니다
$newapp.SiteConfig.NumberOfWorkers는 $newapp.MaxNumberOfWorkers과 다릅니다. 앱별 크기 조정은 앱의 크기 조정 특성을 결정하는 데 사용됩니다 $newapp.SiteConfig.NumberOfWorkers .
Azure Resource Manager를 사용하여 앱별 크기 조정
다음 Azure Resource Manager 템플릿은 다음을 만듭니다.
- 10개의 인스턴스로 확장되는 App Service 계획입니다.
- 최대 5개의 인스턴스로 확장하도록 구성된 앱입니다.
App Service 계획에서는 PerSiteScaling 속성을 true"perSiteScaling": true로 설정하고 있습니다. 앱에서 사용할 number of workers을 5"properties": { "numberOfWorkers": "5" }으로 설정합니다.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters":{
"appServicePlanName": { "type": "string" },
"appName": { "type": "string" }
},
"resources": [
{
"comments": "App Service Plan with per site perSiteScaling = true",
"type": "Microsoft.Web/serverFarms",
"sku": {
"name": "P1",
"tier": "Premium",
"size": "P1",
"family": "P",
"capacity": 10
},
"name": "[parameters('appServicePlanName')]",
"apiVersion": "2015-08-01",
"location": "West US",
"properties": {
"name": "[parameters('appServicePlanName')]",
"perSiteScaling": true
}
},
{
"type": "Microsoft.Web/sites",
"name": "[parameters('appName')]",
"apiVersion": "2015-08-01-preview",
"location": "West US",
"dependsOn": [ "[resourceId('Microsoft.Web/serverFarms', parameters('appServicePlanName'))]" ],
"properties": { "serverFarmId": "[resourceId('Microsoft.Web/serverFarms', parameters('appServicePlanName'))]" },
"resources": [ {
"comments": "",
"type": "config",
"name": "web",
"apiVersion": "2015-08-01",
"location": "West US",
"dependsOn": [ "[resourceId('Microsoft.Web/Sites', parameters('appName'))]" ],
"properties": { "numberOfWorkers": "5" }
} ]
}]
}
고밀도 호스팅에 권장되는 구성
앱별 크기 조정은 글로벌 Azure 지역 및 App Service Environment 모두에서 사용하도록 설정된 기능입니다. 그러나 권장되는 전략은 App Service Environment를 사용하여 고급 기능과 더 큰 App Service 계획 용량을 활용하는 것입니다.
다음 단계에 따라 앱에 대한 고밀도 호스팅을 구성합니다.
App Service 계획을 고밀도 계획으로 지정하고 원하는 용량으로 확장합니다.
App Service 계획에서
PerSiteScaling플래그를 true로 설정합니다.속성이
numberOfWorkers로 설정된 상태에서 새 앱이 만들어지고 해당 App Service 계획에 할당됩니다.- 이 구성을 사용하면 가능한 가장 높은 밀도가 생성됩니다.
필요에 따라 추가 리소스를 부여하도록 앱별로 독립적으로 작업자 수를 구성할 수 있습니다. 다음은 그 예입니다.
- 고가용성 앱은 해당 앱에 대한 처리 용량을 더 많이 갖도록
numberOfWorkers으로 설정할 수 있습니다. - 사용량이 낮은 앱은
numberOfWorkers로 설정 됩니다.
- 고가용성 앱은 해당 앱에 대한 처리 용량을 더 많이 갖도록