Partilhar via


Fazer referência a uma rede virtual existente em um modelo de conjunto de escala do Azure

Este artigo mostra como modificar o modelo de conjunto de escala básica para implantar em uma rede virtual existente em vez de criar uma nova.

Pré-requisitos

Em um artigo anterior, criamos um modelo de conjunto de escala básica. Você precisará desse modelo anterior para poder modificá-lo para criar um modelo que implante um conjunto de escala em uma rede virtual existente.

Identificar sub-rede

Primeiro, adicione um subnetId parâmetro. Essa cadeia de caracteres é passada para a configuração do conjunto de escalas, permitindo que o conjunto de escala identifique a sub-rede pré-criada na qual implantar máquinas virtuais. Esta cadeia de caracteres deve ter a seguinte forma:

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

Por exemplo, para implantar o conjunto de escala em uma rede virtual existente com nome myvnet, sub-rede mysubnet, grupo myrgde recursos e assinatura 00000000-0000-0000-0000-000000000000, o subnetId seria:

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

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

Excluir recurso de rede virtual extra

Em seguida, exclua o recurso de rede virtual da resources matriz, pois você usa uma rede virtual existente e não precisa implantar uma nova.

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

Remover cláusula de dependência

A rede virtual já existe antes do modelo ser implantado, portanto, não há necessidade de especificar uma dependsOn cláusula do conjunto de escala para a rede virtual. Elimine as seguintes linhas:

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

Parâmetro Pass subnet

Finalmente, passe o subnetId parâmetro definido pelo usuário (em vez de usar resourceId para obter o ID de uma vnet na mesma implantação, que é o que o modelo de conjunto de escala viável básico faz).

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

Próximos passos

Pode seguir a documentação do Azure Resource Manager para implementar o modelo anterior.

Você pode iniciar esta série de tutoriais a partir do artigo de modelo de conjunto de escala básica.

Você pode ver como modificar o modelo de conjunto de escala básica para implantar o conjunto de escala em uma rede virtual existente.

Você pode ver como modificar o modelo de conjunto de escala básico para implantar o conjunto de escala com uma imagem personalizada.

Você pode ver como modificar o modelo de conjunto de escala básica para implantar um conjunto de escala Linux com dimensionamento automático baseado em convidado.

Para obter mais informações sobre conjuntos de escalas, consulte a página de visão geral do conjunto de escalas.