Rede para Conjuntos de Dimensionamento de Máquinas Virtuais

Quando você implanta um Conjunto de Dimensionamento de Máquinas Virtuais do Microsoft Azure pelo portal, determinadas propriedades de rede são padronizadas, por exemplo um Azure Load Balancer com regras NAT de entrada. Este artigo descreve como usar alguns dos recursos mais avançados de rede que podem ser configurados com conjuntos de dimensionamento.

Todos os recursos discutidos neste artigo podem ser configurados usando modelos do ARM (Azure Resource Manager). Exemplos da CLI do Azure e PowerShell também estão incluídos para os recursos selecionados.

Rede Acelerada

A Rede Acelerada do Azure melhora o desempenho de rede habilitando a SR-IOV (virtualização de E/S de raiz única) para uma máquina virtual. Para saber mais sobre o uso de Rede Acelerada, consulte Rede acelerada para máquinas virtuais do Windows ou do Linux. Para usar a rede acelerado com conjuntos de dimensionamento, defina enableAcceleratedNetworking como true nas configurações de networkInterfaceConfigurations do conjunto de dimensionamento. Por exemplo:

"networkProfile": {
    "networkInterfaceConfigurations": [
    {
      "name": "niconfig1",
      "properties": {
        "primary": true,
        "enableAcceleratedNetworking" : true,
        "ipConfigurations": [
          ...
        ]
      }
    }
   ]
}

Conjuntos de Dimensionamento de Máquinas Virtuais do Microsoft Azure com o Azure Load Balancer

Confira Azure Load Balancer e Conjuntos de Dimensionamento de Máquinas Virtuais para saber mais sobre como configurar seu Standard Load Balancer com os Conjuntos de Dimensionamento de Máquinas Virtuais com base em seu cenário.

Adicionar um conjunto de dimensionamento de máquinas virtuais a um Gateway de Aplicativo

Para adicionar um conjunto de dimensionamento ao pool de back-end de um Gateway de Aplicativo, faça referência ao pool de back-end de Gateway de Aplicativo no perfil de rede do conjunto de dimensionamento. Isso pode ser feito ao criar o conjunto de dimensionamento (confira o modelo do ARM abaixo) ou em um conjunto de dimensionamento existente.

Adicionar Conjuntos de Dimensionamento de Máquinas Virtuais de orquestração uniforme a um Gateway de Aplicativo

Ao adicionar o Conjuntos de Dimensionamento de Máquinas Virtuais uniformes ao pool de back-end de um Gateway de Aplicativo, o processo será diferente para conjuntos de dimensionamento novos ou existentes:

  • Para novos conjuntos de dimensionamento, faça referência à ID do pool de back-end do Gateway de Aplicativo no perfil de rede do modelo de conjunto de dimensionamento, em uma ou mais configurações de IP do adaptador de rede. Quando implantado, as instâncias adicionadas ao conjunto de dimensionamento serão colocadas no pool de back-end do Gateway de Aplicativo.
  • Para conjuntos de dimensionamento existentes, primeiro adicione a ID do pool de back-end do Gateway de Aplicativo no perfil de rede do modelo de conjunto de dimensionamento e aplique o modelo às instâncias existentes por meio de uma atualização. Se a política de atualização do conjunto de dimensionamento for Automatic ou Rolling, as instâncias serão atualizadas para você. Se for Manual, você precisará atualizar as instâncias manualmente.
  1. Crie um pool de Gateway de Aplicativo e back-end na mesma região que o conjunto de dimensionamento, se você ainda não tiver um
  2. Navegue até o Conjunto de Dimensionamento de Máquinas Virtuais no Portal
  3. Em Configurações, abra o painel Rede
  4. No painel Rede, selecione a guia Balanceamento de carga e clique em Adicionar balanceamento de carga
  5. Selecione Gateway de Aplicativo na lista suspensa Opções de Balanceamento de Carga e escolha um Gateway de Aplicativo existente
  6. Selecione o pool de back-end de destino e clique em Salvar
  7. Se a Política de Atualização do conjunto de dimensionamento for "Manual", navegue até o painel Configurações>Instâncias para selecionar e atualizar cada uma das suas instâncias

Adicionar Conjuntos de Dimensionamento de Máquinas Virtuais de orquestração flexível a um Gateway de Aplicativo

