Partilhar via


Implantar um aplicativo de pilha dupla IPv6 na rede virtual do Azure usando a CLI do Azure

Este artigo mostra como implantar um aplicativo de pilha dupla (IPv4 + IPv6) usando o Balanceador de Carga Padrão no Azure que inclui uma rede virtual de pilha dupla com uma sub-rede de pilha dupla, um Balanceador de Carga Padrão com configurações de front-end duplas (IPv4 + IPv6), VMs com NICs que têm uma configuração IP dupla, regras de grupo de segurança de rede dupla e IPs públicos duplos.

Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.

Pré-requisitos

  • Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.

  • Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.

    • Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.

    • Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.

    • Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.

  • Este artigo requer a versão 2.0.49 ou posterior da CLI do Azure. Se estiver usando o Azure Cloud Shell, a versão mais recente já está instalada.

Criar um grupo de recursos

Antes de criar sua rede virtual de pilha dupla, você deve criar um grupo de recursos com az group create. O exemplo a seguir cria um grupo de recursos chamado DsResourceGroup01 no local eastus:

az group create \
--name DsResourceGroup01 \
--location eastus

Criar endereços IP públicos IPv4 e IPv6 para balanceador de carga

Para acessar seus pontos de extremidade IPv4 e IPv6 na Internet, você precisa de endereços IP públicos IPv4 e IPv6 para o balanceador de carga. Criar um endereço IP público com az network public-ip create. O exemplo a seguir cria endereços IP públicos IPv4 e IPv6 chamados dsPublicIP_v4 e dsPublicIP_v6 no grupo de recursos DsResourceGroup01 :

# Create an IPV4 IP address
az network public-ip create \
--name dsPublicIP_v4  \
--resource-group DsResourceGroup01  \
--location eastus  \
--sku STANDARD  \
--allocation-method static  \
--version IPv4

# Create an IPV6 IP address
az network public-ip create \
--name dsPublicIP_v6  \
--resource-group DsResourceGroup01  \
--location eastus \
--sku STANDARD  \
--allocation-method static  \
--version IPv6

Criar endereços IP públicos para VMs

Para acessar remotamente suas VMs na Internet, você precisa de endereços IP públicos IPv4 para as VMs. Criar um endereço IP público com az network public-ip create.

az network public-ip create \
--name dsVM0_remote_access  \
--resource-group DsResourceGroup01 \
--location eastus  \
--sku Standard  \
--allocation-method static  \
--version IPv4

az network public-ip create \
--name dsVM1_remote_access  \
--resource-group DsResourceGroup01  \
--location eastus  \
--sku Standard  \
--allocation-method static  \
--version IPv4

Criar o Balanceador de Carga Standard

Nesta seção, você configura o IP de front-end duplo (IPv4 e IPv6) e o pool de endereços de back-end para o balanceador de carga e, em seguida, cria um Balanceador de Carga Padrão.

Criar um balanceador de carga

Crie o Balanceador de Carga Padrão com az network lb create chamado dsLB que inclui um pool de front-end chamado dsLbFrontEnd_v4, um pool de back-end chamado dsLbBackEndPool_v4 associado ao endereço IP público IPv4 dsPublicIP_v4 que você criou na etapa anterior.

az network lb create \
--name dsLB  \
--resource-group DsResourceGroup01 \
--sku Standard \
--location eastus \
--frontend-ip-name dsLbFrontEnd_v4  \
--public-ip-address dsPublicIP_v4  \
--backend-pool-name dsLbBackEndPool_v4

Criar frontend IPv6

Crie um IP frontend IPV6 com az network lb frontend-ip create. O exemplo a seguir cria uma configuração IP frontend chamada dsLbFrontEnd_v6 e anexa o endereço dsPublicIP_v6 :

az network lb frontend-ip create \
--lb-name dsLB  \
--name dsLbFrontEnd_v6  \
--resource-group DsResourceGroup01  \
--public-ip-address dsPublicIP_v6

Configurar pool de endereços de back-end IPv6

Crie um pool de endereços de back-end IPv6 com az network lb address-pool create. O exemplo a seguir cria o pool de endereços de back-end chamado dsLbBackEndPool_v6 para incluir VMs com configurações de NIC IPv6:

