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

Nota

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 IPv6 com suas Redes Virtuais e inclui recursos importantes, como regras do Grupo de Segurança de Rede IPv6, roteamento IPv6 definido pelo usuário, balanceamento de carga IPv6 Basic e Standard e muito mais. O IPv6 para VNETs do Azure é o padrão recomendado para aplicativos IPv6 no Azure. Consulte IPv6 para implantação do Azure VNET PowerShell

Um balanceador de carga do Azure é um balanceador de carga de Camada 4 (TCP, UDP). O balanceador de carga fornece elevada disponibilidade, ao distribuir o tráfego de entrada entre instâncias de serviço com bom estado de funcionamento nos serviços cloud ou máquinas virtuais num conjunto de balanceador de carga. O Balanceador de Carga do Azure pode também 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 modelo de exemplo 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.

Neste 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 endereço IP público IPv4 e 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 máquinas virtuais (VMs)

Implantando o modelo usando o portal do Azure

Este artigo faz referência a um modelo publicado na galeria de 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 para o computador local.

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

  2. Selecione "+Novo" no menu e digite "modelo" na caixa de pesquisa. Selecione "Implantação de 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 o fim { }) e selecione "Salvar".

    Nota

    Se estiver a utilizar o Microsoft Internet Explorer, quando colar recebe uma caixa de diálogo a pedir-lhe para permitir o acesso à á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 a orientação na seção Parâmetros do modelo e 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 estiver a criar um grupo de recursos, selecione uma localização para o grupo de recursos. Em seguida, selecione Termos legais e, em seguida, selecione Comprar para os termos legais. O Azure começa a implantar os recursos. Leva vários minutos para implantar todos os recursos.

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

    Para obter mais informações sobre esses parâmetros, consulte a seção Parâmetros e variáveis do modelo mais adiante neste artigo.

  7. Para ver os recursos criados pelo modelo, selecione Procurar, role a lista para baixo até ver "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. Você verá uma lista de todos os recursos que foram implantados. Se tudo correu bem, deve dizer "Conseguido" em "Última implantação". Caso contrário, certifique-se de que a conta que está a utilizar 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.

    Nota

    Se você navegar em seus Grupos de Recursos imediatamente após concluir a etapa 6, "Última implantação" exibirá o status de "Implantação" enquanto os recursos estão sendo implantados.

  9. Selecione "myIPv6PublicIP" na lista de recursos. Você vê que ele tem um endereço IPv6 em Endereço IP e que seu nome DNS é o valor especificado para o parâmetro dnsNameforIPv6LbIP na etapa 6. Este recurso é o endereço IPv6 público e o nome do host acessíveis aos clientes da Internet.

    Screenshot shows the IPv6 public address.

Validar a conectividade

Quando o modelo for implantado com êxito, você poderá validar a conectividade concluindo as 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 em um prompt de comando. Você vê que as VMs têm endereços IPv4 e IPv6. Se você implantou VMs Linux, precisará configurar o sistema operacional Linux para receber endereços IPv6 dinâmicos usando as instruções fornecidas para sua distribuição Linux.
  2. A partir de um cliente IPv6 conectado à Internet, inicie uma conexão com o endereço IPv6 público do balanceador de carga. Para confirmar se o balanceador de carga está equilibrando entre as duas VMs, você pode instalar um servidor Web como o Microsoft Internet Information Services (IIS) em cada uma das VMs. A página da 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 do 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 da Web apenas de um servidor, talvez seja necessário limpar o cache do navegador. Abra várias sessões de navegação privada. Você verá uma resposta de cada servidor.
  3. A partir de um cliente IPv4 conectado à Internet, inicie uma conexão com o endereço IPv4 público do balanceador de carga. Para confirmar se o balanceador de carga está balanceando a carga das duas VMs, você pode testar usando o IIS, conforme detalhado na Etapa 2.
  4. A partir de cada VM, inicie uma conexão de saída com um dispositivo de Internet conectado a IPv6 ou IPv4. Em ambos os casos, o IP de origem visto pelo dispositivo de destino é o endereço IPv4 ou IPv6 público do balanceador de carga.

Nota

Para testar a conectividade de um frontend IPv4 e IPv6 de um Load Balancer, um ping ICMP pode ser enviado para o frontend 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 recebidos serão diferentes e podem variar de acordo com a região. Além disso, é comum que o endereço IPv6 público no balanceador de carga comece com um prefixo diferente dos endereços IPv6 privados no pool de back-end.

Parâmetros e variáveis do modelo

Um modelo do Azure Resource Manager contém várias variáveis e parâmetros que você pode personalizar de acordo com suas necessidades. As variáveis são usadas para valores fixos que você não deseja que um usuário altere. Os parâmetros são usados para valores que 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 personalizar isso de acordo com as necessidades do seu ambiente.

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

Parâmetro / Variável Notas
adminUsername Especifique o nome da conta de administrador usada para entrar nas máquinas virtuais.
adminPassword Especifique a senha para a conta de administrador usada para entrar nas máquinas virtuais com.
dnsNameforIPv4LbIP Especifique o nome de host DNS que você deseja atribuir como o nome público do balanceador de carga. Esse nome é resolvido para o endereço IPv4 público 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 é resolvido para o endereço IPv6 público do balanceador de carga. O nome deve ser minúsculo e corresponder ao regex: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. Este pode ser o mesmo nome que o 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 da VM. O modelo acrescenta um número (0, 1, etc.) ao nome quando as VMs são criadas.
nicNamePrefix Especifique o prefixo do nome da interface de rede. O modelo acrescenta 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 a ser criada pelo modelo.
availabilitySetName Insira o 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
Nome da sub-rede O nome da sub-rede em criado para a rede virtual
subnetPrefix O prefixo de endereço usado para definir o intervalo de endereços da sub-rede
vnetName Especifique o nome da 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). O IPv6 suporta apenas alocação dinâmica.
númerodeinstâncias O número de instâncias com balanceamento de carga implantadas pelo modelo
ipv4PublicIPAddressName Especifique o nome DNS que você deseja 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ê deseja 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). O IPv6 suporta apenas alocação dinâmica.
lbNome Especifique o nome do balanceador de carga. Esse nome é exibido no portal ou usado quando se refere a ele com um comando CLI ou PowerShell.

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

Próximos passos

Para obter a sintaxe JSON e as propriedades de um balanceador de carga em um modelo, consulte Microsoft.Network/loadBalancers.