Ao adicionar um conjunto de dimensionamento flexível a um Gateway de Aplicativo, o processo é o mesmo que adicionar VMs autônomas ao pool de back-end de um Gateway de Aplicativo – você atualiza a configuração de IP da interface de rede da máquina virtual para fazer parte do pool de back-end. Isso pode ser feito por meio da configuração do Gateway de Aplicativo ou configurando o adaptador de rede da máquina virtual.

Observação

Observe que o gateway de aplicativo deve estar na mesma rede virtual do conjunto de dimensionamento, mas deve estar em uma sub-rede diferente do conjunto de dimensionamento.

Configurações DNS configuráveis

Por padrão, os conjuntos de dimensionamento assumem as configurações DNS específicas da VNET e da sub-rede na qual eles foram criados. No entanto, você pode definir diretamente as configurações DNS de um conjunto de dimensionamento.

Como criar um conjunto de dimensionamento com servidores DNS configuráveis

Para criar um conjunto de dimensionamento com uma configuração DNS personalizada usando a CLI do Azure, adicione a -- dns-servers argumento para o vmss criar separados de comando, seguido por um espaço de endereços ip do servidor. Por exemplo:

--dns-servers 10.0.0.6 10.0.0.5

Para configurar servidores DNS personalizados em um modelo do Azure, adicione uma propriedade dnsSettings à seção de networkInterfaceConfigurations do conjunto de dimensionamento. Por exemplo:

"dnsSettings":{
    "dnsServers":["10.0.0.6", "10.0.0.5"]
}

Como criar um conjunto de dimensionamento com nomes de domínio configuráveis de máquina de virtual

Para criar uma escala configurada com um nome DNS personalizado para máquinas virtuais usando a CLI, adicione o argumento --vm-domain-name ao comando Virtual Machine Scale Set create, seguido por uma cadeia de caracteres representando o nome do domínio.

Para configurar o nome de domínio em um modelo do Azure, adicione uma propriedade dnsSettings à seção networkInterfaceConfigurations do conjunto de dimensionamento. Por exemplo:

