Configurar balanceadores de carga do Elastic Beanstalk dual-stack - AWS Elastic Beanstalk

Configurar balanceadores de carga do Elastic Beanstalk dual-stack

Você pode habilitar seus ambientes do Elastic Beanstalk para atender aos protocolos IPv4 e IPv6 com balanceadores de carga configurados em dual stack. Quando você cria um ambiente com balanceamento de carga, o padrão da infraestrutura é IPv4. Você pode optar por criar novos ambientes com configuração dual stack ou atualizar ambientes existentes somente IPv4 para dual stack.

Para permitir que os balanceadores de carga do seu ambiente atendam ao tráfego de rede IPv6 e IPv4, defina a opção IpAddressType no namespace aws:elbv2:loadbalancer como dual stack.

nota

O Elastic Beanstalk só oferece suporte a protocolos de dual stack para Application Load Balancers e Network Load Balancers. Ele não é compatível com dual stack para ambientes que usam balanceadores de carga clássicos ou ambientes de instância única.

Pré-requisitos da Amazon VPC

Antes de configurar seu balanceador de carga no ambiente do Elastic Beanstalk, você deve concluir algumas etapas de configuração com a Amazon VPC:

  1. Associe um bloco CIDR IPv6 à VPC do ambiente.

  2. Associe blocos CIDR IPv6 a todas as sub-redes da VPC.

  3. (Opcional) Se o seu ambiente troca tráfego de rede com componentes fora da VPC, ele possui tabelas de rotas que especificam com quais redes a sua VPC pode se comunicar. Nesse caso, você deve atualizar as tabelas de rotas da VPC para habilitar o tráfego IPv6.

É possível concluir essas configurações de pré-requisitos com o console da Amazon VPC ou com comandos da AWS CLI. Os tópicos a seguir guiarão você e o direcionarão ao Guia do usuário da Amazon VPC e à Referência de comandos da AWS CLI para obter mais detalhes.

nota

Depois de concluir a configuração da VPC, aguarde alguns minutos até que as alterações se propaguem antes de configurar a dual stack para seu balanceador de carga. Se você encontrar erros de configuração de VPC ou sub-rede durante a configuração dual stack, aguarde alguns minutos até que a configuração da VPC se propague e tente novamente a configuração dual stack.

Concluir pré-requisitos de VPC usando o console

O Guia do usuário da Amazon VPC fornece etapas detalhadas para concluir essas tarefas de pré-requisito.

  1. Consulte a Etapa 1: associar um bloco CIDR IPv6 à sua VPC e sub-redes, no Guia do usuário da Amazon VPC.

    Essa etapa fornece dois procedimentos que você deve concluir:

    • Associe um bloco CIDR IPv6 à VPC.

    • Associe um bloco CIDR IPv6 às suas sub-redes de VPC.

  2. (Opcional) Se o seu ambiente troca tráfego de rede com componentes fora da VPC, ele possui tabelas de rotas que especificam com quais redes a sua VPC pode se comunicar. Nesse caso, você deve atualizar as tabelas de rotas da VPC para habilitar o tráfego IPv6. Para concluir essa configuração, consulte Etapa 2: Atualizar suas tabelas de rotas no Guia do usuário da Amazon VPC.

Conclua os pré-requisitos da VPC usando a AWS CLI

