Odkaz na existující virtuální síť v šabloně škálovací sady Azure

Tento článek ukazuje, jak upravit základní šablonu škálovací sady tak, aby se nasadí do existující virtuální sítě místo vytvoření nové.

Požadavky

V předchozím článku jsme vytvořili základní šablonu škálovací sady. Tuto starší šablonu budete potřebovat, abyste ji mohli upravit a vytvořit šablonu, která nasadí škálovací sadu do existující virtuální sítě.

Identifikace podsítě

Nejprve přidejte subnetId parametr . Tento řetězec se předá do konfigurace škálovací sady, což škálovací sadě umožňuje identifikovat předem vytvořenou podsíť, do které se mají nasadit virtuální počítače. Tento řetězec musí být ve formátu:

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

Pokud například chcete škálovací sadu nasadit do existující virtuální sítě s názvem myvnet, podsítí mysubnet, skupinou myrgprostředků a předplatným 00000000-0000-0000-0000-000000000000, bude podsíť s id podsítě následující:

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

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

Odstranění dalšího prostředku virtuální sítě

Dále odstraňte prostředek virtuální sítě z resources pole, protože používáte existující virtuální síť a nemusíte nasazovat novou.

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

Odebrání klauzule závislostí

Virtuální síť už existuje před nasazením šablony, takže není potřeba zadávat dependsOn klauzuli ze škálovací sady do virtuální sítě. Odstraňte následující řádky:

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

Předání parametru podsítě

Nakonec předejte subnetId parametr nastavený uživatelem (místo použití příkazu resourceId k získání ID virtuální sítě ve stejném nasazení, což je to, co dělá šablona základní životaschopné škálovací sady).

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

Další kroky

Můžete nasadit předchozí šablonu postupem podle dokumentace k Azure Resource Manageru.

Tuto sérii kurzů můžete zahájit z článku o základní šabloně škálovací sady.

Můžete se podívat, jak upravit základní šablonu škálovací sady pro nasazení škálovací sady do existující virtuální sítě.

Můžete se podívat, jak upravit šablonu základní škálovací sady tak, aby se škálovací sada nasadí s vlastní imagí.

Můžete se podívat, jak upravit šablonu základní škálovací sady pro nasazení škálovací sady pro Linux s automatickým škálováním na základě hosta.

Další informace o škálovacích sadách najdete na stránce s přehledem škálovacích sad.