Azure ARM模板 - 将NSG和子网设置为单个输入参数



在创建基于一组问题的VM上建立的Azure模板的过程中。截至目前,我有两个与网络端相关的参数字段,一个是子网名称(现有子网),另一个是NSG名称(再次存在)。

在此模板中,我不想创建新的子网或NSG,以及我们拥有环境设置的方式,这是我们网络的扩展,因此每个子网都与特定的NSG绑定,因为它们具有特定的目的;例如,应用程序子网/NSG,SQL子网/NSG,Web子网/NSG等。在其中定义了规则。

我的问题是,而不是让人们选择每个子网和一个NSG(他们可以从技术上选择两个单独选择,并且规则不会对准=无连接),我想在参数中提示他们说"目的"服务器(应用程序,SQL,Web,DMZ等),并根据其答案自动设置NSG和子网也需要添加新的VM。

想法?

好吧,如果应用程序 sql dmz和subnet nsg之间的链接是固定的,并且可以轻松地执行。Créate变量并计算值:

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

您可以使用对象进行映射:

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

NSG

也是如此

最新更新