2017-11-30 20 views
0

일련의 질문에 따라 VM에 빌드되는 Azure 템플릿을 만드는 과정에서 묻습니다. 현재로서는 네트워킹 측면과 관련된 두 개의 매개 변수 필드가 있습니다. 하나는 서브넷 이름 (기존 서브넷)이고 다른 하나는 NSG 이름 (다시 이미 존재 함)입니다.Azure ARM 템플릿 - 단일 입력 매개 변수에 NSG 및 서브넷 설정

이 템플릿에서는 새로운 서브넷 또는 NSG를 만들고 싶지 않습니다. 환경 설정을하는 방식은 네트워크 확장이므로 각 서브넷은 특정 용도로 사용되므로 특정 NSG에 연결됩니다. Application Subnet/NSG, SQL Subnet/NSG, Web Subnet/NSG 등의 규칙을 정의하여 정의합니다.

제 질문은 사람들이 서브넷과 NSG를 각각 선택하는 대신 (기술적으로 두 가지를 선택할 수 있고 규칙이 연결되지 않음 = 연결이 이루어지지 않음) 매개 변수로 입력을 요청하고 싶습니다. 말하자면 "용도"(응용 프로그램, SQL, 웹, DMZ 등)와 그 답변을 기반으로 NSG와 서브넷을 자동으로 설정하여 새 VM도 추가해야합니다.

생각하십니까?

답변

0

글쎄, 응용 프로그램 \ sql \ dmz와 서브넷 \ nsg 사이의 링크가 고정되어 있고 미리 정의 된 경우 쉽게 할 수 있습니다. 응용 프로그램 서버 = 목적 서브넷 = 하위 EUS-앱 :

subnets: { 
    "application": "purposesubnet", 
    "sql": "nopurposesubnet", 
    ... 
}, 
subnet: "[variables('subnets')[parameters('applicationPurpose')]]" 

동일 NSG

+0

예는 간다 :

"subnet": "[concat(parameters('purpose'), ' Subnet')]", "nsg": "[concat(parameters('purpose'), ' Subnet/NSG')]", 

당신은 매핑 개체를 사용할 수 있습니다 값을 변수를 작성하고 계산 NSG = NSG-EUS-App 나는 다음과 같은 if 문과 함께 서버 목적 = (응용 프로그램, 웹, DMZ 등) 변수를 같이 할 필요가 있다고 생각하고있다.''nsgName ': {if NSG-E US-App, [중첩 된 경우]} ' –

+0

내 대답이 업데이트되었습니다 (매개 변수 ('serverPurpose '),'Application ' – 4c74356b41