Você pode usar o AWS CLI para concluir e verificar as configurações de pré-requisitos.

  1. Associe um bloco CIDR IPv6 à VPC do ambiente.

    1. Use o comando associate-vpc-cidr-block para associar um bloco CIDR como associado à sua VPC.

    2. Use o comando describe-vpcs para verificar suas configurações de VPC.

    exemplo comandos
    # Associate an Amazon-provided IPv6 CIDR block with your VPC aws ec2 associate-vpc-cidr-block \ --vpc-id vpc-12345678 \ --region us-east-1 \ --amazon-provided-ipv6-cidr-block # Verify the IPv6 CIDR block association aws ec2 describe-vpcs \ --vpc-ids vpc-12345678 \ --region us-east-1 \ --query 'Vpcs[0].Ipv6CidrBlockAssociationSet'
  2. Associe blocos CIDR IPv6 a todas as sub-redes da VPC.

    1. Use o comando associate-subnet-cidr-block para associar um bloco CIDR como associado à sua sub-rede.

    2. Use o comando describe-subnets para verificar suas configurações de sub-rede.

    exemplo comandos
    # List all subnets in your VPC aws ec2 describe-subnets \ --region us-east-1 \ --filters "Name=vpc-id,Values=vpc-12345678" \ --query 'Subnets[].{SubnetId:SubnetId,AvailabilityZone:AvailabilityZone}' # Associate IPv6 CIDR block with each subnet aws ec2 associate-subnet-cidr-block \ --subnet-id subnet-12345678 \ --region us-east-1 \ --ipv6-cidr-block 2001:db8::/64 # Verify IPv6 CIDR block association for all subnets aws ec2 describe-subnets \ --region us-east-1 \ --filters "Name=vpc-id,Values=vpc-12345678" \ --query 'Subnets[].{SubnetId:SubnetId,Ipv6CidrBlock:Ipv6CidrBlockAssociationSet[0].Ipv6CidrBlock}'
  3. (Opcional) Se o seu ambiente troca tráfego de rede com componentes fora da VPC, ele possui tabelas de rotas que especificam com quais redes a sua VPC pode se comunicar. Nesse caso, você deve atualizar as tabelas de rotas da VPC para habilitar o tráfego IPv6.

    1. Use o comando create-route para adicionar uma rota em uma tabela de rotas dentro da VPC.

    2. Use o comando describe-route-tables para verificar suas tabelas de rotas.

    exemplo comandos
    # Add IPv6 route to Internet Gateway for public subnets aws ec2 create-route \ --route-table-id rtb-12345678 \ --destination-ipv6-cidr-block ::/0 \ --gateway-id igw-12345678 \ --region us-east-1 # Add IPv6 route to NAT Gateway for private subnets (if applicable) aws ec2 create-route \ --route-table-id rtb-87654321 \ --destination-ipv6-cidr-block ::/0 \ --nat-gateway-id nat-12345678 \ --region us-east-1 # Verify routes aws ec2 describe-route-tables \ --route-table-ids rtb-12345678 \ --region us-east-1 \ --query 'RouteTables[0].Routes'

Configurar a dual-stack para seu balanceador de carga do Elastic Beanstalk

Depois que a configuração de pré-requisitos da VPC estiver configurada para seu ambiente, você poderá configurar o balanceador de carga com a opção de dual stack, para que ele possa atender aos protocolos IPv4 e IPv6. Você pode usar o console do Elastic Beanstalk, a AWS CLI, os arquivos de configuração AWS e o .ebextensions SDK para configurar o balanceador de carga para atender ao tráfego de dual stack.

Utilizar o console

É possível usar o console do Elastic Beanstalk para configurar a dual stack para o balanceador de carga do ambiente.

nota

Essa configuração depende do tempo de propagação dos dados em vários pontos. Considere os seguintes requisitos de tempo ao configurar seu balanceador de carga e testar as alterações.

Tempo de configuração da VPC. Depois de concluir a configuração da VPC descrita em Pré-requisitos da Amazon VPC, aguarde alguns minutos até que as alterações se propaguem antes de seguir esses procedimentos. Se você encontrar erros de configuração de VPC ou sub-rede durante a configuração dual stack, aguarde alguns minutos e tente as etapas de configuração novamente.

Tempo de propagação do DNS. Depois de definir a opção IpAddressType como dualstack, aguarde alguns minutos até que as alterações se propaguem antes de testar. A propagação do DNS da Route 53 pode levar de 1 a 2 minutos para ser concluída. Durante esse período, você poderá enfrentar problemas ao testar a comunicação de um cliente para a sua aplicação se estiver iniciando solicitações usando o protocolo IPv6.

