Как я могу развернуть масштабируемый набор виртуальных машин Azure в существующей виртуальной сети?

Я успешно развернул VMSS с сервером AD в той же VLAN. Однако, когда я пытаюсь развернуть вторую VMSS, она создает новую виртуальную сеть, размещая ее подальше от моего существующего AD.

Как мне развернуть вторую VMSS в той же виртуальной сети, что и первая и AD? Если я отредактирую шаблон, чтобы он имел ту же виртуальную сеть, что и существующая, а затем разверну его, будет ли развертывание в существующей виртуальной сети или он попытается создать новую с тем же именем и потерпит неудачу или дублирует ее?

В качестве альтернативы, есть ли способ перенести сетевой адаптер в VMSS в другую сеть? Я не могу найти командлет для этого, и в веб-интерфейсе он показывает только виртуальную сеть, созданную при развертывании, в раскрывающемся списке, а не исходную виртуальную сеть.




Ответы (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 - это идентификатор ресурса подсети для vnet, в которую вы хотите поместить VMSS. Если vnet находится в той же группе ресурсов, что и VMSS, вы можете сократить это выражение до простого:

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

Но полностью квалифицированный идентификатор будет работать во всех сценариях.

re: перемещение VMSS, вы всегда можете попробовать, развернув шаблон, настроенный, как указано выше. То же имя VMSS в той же группе RG, но с другим сетевым профилем.

HTH

person bmoore-msft    schedule 12.05.2016
comment
Спасибо bmoore-msft / HTH! Я использовал ваш фрагмент для создания одного из онлайн-шаблонов и с помощью: mode: Incremental мне удалось создать шаблон, который развернул лот с использованием существующих виртуальных сетей. Я немного приукрасю и опубликую вилку на GitHub. AJ - person user6325983; 13.05.2016