Implantar uma solução de balanceamento de carga voltada para a Internet com IPv6 usando um modelo

Observação

Este artigo descreve um recurso IPv6 introdutório para permitir que os balanceadores de carga básicos forneçam conectividade IPv4 e IPv6. A conectividade IPv6 abrangente agora está disponível com o IPv6 para VNETs do Azure, que integra a conectividade de IPv6 com suas redes virtuais e inclui recursos importantes, como regras de grupo de segurança de rede IPv6, roteamento definido pelo usuário IPv6, balanceamento de carga básico e padrão IPv6 e muito mais. O IPv6 para VNETs Azure é o padrão recomendado para aplicativos IPv6 no Azure. Consulte IPv6 para implantação do PowerShell de VNET do Azure

Um Azure Load Balancer é um balanceador de carga de Camada 4 (TCP, UDP). O balanceador de carga fornece alta disponibilidade, distribuindo o tráfego de entrada entre instâncias do serviço de integridade em serviços de nuvem ou máquinas virtuais em um conjunto de balanceadores de carga. O Azure Load Balancer também pode apresentar esses serviços em várias portas, vários endereços IP ou ambos.

Exemplo de cenário de implantação

O diagrama a seguir ilustra a solução de balanceamento de carga que está sendo implantada usando o exemplo de modelo descrito neste artigo.

Diagram shows an example scenario used in this article, including a workstation client connected to an Azure Load Balancer over the Internet, connected in turn to two virtual machines.

Nesse cenário, você cria os seguintes recursos do Azure:

  • uma interface de rede virtual para cada VM com endereços IPv4 e IPv6 atribuídos
  • um balanceador de carga voltado para a Internet com um IPv4 e um endereço IP público IPv6
  • duas regras de balanceamento de carga para mapear os VIPs públicos para os pontos de extremidade privados
  • um Conjunto de disponibilidade que contém as duas VMs
  • duas VMs (máquinas virtuais)

Implantar o modelo usando o Portal do Azure

Este artigo faz referência a um modelo publicado na galeria Modelos de início rápido do Azure . Você pode baixar o modelo da galeria ou iniciar a implantação no Azure diretamente da Galeria. Este artigo pressupõe que você baixou o modelo em seu computador local.

  1. Abra o Portal do Azure e entre com uma conta que tenha permissões para criar VMs e recursos de rede dentro de uma assinatura do Azure. Além disso, a menos que você esteja usando recursos existentes, a conta precisará de permissão para criar um grupo de recursos e uma conta de armazenamento.

  2. Selecione "+Novo" partir do menu e digite "modelo" na caixa de pesquisa. Selecione a “Implantação do modelo” nos resultados da pesquisa.

    Screenshot shows the Azure portal with New and Template deployment selected.

  3. Na folha Tudo, selecione "Implantação de modelo".

    Screenshot shows Template deployment in the Marketplace.

  4. Selecione "Criar".

    Screenshot shows the description of Template deployment in the Marketplace.

  5. Selecione "Editar modelo". Exclua o conteúdo existente e copie/cole todo o conteúdo do arquivo de modelo (para incluir o início e término { }) e selecione "Salvar".

    Observação

    Se você estiver usando o Microsoft Internet Explorer, quando você colar receberá uma caixa de diálogo solicitando sua permissão para acessar a área de transferência do Windows. Clique em "Permitir acesso".

    Screenshot shows the firest step of a Custom deployment, which is Edit template.

  6. Selecione "Editar parâmetros". Na folha Parâmetros, especifique os valores de acordo com as diretrizes na seção Parâmetros de modelo, selecione "Salvar" para fechar a folha Parâmetros. Na folha Implantação personalizada, selecione sua assinatura, um grupo de recursos existente ou crie um. Se você estiver criando um grupo de recursos, selecione um local para o grupo de recursos. Em seguida, selecione Termos legais e, em seguida, selecione Compra para os termos legais. O Azure começa a implantar os recursos. Demora vários minutos para implantar todos os recursos.

    Screenshot shows the steps involved in the Custom deployment, starting with entering template parameter values.

    Para saber mais sobre esses parâmetros, consulte a seção Variáveis e parâmetros de modelo mais adiante neste artigo.

  7. Para ver os recursos criados pelo modelo, selecione Procurar, role para baixo na lista até que você veja "Grupos de recursos" e selecione-o.

    Screenshot shows the Azure portal with Browse and Resource groups selected.

  8. Na folha Grupos de recursos, selecione o nome do grupo de recursos especificado na etapa 6. Consulte uma lista de todos os recursos que foram implantados. Se tudo correu bem, ele deve dizer "Bem-sucedido" em "Última implantação". Caso não seja, verifique se a conta que você está usando tem permissões para criar os recursos necessários.

    Screenshot shows the status of the last deployment for a resource group, in this example, Succeeded.

    Observação

    Se você procurar os Grupos de recursos imediatamente após a conclusão da etapa 6, "Última implantação" exibirá o status de "Implantação" durante a implantação dos recursos.

  9. Selecione "myIPv6PublicIP" na lista de recursos. Você verá que há um endereço IPv6 no endereço IP, e seu nome DNS é o valor especificado para o parâmetro dnsNameforIPv6LbIP na etapa 6. Este recurso é o endereço IPv6 público e nome do host que está acessível para clientes da Internet.

    Screenshot shows the IPv6 public address.

