2016-10-26 2 views
0

ARM 템플릿에서 sku, workersize 등을 정의하지 않고도 웹 사이트 (Microsoft.Web/sites) 리소스를 기존 호스팅 계획 (Microsoft.Web/serverfarms)에 배포하려고합니다. 그것은 변경하지 않고 호스팅 계획을 그대로 사용해야합니다. 그러나 SKU는 호스팅 계획 정의에 필요하고 호스팅 계획 정의가 웹 사이트 정의에 필요하다고 여겨집니다.Azure Resource Manager 템플릿에서 기존 Microsoft.Web/serverfarms를 사용하는 방법은 무엇입니까?

현재 우리는 호스팅 계획의 sku를 읽고 ARM 템플릿의 매개 변수로 설정했지만, 때때로 azure에서 크기 조정 작업을 트리거하고 호스팅 계획의 모든 웹 사이트를 다시 시작합니다.

답변

3

당신이 호스팅 계획을 설정하는 ARM 템플릿에 필요한 유일한 것은 그 serverFarm의 RESOURCEID입니다 - 그 아래 serverFarmId 속성의 ...

 "name": "[variables('websiteName')]", 
     "type": "Microsoft.Web/sites", 
     "location": "centralus", 
     "apiVersion": "2015-08-01", 
     "dependsOn": [ ], 
     "tags": { 
      "displayName": "website" 
     }, 
     "properties": { 
      "name": "[variables('websiteName')]", 
      "serverFarmId": "[resourceId(parameters('serverFarmResourceGroupName'), 'Microsoft.Web/serverFarms', parameters('AppSvcPlanName'))]" 
     } 

베어 본, 그러나 그것은 웹 응용 프로그램을 넣어 것입니다 기존 serverFarm에 추가하십시오.

+0

내 문제는, serverFarmId에 대한 resourceId 함수에서 serverFarmResourceGroupName 매개 변수를 제공하지 않았다는 것입니다. serverFarmId는 serverFarm이 동일한 템플릿에 정의 된 경우에만 작동하는 것처럼 보입니다. –

+1

당신이 못 박았 - 함수에 대한 매개 변수가 제공되지 않으면 현재의 값으로 기본 설정됩니다 (subscriptionId는 resourceId() fn에서 같은 방식으로 작동합니다) –

+0

@ bmoore-msft - 왜 같은 것을 넣는 지 (ServerFarmId) 'dependsOn' 아래에 오류가 있습니까? –