Criar de um novo ambiente: para configurar seu balanceador de carga para suporte dual stack
  1. Lance o console do Elastic Beanstalk e inicie as etapas para criar um novo ambiente. Depois de definir os campos obrigatórios Perfil do serviço e Perfil da instância do EC2 na página Configurar acesso ao serviço, continue com as etapas deste procedimento para definir seu balanceador de carga para a configuração dual stack. Para obter mais informações para começar, consulte Criar um ambiente do Elastic Beanstalk.

  2. Em Configurar acesso ao serviço, selecione Avançar.

  3. A página Configurar rede, banco de dados e etiquetas é exibida.

    Se você concluiu o Pré-requisitos da Amazon VPC descrito na seção anterior, então já configurou a VPC e as sub-redes necessárias. Nesse caso, pule esta etapa e suas subtarefas para prosseguir com a seleção da VPC.

    1. Para configurar a VPC e as sub-redes, você pode selecionar Criar VPC para navegar até o console da VPC. Siga as etapas em Concluir pré-requisitos de VPC usando o console.

    2. Aguarde alguns minutos para que as atualizações da VPC sejam propagadas e, em seguida, volte ao console do Elastic Beanstalk e selecione Atualizar para continuar com a próxima etapa.

      Se você encontrar erros de configuração da VPC ou sub-rede nas etapas restantes, aguarde alguns minutos para permitir que a configuração da VPC seja propagada e tente as etapas novamente.

  4. Na página Configurar rede, banco de dados e etiquetas, selecione um valor no menu suspenso VPC que tenha um bloco CIDR IPv6 associado.

    Depois de selecionar uma VPC, as Sub-redes da instância serão preenchidas com as sub-redes da VPC.

  5. Selecione uma ou mais Sub-redes de instância e, em seguida, selecione Avançar.

  6. A página Configurar tráfego e escalabilidade da instância é exibida.

    Em Configurações de rede do balanceador de carga, selecione Habilitar para Dualstack (IPv4 e IPv6).

  7. Selecione o Tipo de balanceador de carga. Tanto o Application load balancer quanto o Network load balancer oferecem suporte para dual-stack.

  8. Você pode continuar configurando outras opções do balanceador de carga na página atual do console. Para obter mais informações sobre as opções e configurações do balanceador de carga, consulte os outros tópicos neste capítulo.

  9. Continue com as etapas para concluir a configuração e a criação do seu ambiente. Para obter mais informações, consulte Criar um ambiente do Elastic Beanstalk.

Ambiente existente: para configurar seu balanceador de carga para suporte dual stack
  1. Abra o console do Elastic Beanstalk e, na lista Regions (Regiões), selecione a sua Região da AWS.

  2. No painel de navegação, selecione Ambientes e selecione o nome do ambiente na lista.

  3. No painel de navegação, escolha Configuration (Configuração).

  4. Na categoria de configuração Rede e banco de dados, selecione Editar.

  5. Se você concluiu o Pré-requisitos da Amazon VPC descrito na seção anterior, então já configurou a VPC e as sub-redes necessárias. Nesse caso, pule esta etapa e suas subtarefas para prosseguir com a seleção da VPC.

    1. Para configurar a VPC e as sub-redes, você pode selecionar Criar VPC para navegar até o console da VPC. Siga as etapas em Concluir pré-requisitos de VPC usando o console.

    2. Aguarde alguns minutos para que as atualizações da VPC sejam propagadas e, em seguida, volte ao console do Elastic Beanstalk e selecione Atualizar para continuar com a próxima etapa.

      Se você encontrar erros de configuração da VPC ou sub-rede nas etapas restantes, aguarde alguns minutos para permitir que a configuração da VPC seja propagada e tente as etapas novamente.

  6. Na página Rede e banco de dados, selecione um valor no menu suspenso VPC que tenha um bloco CIDR IPv6 associado.

    Depois de selecionar uma VPC, as Sub-redes da instância serão preenchidas com as sub-redes da VPC.

  7. Selecione uma ou mais sub-redes de instância.

  8. Para salvar as alterações, escolha Apply (Aplicar) na parte inferior da página.

  9. Na categoria de configuração Instances (Instâncias), escolha Edit (Editar).

  10. Em Configurações de rede do balanceador de carga, selecione Habilitar para Dualstack (IPv4 e IPv6).

  11. Para salvar as alterações, escolha Apply (Aplicar) na parte inferior da página.

