如何将Azure虚拟机规模集部署到现有虚拟网络?

时间:2016-05-12 14:41:55

标签: azure azure-powershell azure-resource-manager azure-virtual-network azure-vm-scale-set

我已在同一VLAN中成功部署了带有AD服务器的VMSS。但是,当我尝试部署第二个VMSS时,它会创建一个新的虚拟网络,使其远离现有的AD。

如何将第二个VMSS部署到与第一个和AD相同的虚拟网络中?如果我编辑模板以具有与现有模板相同的虚拟网络,然后部署它,部署是否将进入现有虚拟网络,还是会尝试创建具有相同名称的新模板并将其复制或复制?

或者,有没有办法将VMSS中的NIC迁移到另一个网络?我找不到cmdlet来执行此操作,并且在Web界面中,它仅显示在下拉列表中部署时创建的虚拟网络,而不是原始虚拟网络。

1 个答案:

答案 0 :(得分:1)

如果您第二次部署具有相同vnet配置的模板,它将基本上无操作。如果您在现有工作上略微更改配置,它将尝试更新该配置。

基本上你想要做的就是创作模板,使其通过网卡引用现有网络,而不是定义网络本身。您的声明是网络"存在"所以你不需要定义它只引用它。这是JSON的片段:

      "networkProfile": {
        "networkInterfaceConfigurations": [
          {
            "name": "vmss-nic",
            "properties": {
              "primary": true,
              "ipConfigurations": [
                {
                  "name": "vmss-ipconfig",
                  "properties": {
                    "subnet": {
                      "id": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'), '/subnets/', variables('subnetName'))]"
                    }

" id" property是要放置VMSS的vnet子网的resourceId。如果vnet与VMSS位于同一资源组中,则可以将该表达式缩短为:

Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'), '/subnets/', variables('subnetName')

但完全限定的ID可以在所有情况下使用。

re:移动VMSS,您可以随时尝试部署如上配置的模板。同一个RG中的VMSS名称相同,但网络配置文件不同。

HTH