通过CLI将Azure Resource Manager模板部署到现有VNET

时间:2016-12-07 20:33:52

标签: azure command-line-interface azure-resource-manager

我在Azure中设置了一个VNET,其中包含许多子网,每个子网都有自己的NSG,用于定义入站和出站规则。

在这些子网中,我想部署具有自动缩放规则的虚拟机缩放集(例如基于https://raw.githubusercontent.com/gbowerman/azure-myriad/master/vmss-ubuntu-scale/azuredeploy.json)和某些扩展(可能从github / docker中拉出一些存储库)。

在我的模板中,如何定义比例集/ VM应分配给现有子网/ NSG等?

1 个答案:

答案 0 :(得分:1)

嗯,这很简单,你只需要指定你引用的资源的ID。

假设您要使用现有子网:

"parameters": {
...
    "existingVirtualNetworkName": {
      "type": "string",
      "metadata": {
        "description": "Name of the existing VNET"
      }
    },
    "existingVirtualNetworkResourceGroup": {
      "type": "string",
      "metadata": {
        "description": "Name of the existing VNET resource group"
      }
    },
    "subnetName": {
      "type": "string",
      "metadata": {
        "description": "Name of the subnet in the virtual network you want to use"
      }
    },
...
  },
  "variables": {
...
    "vnetID": "[resourceId(parameters('existingVirtualNetworkResourceGroup'), 'Microsoft.Network/virtualNetworks', parameters('existingVirtualNetworkName'))]",
    "subnetRef": "[concat(variables('vnetID'),'/subnets/', parameters('subnetName'))]",
...
}
  "resources": [
... 
  {
    "apiVersion": "[variables('api-version')]",
    "type": "Microsoft.Network/networkInterfaces",
    "name": "[variables('nicName')]",
    "location": "[resourceGroup().location]",
    "dependsOn": [
      "[concat('Microsoft.Network/publicIPAddresses/', variables('publicIPAddressName'))]"
    ],
    "tags": {
      "displayName": "NetworkInterface"
    },
    "properties": {
      "ipConfigurations": [{
        "name": "ipconfig1",
        "properties": {
          "privateIPAllocationMethod": "Dynamic",
          "publicIPAddress": {
            "id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressName'))]"
          },
          "subnet": {
            "id": "[variables('subnetRef')]"
          }
        }
      }]
    }
  },

您将对网络安全组使用相同的方法。

请点击此处了解详情:https://github.com/Azure/azure-quickstart-templates/blob/master/201-vm-specialized-vhd-existing-vnet/azuredeploy.json