az network lb address-pool create \
--lb-name dsLB  \
--name dsLbBackEndPool_v6  \
--resource-group DsResourceGroup01

Criar uma sonda de estado de funcionamento

Crie uma sonda de estado de funcionamento com az network lb probe create para monitorizar o estado de funcionamento das máquinas virtuais.

az network lb probe create -g DsResourceGroup01  --lb-name dsLB -n dsProbe --protocol tcp --port 3389

Criar uma regra do balanceador de carga

É utilizada uma regra de balanceador de carga para definir a forma como o tráfego é distribuído pelas VMs. Pode definir a configuração de IP de front-end do tráfego de entrada e o conjunto de IPs de back-end para receber o tráfego, juntamente com a porta de origem e de destino necessárias.

Crie uma regra de balanceador de carga com az network lb rule create. O exemplo a seguir cria regras de balanceador de carga chamadas dsLBrule_v4 e dsLBrule_v6 e equilibra o tráfego na porta TCP 80 para as configurações de IP frontend IPv4 e IPv6:

az network lb rule create \
--lb-name dsLB  \
--name dsLBrule_v4  \
--resource-group DsResourceGroup01  \
--frontend-ip-name dsLbFrontEnd_v4  \
--protocol Tcp  \
--frontend-port 80  \
--backend-port 80  \
--probe-name dsProbe \
--backend-pool-name dsLbBackEndPool_v4


az network lb rule create \
--lb-name dsLB  \
--name dsLBrule_v6  \
--resource-group DsResourceGroup01 \
--frontend-ip-name dsLbFrontEnd_v6  \
--protocol Tcp  \
--frontend-port 80 \
--backend-port 80  \
--probe-name dsProbe \
--backend-pool-name dsLbBackEndPool_v6

Criar recursos de rede

Antes de implantar algumas VMs, você deve criar recursos de rede de suporte - conjunto de disponibilidade, grupo de segurança de rede, rede virtual e NICs virtuais.

Criar um conjunto de disponibilidade

Para melhorar a disponibilidade do seu aplicativo, coloque suas VMs em um conjunto de disponibilidade.

Crie um conjunto de disponibilidade com az vm availability-set create. O exemplo a seguir cria um conjunto de disponibilidade chamado dsAVset:

az vm availability-set create \
--name dsAVset  \
--resource-group DsResourceGroup01  \
--location eastus \
--platform-fault-domain-count 2  \
--platform-update-domain-count 2  

Criar grupo de segurança de rede

Crie um grupo de segurança de rede para as regras que regem a comunicação de entrada e saída em sua rede virtual.

Criar um grupo de segurança de rede

Criar um grupo de segurança de rede com az network nsg create

az network nsg create \
--name dsNSG1  \
--resource-group DsResourceGroup01  \
--location eastus

Criar uma regra de grupo de segurança de rede para conexões de entrada e saída

Crie uma regra de grupo de segurança de rede para permitir conexões RDP através da porta 3389, conexão com a Internet através da porta 80 e para conexões de saída com a regra nsg az network create.

# Create inbound rule for port 3389
az network nsg rule create \
--name allowRdpIn  \
--nsg-name dsNSG1  \
--resource-group DsResourceGroup01  \
--priority 100  \
--description "Allow Remote Desktop In"  \
--access Allow  \
--protocol "*"  \
--direction Inbound  \
--source-address-prefixes "*"  \
--source-port-ranges "*"  \
--destination-address-prefixes "*"  \
--destination-port-ranges 3389

# Create inbound rule for port 80
az network nsg rule create \
--name allowHTTPIn  \
--nsg-name dsNSG1  \
--resource-group DsResourceGroup01  \
--priority 200  \
--description "Allow HTTP In"  \
--access Allow  \
--protocol "*"  \
--direction Inbound  \
--source-address-prefixes "*"  \
--source-port-ranges 80  \
--destination-address-prefixes "*"  \
--destination-port-ranges 80

# Create outbound rule

az network nsg rule create \
--name allowAllOut  \
--nsg-name dsNSG1  \
--resource-group DsResourceGroup01  \
--priority 300  \
--description "Allow All Out"  \
--access Allow  \
--protocol "*"  \
--direction Outbound  \
--source-address-prefixes "*"  \
--source-port-ranges "*"  \
--destination-address-prefixes "*"  \
--destination-port-ranges "*"