Como usar o AWS CLI

Você pode usar a AWS Command Line Interface (AWS CLI) para configurar os balanceadores de carga do seu ambiente para servir tráfego de rede IPv6 e IPv4. Esta seção fornece exemplos dos comandos create-environment e update-environment com o namespace aws:elbv2:loadbalancer.

nota

Essa configuração depende do tempo de propagação dos dados em vários pontos. Considere os seguintes requisitos de tempo ao configurar seu balanceador de carga e testar as alterações.

Tempo de configuração da VPC. Depois de concluir a configuração da VPC descrita em Pré-requisitos da Amazon VPC, aguarde alguns minutos até que as alterações se propaguem antes de executar esses comandos para configurar seu balanceador de carga para dual stack. Se você encontrar erros de configuração da VPC ou da sub-rede durante a configuração dual stack, aguarde alguns minutos e tente os comandos novamente.

Tempo de propagação do DNS. Depois de definir a opção IpAddressType como dualstack, aguarde alguns minutos até que as alterações se propaguem antes de testar. A propagação do DNS da Route 53 pode levar de 1 a 2 minutos para ser concluída. Durante esse período, você poderá enfrentar problemas ao testar a comunicação de um cliente para a sua aplicação se estiver iniciando solicitações usando o protocolo IPv6.

exemplo de create-environment com configuração dual stack (opções de namespace embutidas)
aws elasticbeanstalk create-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.0 running Python 3.8" \ --option-settings \ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role \ Namespace=aws:elbv2:loadbalancer,OptionName=IpAddressType,Value=dualstack

Outra opção é usar um arquivo options.json para especificar as opções de namespace em vez de incluí-las inline. O comando de exemplo a seguir demonstra o comando update-environment.

exemplo de update-environment com configuração dual stack (opções de namespace no arquivo options.json)
aws elasticbeanstalk update-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.0 running Python 3.8" \ --option-settings \ file://options.json
### example options.json ### [ { "Namespace": "aws:elbv2:loadbalancer", "OptionName": "IpAddressType", "Value": "dualstack" } ]

O exemplo a seguir atualiza um ambiente existente para definir a opção IpAddressType como IPv4.

nota

Esse exemplo de comando update-environment é útil se você precisar reverter a configuração do ambiente dual stack para IPv4.

exemplo de update-environment para definir IpAddressType como IPv4
aws elasticbeanstalk update-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.0 running Python 3.8" \ --option-settings \ Namespace=aws:elbv2:loadbalancer,OptionName=IpAddressType,Value=ipv4

Usar arquivos de configuração .ebextensions

É possível usar os arquivos de configuração do Elastic Beanstalk para permitir que os balanceadores de carga do seu ambiente atendam ao tráfego de rede IPv6 e IPv4. Defina a opção IpAddressType no namespace aws:elbv2:loadbalancer como dual-stack.

nota

Essa configuração depende do tempo de propagação dos dados em vários pontos. Considere os seguintes requisitos de tempo ao configurar seu balanceador de carga e testar as alterações.

Tempo de configuração da VPC. Depois de concluir a configuração da VPC descrita em Pré-requisitos da Amazon VPC, aguarde alguns minutos para que as alterações da VPC se propaguem antes de aplicar as configurações .ebextensions. Se você encontrar erros na configuração da VPC ou da sub-rede durante a configuração, aguarde alguns minutos e tente novamente.

Tempo de propagação do DNS. Depois de definir a opção IpAddressType como dualstack, aguarde alguns minutos até que as alterações se propaguem antes de testar. A propagação do DNS da Route 53 pode levar de 1 a 2 minutos para ser concluída. Durante esse período, você poderá enfrentar problemas ao testar a comunicação de um cliente para a sua aplicação se estiver iniciando solicitações usando o protocolo IPv6.

