2017-04-24 5 views
1

응용 프로그램 게이트웨이를 배포하기 위해 ARM 템플릿을 작성하고 있습니다. "백엔드"서버는 이미 존재하며 사설 IP 주소를 가지고 있습니다.기존 백엔드 IP가있는 Azure 응용 프로그램 게이트웨이

포털을 통해 앱 게이트웨이를 만드는 경우. 내가 백엔드 풀의 일부가 될 VM을 선택할 수 있습니다. 이 템플릿을 ARM 템플릿에서 만들려고하는데 성공하지 못했습니다. ARM 템플리트는 오류없이 배포하지만 백엔드 풀을 확인할 때 그에 연결된 리소스가 없습니다. 여기

이처럼 내 ARM 템플릿의 해당 섹션에 보이는 무엇을 : 나는 그것이 IP 주소 자체를 사용하여 작업 얻을 관리했습니다

"backendAddressPools": [ 
      { 
      "name": "PublishPool", 
      "properties": { 
       "backendIPConfigurations": [ 
       { 
        "id": "[resourceId('Microsoft.Network/networkInterfaces/ipConfigurations', parameters('networkInterfaceName'), parameters('ipConfigurationName'))]" 
       } 
       ],    
      } 
      } 
     ] 

(당신이 경로를 이동하는 경우 JSON은 약간 다른 모양) IP 주소가 변경되면 문제가 발생할 수 있습니다. 차라리 네트워크 인터페이스 자체에 대한 참조를 사용하고 싶습니다.

답변

0

Microsoft.Network/networkInterfaces/ipConfigurations ', 매개 변수 ('networkInterfaceName '), 매개 변수 ('ipConfigurationName '))

이 같이 사용하는 경우, 하늘빛이 당신의 NIC를 찾을 수 없습니다. Azure Resource Explorer을 확인할 수 있습니다. 당신은 아래와 같이 백업 풀 구성을 찾을 수 :

"backendIPConfigurations": [ 
       { 
        "id": "/subscriptions/****/resourceGroups/shuitest/providers/Microsoft.Network/networkInterfaces/shui1482/ipConfigurations/ipconfig1" 
       } 
       ], 

을 그래서, 당신은 아래로 JSON을 수정해야합니다 :

properties": { 
       "backendIPConfigurations": [ 
       { 
        "id": "[resourceId('Microsoft.Network/networkInterfaces', parameters('networkInterfaceName'), 'ipConfigurations',parameters('ipConfigurationName'))]" 
       } 
       ],   
+0

나는 노력 어제 (그리고 나는를 만든 경우를 대비 오늘 아침에 다시 시도 실수로 어제) ARM 템플릿을 배포 할 때 ''템플릿 언어 함수 'resourceId'를 평가할 수 없습니다. 'Microsoft.Network/networkInterfaces'유형에 '1'리소스 이름 인수가 필요합니다. ''동의합니다. 당신이 가지고있는 방식이 더 직관적이지만, 전체 문자열을 한 줄로 표현한 다음 N 개의 인수를 제공하고 N은 의존적이라고 생각합니다. 어떤 유형의 자원을 설명하고 있습니까? –

+0

가능하면 템플릿을 공유 할 수 있습니까? 제 실험실에서 시험하고 결과를 알려 드리고 싶습니다. 또한 민감한 정보는 삭제하십시오. –

+0

파일을 일반화했습니다. 희망을 갖고 그렇게하면서, 나는 어떤 실수도하지 않았다. 이 템플리트에서는 가상 네트워크와 서브넷은 물론 백엔드 풀에 대해 구성된 자원을 가정합니다. https://pastebin.com/rshL4Gi9. 감사. –