Odwołanie do istniejącej sieci wirtualnej w szablonie zestawu skalowania platformy Azure

W tym artykule przedstawiono sposób modyfikowania szablonu podstawowego zestawu skalowania w celu wdrożenia w istniejącej sieci wirtualnej zamiast tworzenia nowego.

Wymagania wstępne

W poprzednim artykule utworzyliśmy podstawowy szablon zestawu skalowania. Ten wcześniejszy szablon będzie potrzebny, aby można było zmodyfikować go w celu utworzenia szablonu, który wdraża zestaw skalowania w istniejącej sieci wirtualnej.

Identyfikowanie podsieci

Najpierw dodaj subnetId parametr. Ten ciąg jest przekazywany do konfiguracji zestawu skalowania, umożliwiając zestawowi skalowania zidentyfikowanie wstępnie utworzonej podsieci w celu wdrożenia maszyn wirtualnych. Ten ciąg musi mieć postać:

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

Na przykład aby wdrożyć zestaw skalowania w istniejącej sieci wirtualnej o nazwie myvnet, podsieci mysubnet, grupie myrgzasobów i subskrypcji 00000000-0000-0000-0000-000000000000, identyfikator podsieci będzie:

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

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

Usuwanie dodatkowego zasobu sieci wirtualnej

Następnie usuń zasób sieci wirtualnej z resources tablicy, ponieważ używasz istniejącej sieci wirtualnej i nie musisz wdrażać nowego.

    "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"
-            }
-          }
-        ]
-      }
-    },

Usuń klauzulę zależności

Sieć wirtualna już istnieje przed wdrożeniem szablonu, więc nie ma potrzeby określania dependsOn klauzuli z zestawu skalowania do sieci wirtualnej. Usuń następujące wiersze:

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

Przekazywanie parametru podsieci

Na koniec przekaż subnetId parametr ustawiony przez użytkownika (zamiast używać resourceId go do pobrania identyfikatora sieci wirtualnej w tym samym wdrożeniu, co jest to, co robi szablon podstawowego zestawu skalowania).

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

Następne kroki

Poprzedni szablon można wdrożyć, wykonując instrukcje opisane w dokumentacji usługi Azure Resource Manager.

Tę serię samouczków można uruchomić z artykułu szablonu podstawowego zestawu skalowania.

Zobaczysz, jak zmodyfikować szablon podstawowego zestawu skalowania w celu wdrożenia zestawu skalowania w istniejącej sieci wirtualnej.

Zobaczysz, jak zmodyfikować szablon podstawowego zestawu skalowania w celu wdrożenia zestawu skalowania przy użyciu obrazu niestandardowego.

Możesz zobaczyć, jak zmodyfikować podstawowy szablon zestawu skalowania w celu wdrożenia zestawu skalowania systemu Linux przy użyciu automatycznego skalowania opartego na gościu.

Aby uzyskać więcej informacji na temat zestawów skalowania, zobacz stronę przeglądu zestawu skalowania.