exemplo .ebextensions/options.config para configuração dual stack do balanceador de carga (sintaxe abreviada)
option_settings: aws:elbv2:loadbalancer: IpAddressType: dualstack
exemplo .ebextensions/options.config para configuração dual stack do balanceador de carga (sintaxe padrão)
option_settings: - namespace: aws:elbv2:loadbalancer option_name: IpAddressType value: dualstack

Uso da SDK AWS

Você pode configurar a dual-stack usando os AWS SDKs. Assim como os comandos update-environment e create-environment da AWS CLI mencionados na seção anterior, você pode usar as ações da API CreateEnvironment e UpdateEnvironment. Use o parâmetro de solicitação OptionSettings para especificar as opções do namespace aws:elbv2:loadbalancer.

nota

Essa configuração depende do tempo de propagação dos dados em vários pontos. Considere os seguintes requisitos de tempo ao configurar seu balanceador de carga e testar as alterações.

Tempo de configuração da VPC. Depois de concluir a configuração da VPC descrita em Pré-requisitos da Amazon VPC, aguarde alguns minutos para que as alterações se propaguem antes de executar seus programas para configurar o balanceador de carga para dual stack. Se você encontrar erros de configuração de VPC ou sub-rede durante a configuração de dual stack, aguarde alguns minutos e tente executar os programas para configuração dual stack novamente.

Tempo de propagação do DNS. Depois de definir a opção IpAddressType como dualstack, aguarde alguns minutos até que as alterações se propaguem antes de testar. A propagação do DNS da Route 53 pode levar de 1 a 2 minutos para ser concluída. Durante esse período, você poderá enfrentar problemas ao testar a comunicação de um cliente para a sua aplicação se estiver iniciando solicitações usando o protocolo IPv6.

Solução de problemas

Experimente a Amazon Q Developer CLI para solução de problemas assistida por IA

A Amazon Q Developer CLI pode ajudar a solucionar problemas de ambiente rapidamente. A Q CLI fornece soluções verificando o status do ambiente, analisando eventos, analisando logs e fazendo perguntas esclarecedoras. Para obter mais informações e orientações detalhadas, consulte Solução de problemas de ambientes do Elastic Beanstalk com a Amazon Q Developer CLI nos blogs da AWS.

Esta seção fornece orientações para a solução de problemas com a configuração dual stack do balanceador de carga.

Evento: a VPC vpc_id não tem blocos CIDR IPv6 configurados. Blocos CIDR IPv6 são necessários para o balanceador de carga dualstack. Associe um bloco CIDR IPv6 à VPC antes de usar o modo dualstack.

Sua VPC e todas as sub-redes devem ter blocos CIDR IPv6 associados. Este é um dos pré-requisitos da VPC que você deve concluir antes de configurar seu balanceador de carga para suporte a dual-stack. Para obter mais informações sobre como concluir esta tarefa, consulte Pré-requisitos da Amazon VPC no início deste tópico.

Evento: uma ou mais sub-redes para a VPC vpc_id não têm blocos CIDR IPv6 configurados. Os blocos CIDR IPv6 são necessários para as sub-redes utilizadas com o balanceador de carga dualstack. Associe blocos CIDR IPv6 a todas as sub-redes necessárias antes de usar o modo dualstack.

Todas as sub-redes da sua VPC devem ter blocos CIDR IPv6 associados. Este é um dos pré-requisitos da VPC que você deve concluir antes de configurar seu balanceador de carga para suporte a dual-stack. Para obter mais informações sobre como concluir esta tarefa, consulte Pré-requisitos da Amazon VPC no início deste tópico.

Erro: a opção IpAddressType só pode ser aplicada em ambientes do Elastic Beanstalk configurados com um Application Load Balancer ou Network Load Balancer.

Essa mensagem indica que seu ambiente Elastic Beanstalk pode ser um ambiente de instância única ou que pode estar usando um Classic Load Balancer. Somente ambientes configurados com um Application Load Balancer ou Network Load Balancer podem configurar IpAddressType.