Partilhar via


Adicionar um aplicativo IPv4 ao IPv6 na rede virtual do Azure usando o PowerShell

Este artigo mostra como adicionar conectividade IPv6 a um aplicativo IPv4 existente em uma rede virtual do Azure com um Balanceador de Carga Padrão e IP Público. A atualização in-loco inclui:

  • Espaço de endereçamento IPv6 para a rede virtual e sub-rede
  • Balanceador de carga padrão com configurações de frontend IPv4 e IPV6
  • VMs com NICs que têm uma configuração IPv4 + IPv6
  • IP público IPv6 para que o balanceador de carga tenha conectividade IPv6 voltada para a Internet

Azure Cloud Shell

O Azure aloja o Azure Cloud Shell, um ambiente de shell interativo que pode utilizar através do seu browser. Pode utilizar o Bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. Você pode usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada em seu ambiente local.

Para iniciar o Azure Cloud Shell:

Opção Exemplo/Ligação
Selecione Experimentar no canto superior direito de um código ou bloco de comandos. Selecionar Experimentar não copia automaticamente o código ou comando para o Cloud Shell. Captura de tela que mostra um exemplo de Try It for Azure Cloud Shell.
Aceda a https://shell.azure.com ou selecione o botão Iniciar Cloud Shell para abrir o Cloud Shell no browser. Botão para iniciar o Azure Cloud Shell.
Selecione o botão Cloud Shell na barra de menus, na parte direita do portal do Azure. Captura de tela que mostra o botão Cloud Shell no portal do Azure

Para usar o Azure Cloud Shell:

  1. Inicie o Cloud Shell.

  2. Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou comando.

  3. Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e Linux ou selecionando Cmd+Shift+V no macOS.

  4. Selecione Enter para executar o código ou 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 precisar de atualizar, veja Install Azure PowerShell module (Instalar o módulo do Azure PowerShell). Se você estiver executando o PowerShell localmente, também precisará executar Connect-AzAccount para criar uma conexão com o Azure.

Pré-requisitos

Este artigo pressupõe que você implantou um Balanceador de Carga Padrão conforme descrito em Guia de início rápido: Criar um Balanceador de Carga Padrão - Azure PowerShell.

Recuperar o grupo de recursos

Antes de criar sua rede virtual de pilha dupla, você deve 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 seu Balanceador de Carga Padrão. O exemplo a seguir 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 frontend do balanceador de carga

Recupere a configuração do balanceador de carga existente e adicione o novo endereço IP IPv6 usando Add-AzLoadBalancerFrontendIpConfig da seguinte maneira:

# 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 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 do 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 existente do frontend do balanceador de carga e do pool de back-end 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 hospeda 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 configuração IPv6 à NIC

Configure 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 exibir a rede virtual de pilha dupla IPv6 no portal do Azure da seguinte maneira:

  1. Na barra de pesquisa do portal, insira redes virtuais e

  2. Na janela Redes Virtuais, selecione myVNet.

  3. Selecione Dispositivos conectados em Configurações para exibir as interfaces de rede conectadas. A rede virtual de pilha dupla mostra as três NICs com configurações IPv4 e IPv6.

    Captura de tela das configurações de dispositivos conectados exibindo endereços IPv4 e IPv6 em interfaces de rede.

Clean up resources (Limpar recursos)

Quando não for mais necessário, 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óximos passos

Neste artigo, você atualizou um balanceador de carga padrão existente com uma configuração IP frontend IPv4 para uma configuração de pilha dupla (IPv4 e IPv6). Você também adicionou configurações 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, consulte O que é IPv6 para Rede Virtual do Azure?