Ссылка на существующую виртуальную сеть в шаблоне масштабируемого набора Azure

В этой статье показано, как изменить шаблон базового масштабируемого набора для развертывания в существующей виртуальной сети вместо создания новой.

Предварительные требования

В предыдущей статье мы создали шаблон базового масштабируемого набора. Вам потребуется шаблон, созданный ранее, чтобы вы могли изменить его и создать шаблон для развертывания масштабируемого набора в существующей виртуальной сети.

Определение подсети

Сначала добавьте параметр subnetId. Эта строка будет передана в конфигурацию масштабируемого набора, благодаря чему он сможет идентифицировать предварительно созданную подсеть для развертывания виртуальных машин. Эта строка должна иметь следующий формат:

/subscriptions/<subscription-id>resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<virtual-network-name>/subnets/<subnet-name>

Например, чтобы развернуть масштабируемый набор в существующей виртуальной сети с именем myvnet, подсети mysubnet, группе ресурсов myrg и подписке 00000000-0000-0000-0000-000000000000, идентификатор подсети должен быть таким:

/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myrg/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet.

      },
      "adminPassword": {
        "type": "securestring"
+    },
+    "subnetId": {
+      "type": "string"
      }
    },

Удаление дополнительного ресурса виртуальной сети

Затем удалите ресурс виртуальной сети из массива resources, потому что используется существующая виртуальная сеть и не требуется развертывать новую.

    "variables": {},
    "resources": [
-    {
-      "type": "Microsoft.Network/virtualNetworks",
-      "name": "myVnet",
-      "location": "[resourceGroup().location]",
-      "apiVersion": "2018-11-01",
-      "properties": {
-        "addressSpace": {
-          "addressPrefixes": [
-            "10.0.0.0/16"
-          ]
-        },
-        "subnets": [
-          {
-            "name": "mySubnet",
-            "properties": {
-              "addressPrefix": "10.0.0.0/16"
-            }
-          }
-        ]
-      }
-    },

Удаление предложения зависимости

Виртуальная сеть уже существовала до развертывания шаблона, поэтому нет необходимости указывать предложение dependsOn из масштабируемого набора для виртуальной сети. Удалите следующие строки:

      {
        "type": "Microsoft.Compute/virtualMachineScaleSets",
        "name": "myScaleSet",
        "location": "[resourceGroup().location]",
        "apiVersion": "2019-03-01",
-      "dependsOn": [
-        "Microsoft.Network/virtualNetworks/myVnet"
-      ],
        "sku": {
          "name": "Standard_A1",
          "capacity": 2

Передача параметра подсети

Наконец, передайте параметр subnetId, заданный пользователем (вместо использования resourceId для получения идентификатора виртуальной сети в том же развертывании, что происходит, если используется шаблон минимального базового масштабируемого набора).

                        "name": "myIpConfig",
                        "properties": {
                          "subnet": {
-                          "id": "[concat(resourceId('Microsoft.Network/virtualNetworks', 'myVnet'), '/subnets/mySubnet')]"
+                          "id": "[parameters('subnetId')]"
                          }
                        }
                      }

Дальнейшие действия

Предыдущий шаблон можно развернуть, следуя указаниям, описанным в документации по Azure Resource Manager.

Начать работу с этой серией руководств можно со статьи о шаблоне базового масштабируемого набора.

Вы узнаете, как изменить шаблон базового масштабируемого набора, чтобы развернуть масштабируемый набор в существующей виртуальной сети.

Вы узнаете, как изменить шаблон базового масштабируемого набора, чтобы развернуть масштабируемый набор с помощью настраиваемого образа.

Вы узнаете, как изменить шаблон базового масштабируемого набора, чтобы развернуть масштабируемый набор Linux с использованием автосохранения на основе гостя.

Дополнительные сведения о масштабируемых наборах см. на этой странице.