"networkProfile": {
  "networkInterfaceConfigurations": [
    {
    "name": "nic1",
    "properties": {
      "primary": true,
      "ipConfigurations": [
      {
        "name": "ip1",
        "properties": {
          "subnet": {
            "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('vnetName'), '/subnets/subnet1')]"
          },
          "publicIPAddressconfiguration": {
            "name": "publicip",
            "properties": {
            "idleTimeoutInMinutes": 10,
              "dnsSettings": {
                "domainNameLabel": "[parameters('vmssDnsName')]"
              }
            }
          }
        }
      }
    ]
    }
}

A saída, para um nome de dns de máquina virtual individual teria no seguinte formato:

<vm><vmindex>.<specifiedVmssDomainNameLabel>

IPv4 público por máquina virtual

Em geral, as máquinas de virtuais do conjunto de dimensionamento do Azure não exigem seus próprios endereços IP públicos. Na maioria dos cenários, é mais econômico e seguro associar um endereço IP público a um balanceador de carga ou a uma máquina virtual individual (também conhecida como um jumpbox), que encaminha as conexões de entrada para as máquinas virtuais do conjunto de dimensionamento, conforme necessário (por exemplo, por meio de regras NAT de entrada).

No entanto, alguns cenários exigem que as máquinas de virtuais do conjunto de dimensionamento do Azure tenham seus próprios endereços IP públicos. Um exemplo é o jogo, onde um console precisa fazer uma conexão direta com uma máquina virtual da nuvem, que está fazendo o processamento da física do jogo. Outro exemplo é onde as máquinas virtuais precisam fazer conexões externas umas com as outras em regiões em um banco de dados distribuído.

Como criar um conjunto de dimensionamento com IP público por máquina de virtual

Para criar um conjunto de dimensionamento que atribui um endereço IP público para cada máquina virtual com a CLI 2.0, adicione o parâmetro --public-ip-per-vm ao comando vmss create.

Para criar um conjunto de dimensionamento usando um modelo do Azure, verifique se a versão da API do recurso Microsoft.Compute/virtualMachineScaleSets seja, pelo menos, 2017-03-30 e adicione uma propriedade JSON publicIpAddressConfiguration à seção ipConfigurations do conjunto de dimensionamento. Por exemplo:

"publicIpAddressConfiguration": {
    "name": "pub1",
    "sku": {
      "name": "Standard"
    },
    "properties": {
      "idleTimeoutInMinutes": 15
    }
}

Observe que, quando os Conjuntos de Dimensionamento de Máquinas Virtuais com IPs públicos por instância são criados com um balanceador de carga na frente, a SKU dos IPs de instância é determinado pelo SKU do Load Balancer (ou seja, Básico ou Standard). Se o Conjunto de Dimensionamento de Máquinas Virtuais for criado sem um balanceador de carga, a SKU dos IPs da instância poderá ser definida diretamente usando a seção de SKU do modelo, conforme mostrado acima.

Modelo de exemplo que usa um balanceador de carga Básico: vmss-public-ip-linux

Como alternativa, um prefixo de IP público (um bloco contíguo de IPs públicos de SKU Standard) pode ser usado para gerar IPs de nível de instância em um Conjunto de Dimensionamento de Máquinas Virtuais. As propriedades zonais do prefixo serão transmitidas para os IPs de instância, embora não sejam mostradas na saída.

Modelo de exemplo usando um prefixo de IP público: vmms-with-public-ip-prefix

Como consultar os endereços IP públicos das máquinas virtuais em um conjunto de dimensionamento

Para listar os endereços IP públicos atribuídos às máquinas virtuais do conjunto de escalas usando a CLI, use o comando az vmss list-instance-public-ips.

Para listar os endereços IP públicos do conjunto de dimensionamento usando o PowerShell, use o comando Get-AzPublicIpAddress. Por exemplo:

Get-AzPublicIpAddress -ResourceGroupName myrg -VirtualMachineScaleSetName myvmss

Você também pode consultar diretamente os endereços IP públicos referenciando a ID de recurso da configuração de endereço IP público. Por exemplo:

Get-AzPublicIpAddress -ResourceGroupName myrg -Name myvmsspip

Você também pode exibir os endereços IP públicos atribuídos às máquinas virtuais do conjunto de dimensionamento consultando o Azure Resource Explorer ou a API REST do Azure com a versão 2017-03-30 ou superior.

Para consultar o Azure Resource Explorer:

  1. Abra o Azure Resource Explorer em um navegador da Web.
  2. Expanda assinaturas no lado esquerdo clicando em + ao lado dele. Se você tiver apenas um item em assinaturas, ele já poderá ser expandido.
  3. Expanda a assinatura.
  4. Expanda seu grupo de recursos.
  5. Expanda provedores.
  6. Expanda Microsoft.Compute.
  7. Expanda virtualMachineScaleSets.
  8. Expanda o conjunto de dimensionamento.
  9. Clique em publicipaddresses.

Para consultar a API REST do Azure:

GET https://management.azure.com/subscriptions/{your sub ID}/resourceGroups/{RG name}/providers/Microsoft.Compute/virtualMachineScaleSets/{scale set name}/publicipaddresses?api-version=2017-03-30

Exemplo de saída do Azure Resource Explorer e API REST do Azure:

{
  "value": [
    {
      "name": "pub1",
      "id": "/subscriptions/your-subscription-id/resourceGroups/your-rg/providers/Microsoft.Compute/virtualMachineScaleSets/pipvmss/virtualMachines/0/networkInterfaces/pipvmssnic/ipConfigurations/yourvmssipconfig/publicIPAddresses/pub1",
      "etag": "W/\"a64060d5-4dea-4379-a11d-b23cd49a3c8d\"",
      "properties": {
        "provisioningState": "Succeeded",
        "resourceGuid": "ee8cb20f-af8e-4cd6-892f-441ae2bf701f",
        "ipAddress": "13.84.190.11",
        "publicIPAddressVersion": "IPv4",
        "publicIPAllocationMethod": "Dynamic",
        "idleTimeoutInMinutes": 15,
        "ipConfiguration": {
          "id": "/subscriptions/your-subscription-id/resourceGroups/your-rg/providers/Microsoft.Compute/virtualMachineScaleSets/yourvmss/virtualMachines/0/networkInterfaces/yourvmssnic/ipConfigurations/yourvmssipconfig"
        }
      }
    },
    {
      "name": "pub1",
      "id": "/subscriptions/your-subscription-id/resourceGroups/your-rg/providers/Microsoft.Compute/virtualMachineScaleSets/yourvmss/virtualMachines/3/networkInterfaces/yourvmssnic/ipConfigurations/yourvmssipconfig/publicIPAddresses/pub1",
      "etag": "W/\"5f6ff30c-a24c-4818-883c-61ebd5f9eee8\"",
      "properties": {
        "provisioningState": "Succeeded",
        "resourceGuid": "036ce266-403f-41bd-8578-d446d7397c2f",
        "ipAddress": "13.84.159.176",
        "publicIPAddressVersion": "IPv4",
        "publicIPAllocationMethod": "Dynamic",
        "idleTimeoutInMinutes": 15,
        "ipConfiguration": {
          "id": "/subscriptions/your-subscription-id/resourceGroups/your-rg/providers/Microsoft.Compute/virtualMachineScaleSets/yourvmss/virtualMachines/3/networkInterfaces/yourvmssnic/ipConfigurations/yourvmssipconfig"
        }
      }
    }

Vários endereços IP por NIC

Todas as NICs anexadas a uma VM em um conjunto de dimensionamento têm uma ou mais configurações IP associadas a elas. Cada configuração é atribuída a um endereço IP privado. Cada configuração também pode ter um recurso de endereço IP público associado a ela. Para entender quantos endereços IP podem ser atribuídos a uma NIC e quantos endereços IP públicos você pode usar em uma assinatura do Azure, confira Limites do Azure.

Várias NICs por máquina virtual

Você pode ter até 8 NICs por máquina virtual, dependendo do tamanho da máquina. O número máximo de NICs por máquina está disponível no artigo Tamanho de VM. Todas as NICs conectadas a uma instância de VM devem se conectar à mesma rede virtual. As NICs podem se conectar a diferentes sub-redes, mas todas as sub-redes devem fazer parte da mesma rede virtual.

O exemplo a seguir é um perfil de rede do conjunto de dimensionamento mostrando várias entradas NIC e vários IPs públicos por máquina virtual:

"networkProfile": {
    "networkInterfaceConfigurations": [
        {
        "name": "nic1",
        "properties": {
            "primary": true,
            "ipConfigurations": [
            {
                "name": "ip1",
                "properties": {
                "subnet": {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('vnetName'), '/subnets/subnet1')]"
                },
                "publicipaddressconfiguration": {
                    "name": "pub1",
                    "properties": {
                    "idleTimeoutInMinutes": 15
                    }
                },
                "loadBalancerInboundNatPools": [
                    {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/inboundNatPools/natPool1')]"
                    }
                ],
                "loadBalancerBackendAddressPools": [
                    {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/backendAddressPools/addressPool1')]"
                    }
                ]
                }
            }
            ]
        }
        },
        {
        "name": "nic2",
        "properties": {
            "primary": false,
            "ipConfigurations": [
            {
                "name": "ip1",
                "properties": {
                "subnet": {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('vnetName'), '/subnets/subnet1')]"
                },
                "publicipaddressconfiguration": {
                    "name": "pub1",
                    "properties": {
                    "idleTimeoutInMinutes": 15
                    }
                },
                "loadBalancerInboundNatPools": [
                    {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/inboundNatPools/natPool1')]"
                    }
                ],
                "loadBalancerBackendAddressPools": [
                    {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/backendAddressPools/addressPool1')]"
                    }
                ]
                }
            }
            ]
        }
        }
    ]
}

