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.
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.
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.
Selecione "+Novo" partir do menu e digite "modelo" na caixa de pesquisa. Selecione a “Implantação do modelo” nos resultados da pesquisa.
Na folha Tudo, selecione "Implantação de modelo".
Selecione "Criar".
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".
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.
Para saber mais sobre esses parâmetros, consulte a seção Variáveis e parâmetros de modelo mais adiante neste artigo.
Para ver os recursos criados pelo modelo, selecione Procurar, role para baixo na lista até que você veja "Grupos de recursos" e selecione-o.
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.
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.
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.
Validar a conectividade
Quando o modelo tiver sido implantado com êxito, você poderá validar a conectividade concluindo às seguintes tarefas:
- 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.
- 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.
- 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.
- 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.