Validar a conectividade

Quando o modelo tiver sido implantado com êxito, você poderá validar a conectividade concluindo às seguintes tarefas:

  1. Entre no Portal do Azure e conecte-se a cada uma das VMs criadas pela implantação do modelo. Se você implantou uma VM do Windows Server, execute ipconfig /all a partir de um prompt de comando. Você vê que as VMs têm endereços IPv4 e IPv6. Se você implantou as VMs do Linux, precisará configurar o sistema operacional Linux para receber endereços IPv6 dinâmicos usando as instruções fornecidas para sua distribuição do Linux.
  2. Em um cliente conectado à Internet IPv6, inicie uma conexão com o endereço IPv6 público do balanceador de carga. Para confirmar se o balanceador de carga está balanceando entre as duas VMs, instale um servidor Web como o Microsoft Internet Information Services (IIS) em cada uma das VMs. A página Web padrão em cada servidor pode conter o texto "Server0" ou "Server1" para identificá-lo exclusivamente. Em seguida, abra um navegador da Internet em um cliente conectado à Internet IPv6 e navegue até o nome de host especificado para o parâmetro dnsNameforIPv6LbIP do balanceador de carga para confirmar a conectividade IPv6 de ponta a ponta para cada VM. Se você vir a página Web apenas de apenas um servidor, será necessário limpar o cache do navegador. Abra várias sessões de navegação privadas. Você verá uma resposta de cada servidor.
  3. Em um cliente conectado à Internet IPv4, inicie uma conexão com o endereço IPv4 público do balanceador de carga. Para confirmar que o balanceador de carga está balanceando a carga das duas VMs, teste usando o IIS, conforme detalhado na Etapa 2.
  4. De cada VM, inicie uma conexão de saída para um dispositivo de Internet conectado a IPv4 ou IPv6. Em ambos os casos, o IP de origem visto pelo dispositivo de destino é o endereço público IPv4 ou IPv6 do balanceador de carga.

Observação

Para testar a conectividade de um front-end IPv4 e IPv6 de um Load Balancer, um ping ICMP pode ser enviado para o front-end do Load Balancer. Observe que os endereços IP mostrados no diagrama são exemplos de valores que você pode ver. Como os endereços IPv6 são atribuídos dinamicamente, os endereços que você receber serão diferentes e podem variar por região. Além disso, é comum que o endereço IPv6 público no balanceador de carga para comece com um prefixo diferente dos endereços IPv6 particulares no pool de back-end.