NSG e Grupos de Segurança do Aplicativo por conjunto de dimensionamento

Grupos de Segurança de Rede permitem filtrar o tráfego de e para recursos do Azure em uma rede virtual do Azure usando regras de segurança. Grupos de Segurança de Aplicativo permitem lidar com a segurança de rede de recursos do Azure e agrupá-los como uma extensão da estrutura de seu aplicativo.

Os Grupos de Segurança de Rede podem ser aplicados diretamente a um conjunto de dimensionamento referenciando-os na seção de configuração da interface de rede das propriedades de máquina virtual do conjunto de dimensionamento.

Grupos de Segurança do Aplicativo também podem ser especificados diretamente a um conjunto de dimensionamento referenciando-os na seção de configurações de IP do adaptador de rede das propriedades de máquina virtual do conjunto de dimensionamento.

Por exemplo:

"networkProfile": {
    "networkInterfaceConfigurations": [
        {
            "name": "nic1",
            "properties": {
                "primary": true,
                "ipConfigurations": [
                    {
                        "name": "ip1",
                        "properties": {
                            "subnet": {
                                "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('vnetName'), '/subnets/subnet1')]"
                            },
                            "applicationSecurityGroups": [
                                {
                                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/applicationSecurityGroups/', variables('asgName'))]"
                                }
                            ],
                "loadBalancerInboundNatPools": [
                                {
                                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/inboundNatPools/natPool1')]"
                                }
                            ],
                            "loadBalancerBackendAddressPools": [
                                {
                                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/backendAddressPools/addressPool1')]"
                                }
                            ]
                        }
                    }
                ],
                "networkSecurityGroup": {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/networkSecurityGroups/', variables('nsgName'))]"
                }
            }
        }
    ]
}

