Adicionar um aplicativo IPv4 para IPv6 na rede virtual do Azure usando o PowerShell
Este artigo mostra como adicionar conectividade IPv6 a um aplicativo IPv4 em uma rede virtual do Azure com um Standard Load Balancer e IP público. A atualização in-loco inclui:
- O espaço de endereços IP IPv6 da rede virtual e sub-rede
- Standard Load Balancer com as configurações de front-end IPv4 e IPv6
- VMs com NICs que têm uma configuração de IPv4 + IPv6
- IP público IPv6 para que o balanceador de carga tenha conectividade IPv6 voltada para a Internet
Azure Cloud Shell
O Azure hospeda o Azure Cloud Shell, um ambiente de shell interativo que pode ser usado por meio do navegador. É possível usar o bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. É possível usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada no seu ambiente local.
Para iniciar o Azure Cloud Shell:
Opção | Exemplo/Link |
---|---|
Selecione Experimentar no canto superior direito de um bloco de código ou de comando. Selecionar Experimentar não copia automaticamente o código nem o comando para o Cloud Shell. | |
Acesse https://shell.azure.com ou selecione o botão Iniciar o Cloud Shell para abri-lo no navegador. | |
Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. |
Para usar o Azure Cloud Shell:
Inicie o Cloud Shell.
Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou o comando.
Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e no Linux, ou selecionando Cmd+Shift+V no macOS.
Selecione Enter para executar o código ou o comando.
Se você optar por instalar e usar o PowerShell localmente, este artigo exigirá o módulo do Azure PowerShell versão 6.9.0 ou posterior. Execute Get-Module -ListAvailable Az
para localizar a versão instalada. Se você precisa atualizar, consulte Instalar o módulo do Azure PowerShell. Se você estiver executando o PowerShell localmente, também precisará executar o Connect-AzAccount
para criar uma conexão com o Azure.
Pré-requisitos
Este artigo pressupõe que você tenha implantado um Standard Load Balancer, conforme descrito em Guia de início rápido: Criar um Standard Load Balancer – Azure PowerShell.
Recuperar o grupo de recursos
Para criar uma rede virtual de pilha dual, você precisa recuperar o grupo de recursos com Get-AzResourceGroup.
$rg = Get-AzResourceGroup -ResourceGroupName "myResourceGroupSLB"
Criar endereços IP IPv6
Crie um endereço IPv6 público com New-AzPublicIpAddress para o Standard Load Balancer. O seguinte exemplo cria um endereço IP público IPv6 chamado PublicIP_v6 no grupo de recursos myResourceGroupSLB:
$PublicIP_v6 = New-AzPublicIpAddress `
-Name "PublicIP_v6" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Sku Standard `
-AllocationMethod Static `
-IpAddressVersion IPv6
Configurar o front-end do balanceador de carga
Recupere a configuração do balanceador de carga e adicione o novo endereço IP IPv6 usando Add-AzLoadBalancerFrontendIpConfig desta forma:
# Retrieve the load balancer configuration
$lb = Get-AzLoadBalancer -ResourceGroupName $rg.ResourceGroupName -Name "MyLoadBalancer"
# Add IPv6 components to the local copy of the load balancer configuration
$lb | Add-AzLoadBalancerFrontendIpConfig `
-Name "dsLbFrontEnd_v6" `
-PublicIpAddress $PublicIP_v6
#Update the running load balancer with the new frontend
$lb | Set-AzLoadBalancer
Configurar o pool de back-end do balanceador de carga
Crie o pool de back-end na cópia local da configuração do balanceador de carga e atualize o balanceador de carga em execução com a nova configuração de pool de back-end da seguinte maneira:
$lb | Add-AzLoadBalancerBackendAddressPoolConfig -Name "LbBackEndPool_v6"
# Update the running load balancer with the new backend pool
$lb | Set-AzLoadBalancer
Configurar as regras do balanceador de carga
Recupere a configuração do pool de back-end e do balanceador de carga e adicione novas regras de balanceamento de carga usando Add-AzLoadBalancerRuleConfig.
# Retrieve the updated (live) versions of the frontend and backend pool
$frontendIPv6 = Get-AzLoadBalancerFrontendIpConfig -Name "dsLbFrontEnd_v6" -LoadBalancer $lb
$backendPoolv6 = Get-AzLoadBalancerBackendAddressPoolConfig -Name "LbBackEndPool_v6" -LoadBalancer $lb
# Create new LB rule with the frontend and backend
$lb | Add-AzLoadBalancerRuleConfig `
-Name "dsLBrule_v6" `
-FrontendIpConfiguration $frontendIPv6 `
-BackendAddressPool $backendPoolv6 `
-Protocol Tcp `
-FrontendPort 80 `
-BackendPort 80
#Finalize all the load balancer updates on the running load balancer
$lb | Set-AzLoadBalancer
Adicionar intervalos de endereços IPv6
Adicione intervalos de endereços IPv6 à rede virtual e à sub-rede que hospedam as VMs da seguinte maneira:
#Add IPv6 ranges to the VNET and subnet
#Retrieve the VNET object
$vnet = Get-AzVirtualNetwork -ResourceGroupName $rg.ResourceGroupName -Name "myVnet"
#Add IPv6 prefix to the VNET
$vnet.addressspace.addressprefixes.add("fd00:db8:deca::/48")
#Update the running VNET
$vnet | Set-AzVirtualNetwork
#Retrieve the subnet object from the local copy of the VNET
$subnet= $vnet.subnets[0]
#Add IPv6 prefix to the Subnet (subnet of the VNET prefix, of course)
$subnet.addressprefix.add("fd00:db8:deca::/64")
#Update the running VNET with the new subnet configuration
$vnet | Set-AzVirtualNetwork
Adicionar a configuração IPv6 à NIC
Configurar todas as NICs de VM com um endereço IPv6 usando Add-AzNetworkInterfaceIpConfig da seguinte maneira:
#Retrieve the NIC objects
$NIC_1 = Get-AzNetworkInterface -Name "myNic1" -ResourceGroupName $rg.ResourceGroupName
$NIC_2 = Get-AzNetworkInterface -Name "myNic2" -ResourceGroupName $rg.ResourceGroupName
$NIC_3 = Get-AzNetworkInterface -Name "myNic3" -ResourceGroupName $rg.ResourceGroupName
#Add an IPv6 IPconfig to NIC_1 and update the NIC on the running VM
$NIC_1 | Add-AzNetworkInterfaceIpConfig -Name MyIPv6Config -Subnet $vnet.Subnets[0] -PrivateIpAddressVersion IPv6 -LoadBalancerBackendAddressPool $backendPoolv6
$NIC_1 | Set-AzNetworkInterface
#Add an IPv6 IPconfig to NIC_2 and update the NIC on the running VM
$NIC_2 | Add-AzNetworkInterfaceIpConfig -Name MyIPv6Config -Subnet $vnet.Subnets[0] -PrivateIpAddressVersion IPv6 -LoadBalancerBackendAddressPool $backendPoolv6
$NIC_2 | Set-AzNetworkInterface
#Add an IPv6 IPconfig to NIC_3 and update the NIC on the running VM
$NIC_3 | Add-AzNetworkInterfaceIpConfig -Name MyIPv6Config -Subnet $vnet.Subnets[0] -PrivateIpAddressVersion IPv6 -LoadBalancerBackendAddressPool $backendPoolv6
$NIC_3 | Set-AzNetworkInterface
Exibir rede virtual de pilha dupla IPv6 no portal do Azure
Você pode visualizar a rede virtual de pilha dupla IPv6 no portal do Azure da seguinte maneira:
Na barra de pesquisa do portal, insira redes virtuais e
Na janela Redes Virtuais, selecione myVNet.
Selecione dispositivos conectados em Configurações para exibir os adaptadores de rede anexados. A rede virtual de pilha dupla mostra os três NICs com configurações IPv4 e IPv6.
Limpar os recursos
Quando não forem mais necessários, você poderá usar o comando Remove-AzResourceGroup para remover o grupo de recursos, a VM e todos os recursos relacionados.
Remove-AzResourceGroup -Name MyAzureResourceGroupSLB
Próximas etapas
Neste artigo, você atualizou um Standard Load Balancer existente com uma configuração de IP de front-end IPv4 para uma configuração de pilha dupla (IPv4 e IPv6). Você também adicionou configurações de IPv6 às NICs das VMs no pool de back-end e à rede virtual que as hospeda. Para saber mais sobre o suporte a IPv6 em redes virtuais do Azure, confira O que é o IPv6 para a Rede Virtual do Azure?