Variáveis e parâmetros de modelo

Um modelo do Resource Manager contém diversas variáveis e parâmetros que você pode personalizar de acordo com suas necessidades. Variáveis são usadas para valores fixos os quais você não quer que um usuário altere. Os parâmetros são usados para valores os quais você deseja que um usuário forneça ao implantar o modelo. O modelo de exemplo está configurado para o cenário descrito neste artigo. Você pode personalizá-lo de acordo com as necessidades do seu ambiente.

O modelo de exemplo usado neste artigo inclui as variáveis e parâmetros a seguir:

Parâmetro/variável Observações
adminUsername Especifique o nome da conta de administrador usada para entrar nas máquinas virtuais.
adminPassword Especifique a senha da conta de administrador usada para entrar nas máquinas virtuais.
dnsNameforIPv4LbIP Especifique o nome de host DNS que você deseja atribuir como o nome público do balanceador de carga. Esse nome resolve para endereço de IPv4 públicos do balanceador de carga. O nome deve ser minúsculo e corresponder ao regex:^[a-z] [a-z0-9 -]{1,61}[a-z0-9] $.
dnsNameforIPv6LbIP Especifique o nome de host DNS que você deseja atribuir como o nome público do balanceador de carga. Esse nome resolve para endereço de IPv6 públicos do balanceador de carga. O nome deve ser minúsculo e corresponder ao regex:^[a-z] [a-z0-9 -]{1,61}[a-z0-9] $. Pode ser o mesmo nome que do endereço IPv4. Quando um cliente envia uma consulta DNS para esse nome, o Azure retorna os registros A e AAAA quando o nome é compartilhado.
vmNamePrefix Especifique o prefixo do nome VM. O modelo inclui um número (0, 1 etc.) ao nome quando as VMs são criadas.
nicNamePrefix Especifique o prefixo de nome da interface de rede. O modelo inclui um número (0, 1 etc.) ao nome quando as interfaces de rede são criadas.
storageAccountName Insira o nome de uma conta de armazenamento existente ou especifique o nome de uma nova que será criada pelo modelo.
availabilitySetName Insira nome do conjunto de disponibilidade a ser usado com as VMs
addressPrefix O prefixo de endereço usado para definir o intervalo de endereços da rede virtual
subnetName O nome da sub-rede criada para a VNet
subnetPrefix O prefixo de endereço usado para definir o intervalo de endereços da sub-rede
vnetName Especifique o nome para a VNet usada pelas VMs.
ipv4PrivateIPAddressType O método de alocação usado para o endereço IP privado (estático ou dinâmico)
ipv6PrivateIPAddressType O método de alocação usado para o endereço IP privado (dinâmico). IPv6 só dá suporte à alocação dinâmica.
numberOfInstances O número de instâncias com balanceamento de carga implantadas pelo modelo
ipv4PublicIPAddressName Especifique o nome DNS que você quer usar para se comunicar com o endereço IPv4 público do balanceador de carga.
ipv4PublicIPAddressType O método de alocação usado para o endereço IP público (estático ou dinâmico)
Ipv6PublicIPAddressName Especifique o nome DNS que você quer usar para se comunicar com o endereço IPv6 público do balanceador de carga.
ipv6PublicIPAddressType O método de alocação usado para o endereço IP público (dinâmico). IPv6 só dá suporte à alocação dinâmica.
lbName Especifique o nome do balanceador de carga. Esse nome é exibido no portal ou usado para se referir a ele com um comando da CLI ou do PowerShell.

As variáveis restantes no modelo contêm valores derivados atribuídos quando o Azure cria os recursos. Não mude essas variáveis.

Próximas etapas

Saiba mais sobre a sintaxe e as propriedades JSON de um balanceador de carga em um modelo em Microsoft.Network/loadBalancers.