Para verificar se o Grupo de Segurança de Rede está associado ao conjunto de dimensionamento, use o comando az vmss show. O exemplo abaixo usa --query para filtrar os resultados e mostrar apenas a seção relevante da saída.

az vmss show \
    -g myResourceGroup \
    -n myScaleSet \
    --query virtualMachineProfile.networkProfile.networkInterfaceConfigurations[].networkSecurityGroup

[
  {
    "id": "/subscriptions/.../resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/nsgName",
    "resourceGroup": "myResourceGroup"
  }
]

Para verificar se o Grupo de Segurança de Aplicativo está associado ao conjunto de dimensionamento, use o comando az vmss show. O exemplo abaixo usa --query para filtrar os resultados e mostrar apenas a seção relevante da saída.

az vmss show \
    -g myResourceGroup \
    -n myScaleSet \
    --query virtualMachineProfile.networkProfile.networkInterfaceConfigurations[].ipConfigurations[].applicationSecurityGroups

[
  [
    {
      "id": "/subscriptions/.../resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationSecurityGroups/asgName",
      "resourceGroup": "myResourceGroup"
    }
  ]
]

Fazer atualizações de rede para instâncias específicas

Você pode fazer atualizações de rede para instâncias específicas do Conjunto de Dimensionamento de Máquinas Virtuais.

Você pode PUT na instância para atualizar a configuração de rede. Isso pode ser usado para fazer coisas como adicionar ou remover NICs (placas de adaptador de rede) ou remover uma instância de um pool de back-end.

PUT https://management.azure.com/subscriptions/.../resourceGroups/vmssnic/providers/Microsoft.Compute/virtualMachineScaleSets/vmssnic/virtualMachines/1/?api-version=2019-07-01

