Condividi tramite


Fare riferimento a una rete virtuale esistente in un modello di set di scalabilità di Azure

Questo articolo illustra come modificare il modello di set di scalabilità di base da distribuire in una rete virtuale esistente anziché crearne uno nuovo.

Prerequisiti

In un articolo precedente è stato creato un modello di set di scalabilità di base. È necessario tale modello precedente in modo che sia possibile modificarlo per creare un modello che distribuisce un set di scalabilità in una rete virtuale esistente.

Identificare la subnet

Prima di tutto aggiungere un parametro subnetId. Questa stringa viene passata nella configurazione del set di scalabilità e permette al set di scalabilità di identificare la subnet creata in precedenza in cui distribuire le macchine virtuali. Questa stringa deve essere del modulo:

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

Ad esempio, per distribuire il set di scalabilità in una rete virtuale esistente con nome myvnet, subnet mysubnet, gruppo myrgdi risorse e sottoscrizione 00000000-0000-0000-0000-000000000000, il subnetId sarà:

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

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

Eliminare una risorsa di rete virtuale aggiuntiva

Dal momento che si usa una rete virtuale esistente e non è necessario distribuirne una nuova, eliminare successivamente la risorsa rete virtuale dalla matrice 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"
-            }
-          }
-        ]
-      }
-    },

Rimuovere la clausola di dipendenza

La rete virtuale esiste già prima della distribuzione del modello, pertanto non è necessario specificare una dependsOn clausola dal set di scalabilità alla rete virtuale. Individuare le righe seguenti:

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

Passare il parametro della subnet

Infine, passare il subnetId parametro impostato dall'utente (anziché usare resourceId per ottenere l'ID di una rete virtuale nella stessa distribuzione, ovvero ciò che fa il modello di set di scalabilità praticabile di base).

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

Passaggi successivi

È possibile distribuire il modello precedente seguendo quanto indicato nella documentazione di Azure Resource Manager.

Questa serie di esercitazioni può essere avviata dall'articolo sul modello di set di scalabilità di base.

È possibile vedere come modificare il modello di set di scalabilità di base per distribuire il set di scalabilità in una rete virtuale esistente.

È possibile vedere come modificare il modello di set di scalabilità di base per distribuire il set di scalabilità con un'immagine personalizzata.

È possibile vedere come modificare il modello di set di scalabilità di base per distribuire un set di scalabilità Linux con scalabilità automatica basata su guest.

Per altre informazioni al riguardo, vedere la panoramica sui set di scalabilità.