Criar uma rede virtual

Crie uma rede virtual com az network vnet create. O exemplo a seguir cria uma rede virtual chamada dsVNET com sub-redes dsSubNET_v4 e dsSubNET_v6:

# Create the virtual network
az network vnet create \
--name dsVNET \
--resource-group DsResourceGroup01 \
--location eastus  \
--address-prefixes "10.0.0.0/16" "fd00:db8:deca::/48"

# Create a single dual stack subnet

az network vnet subnet create \
--name dsSubNET \
--resource-group DsResourceGroup01 \
--vnet-name dsVNET \
--address-prefixes "10.0.0.0/24" "fd00:db8:deca:deed::/64" \
--network-security-group dsNSG1

Criar NICs

Crie NICs virtuais para cada VM com a AZ Network NIC Create. O exemplo a seguir cria uma NIC virtual para cada VM. Cada NIC tem duas configurações IP (1 configuração IPv4, 1 configuração IPv6). Você cria a configuração IPV6 com az network nic ip-config create.

# Create NICs
az network nic create \
--name dsNIC0  \
--resource-group DsResourceGroup01 \
--network-security-group dsNSG1  \
--vnet-name dsVNET  \
--subnet dsSubNet  \
--private-ip-address-version IPv4 \
--lb-address-pools dsLbBackEndPool_v4  \
--lb-name dsLB  \
--public-ip-address dsVM0_remote_access

az network nic create \
--name dsNIC1 \
--resource-group DsResourceGroup01 \
--network-security-group dsNSG1 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv4 \
--lb-address-pools dsLbBackEndPool_v4 \
--lb-name dsLB \
--public-ip-address dsVM1_remote_access

# Create IPV6 configurations for each NIC

az network nic ip-config create \
--name dsIp6Config_NIC0  \
--nic-name dsNIC0  \
--resource-group DsResourceGroup01 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv6 \
--lb-address-pools dsLbBackEndPool_v6 \
--lb-name dsLB

az network nic ip-config create \
--name dsIp6Config_NIC1 \
--nic-name dsNIC1 \
--resource-group DsResourceGroup01 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv6 \
--lb-address-pools dsLbBackEndPool_v6 \
--lb-name dsLB

Criar máquinas virtuais

Crie as VMs com az vm create. O exemplo a seguir cria duas VMs e os componentes de rede virtual necessários, caso ainda não existam.

Crie a máquina virtual dsVM0 da seguinte maneira:

 az vm create \
--name dsVM0 \
--resource-group DsResourceGroup01 \
--nics dsNIC0 \
--size Standard_A2 \
--availability-set dsAVset \
--image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest  

Crie a máquina virtual dsVM1 da seguinte maneira:

az vm create \
--name dsVM1 \
--resource-group DsResourceGroup01 \
--nics dsNIC1 \
--size Standard_A2 \
--availability-set dsAVset \
--image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest 

Exibir rede virtual de pilha dupla IPv6 no portal do Azure

Você pode exibir a rede virtual de pilha dupla IPv6 no portal do Azure da seguinte maneira:

  1. Na barra de pesquisa do portal, digite dsVnet.
  2. Quando myVirtualNetwork aparecer nos resultados da pesquisa, selecione-a. Isso inicia a página Visão geral da rede virtual de pilha dupla chamada dsVnet. A rede virtual de pilha dupla mostra as duas NICs com configurações IPv4 e IPv6 localizadas na sub-rede de pilha dupla chamada dsSubnet.

IPv6 dual stack virtual network in Azure

Clean up resources (Limpar recursos)

Quando já não for necessário, pode utilizar o comando az group delete para remover o Grupo de Recursos, a VM e todos os recursos relacionados.

 az group delete --name DsResourceGroup01

Próximos passos

Neste artigo, você criou um balanceador de carga padrão com uma configuração IP frontend dupla (IPv4 e IPv6). Você também criou duas máquinas virtuais que incluíam NICs com configurações IP duplas (IPV4 + IPv6) que foram adicionadas ao pool de back-end do balanceador de carga. Para saber mais sobre o suporte a IPv6 em redes virtuais do Azure, consulte O que é IPv6 para Rede Virtual do Azure?