O exemplo a seguir mostra como adicionar uma segunda configuração de IP à sua NIC.

  1. GET os detalhes de uma instância específica do Conjunto de Dimensionamento de Máquinas Virtuais.

    GET https://management.azure.com/subscriptions/.../resourceGroups/vmssnic/providers/Microsoft.Compute/virtualMachineScaleSets/vmssnic/virtualMachines/1/?api-version=2019-07-01
    

    A representação a seguir foi simplificada para mostrar apenas os parâmetros de rede deste exemplo.

    {
      ...
      "properties": {
        ...
        "networkProfileConfiguration": {
          "networkInterfaceConfigurations": [
            {
              "name": "vmssnic-vnet-nic01",
              "properties": {
                "primary": true,
                "enableAcceleratedNetworking": false,
                "networkSecurityGroup": {
                  "id": "/subscriptions/123a1a12-a123-1ab1-12a1-12a1a1234ab1/resourceGroups/vmssnic/providers/Microsoft.Network/networkSecurityGroups/basicNsgvmssnic-vnet-nic01"
                },
                "dnsSettings": {
                  "dnsServers": []
                },
                "enableIPForwarding": false,
                "ipConfigurations": [
                  {
                    "name": "vmssnic-vnet-nic01-defaultIpConfiguration",
                    "properties": {
                      "publicIPAddressConfiguration": {
                        "name": "publicIp-vmssnic-vnet-nic01",
                        "properties": {
                          "idleTimeoutInMinutes": 15,
                          "ipTags": [],
                          "publicIPAddressVersion": "IPv4"
                        }
                      },
                      "primary": true,
                      "subnet": {
                        "id": "/subscriptions/123a1a12-a123-1ab1-12a1-12a1a1234ab1/resourceGroups/vmssnic/providers/Microsoft.Network/virtualNetworks/vmssnic-vnet/subnets/default"
                      },
                      "privateIPAddressVersion": "IPv4"
                    }
                  }
                ]
              }
            }
          ]
        },
        ...
      }
    }
    
  2. PUT na instância, atualizando para adicionar a configuração de IP adicional. Isso é semelhante ao adicionar networkInterfaceConfiguration.

    PUT https://management.azure.com/subscriptions/.../resourceGroups/vmssnic/providers/Microsoft.Compute/virtualMachineScaleSets/vmssnic/virtualMachines/1/?api-version=2019-07-01
    

    A representação a seguir foi simplificada para mostrar apenas os parâmetros de rede deste exemplo.

      {
      ...
      "properties": {
        ...
        "networkProfileConfiguration": {
          "networkInterfaceConfigurations": [
            {
              "name": "vmssnic-vnet-nic01",
              "properties": {
                "primary": true,
                "enableAcceleratedNetworking": false,
                "networkSecurityGroup": {
                  "id": "/subscriptions/123a1a12-a123-1ab1-12a1-12a1a1234ab1/resourceGroups/vmssnic/providers/Microsoft.Network/networkSecurityGroups/basicNsgvmssnic-vnet-nic01"
                },
                "dnsSettings": {
                  "dnsServers": []
                },
                "enableIPForwarding": false,
                "ipConfigurations": [
                  {
                    "name": "vmssnic-vnet-nic01-defaultIpConfiguration",
                    "properties": {
                      "publicIPAddressConfiguration": {
                        "name": "publicIp-vmssnic-vnet-nic01",
                        "properties": {
                          "idleTimeoutInMinutes": 15,
                          "ipTags": [],
                          "publicIPAddressVersion": "IPv4"
                        }
                      },
                      "primary": true,
                      "subnet": {
                        "id": "/subscriptions/123a1a12-a123-1ab1-12a1-12a1a1234ab1/resourceGroups/vmssnic/providers/Microsoft.Network/virtualNetworks/vmssnic-vnet/subnets/default"
                      },
                      "privateIPAddressVersion": "IPv4"
                    }
                  },
                  {
                    "name": "my-second-config",
                    "properties": {
                      "subnet": {
                        "id": "/subscriptions/123a1a12-a123-1ab1-12a1-12a1a1234ab1/resourceGroups/vmssnic/providers/Microsoft.Network/virtualNetworks/vmssnic-vnet/subnets/default"
                      },
                      "privateIPAddressVersion": "IPv4"
                    }
                  }
                ]
              }
            }
          ]
        },
        ...
      }
    }
    

Conectividade explícita de saída de rede para conjuntos de dimensionamento flexíveis

Para aprimorar a segurança da rede padrão, os Conjuntos de Dimensionamento de Máquinas Virtuais com orquestração flexível exigirão que as instâncias criadas implicitamente por meio do perfil de dimensionamento automático tenham conectividade de saída definida explicitamente por meio de um dos seguintes métodos:

  • Na maioria dos cenários, recomendamos o Gateway de NAT anexado à sub-rede.
  • Em cenários que apresentam altos requisitos de segurança ou ao usar Firewall do Azure ou NVA (Solução de Virtualização de Rede), você pode especificar uma Rota Definida pelo Usuário personalizada como o próximo salto por meio do firewall.
  • As instâncias estão no pool de back-end de um Azure Load Balancer de SKU Standard.
  • Anexe um Endereço IP Público ao adaptador de rede da instância.

Com VMs de instância única e Conjuntos de Dimensionamento de Máquinas Virtuais com orquestração uniforme, a conectividade de saída é fornecida automaticamente.

Cenários comuns que exigem conectividade explícita de saída incluem:

  • A ativação da VM do Windows exigirá que você tenha definido a conectividade de saída da instância da VM para o KMS (Serviço de Gerenciamento de Chaves) de ativação do Windows. Confira Solucionar problemas de ativação de VM do Windows para obter mais informações.
  • Acesso a contas de armazenamento ou Key Vault. Você também pode estabelecer a conectividade com os serviços do Azure por meio do Link Privado.

Confira Acesso de saída padrão no Azure para obter mais detalhes sobre como definir conexões de saída seguras.

Próximas etapas

Para obter mais informações sobre as redes virtuais do Azure, confira Visão geral das redes virtuais do Azure.