Quando tento criar um ambiente AWS Elastic Beanstalk, recebo a mensagem de erro “failed to communicate”.
Breve descrição
Você deve configurar suas instâncias do Amazon Elastic Compute Cloud (Amazon EC2) para iniciar conexões de saída com o Elastic Beanstalk e outros endpoints de serviço.
Se você tentar criar um ambiente Elastic Beanstalk sem uma conexão de saída, receberá a seguinte mensagem de erro:
"The EC2 instances failed to communicate with AWS Elastic Beanstalk, either because of configuration problems with the VPC or a failed EC2 instance. Check your VPC configuration and try launching the environment again."
Para resolver esse erro, confirme que você configurou suas instâncias do EC2 para iniciar conexões de saída por meio de um dos seguintes endpoints:
Resolução
Para instâncias do EC2 configuradas em uma sub-rede pública
Se suas instâncias não conseguirem acessar a Internet, verifique se você conectou seu gateway da Internet à VPC. Verifique também se você configurou sua tabela de rotas para ter uma rota 0.0.0.0/0 que aponta para o Gateway da Internet.
Certifique-se de associar suas sub-redes públicas à tabela de rotas correta que tenha essa rota padrão.
Você deve configurar suas instâncias para ter acesso de saída a HTTPS (443) e HTTP (80) para se comunicar com os serviços da AWS e baixar pacotes. Certifique-se de que seus grupos de segurança permitam o tráfego de saída nas portas para 0.0.0.0/0. Para tráfego de entrada, permita que seu balanceador de carga alcance instâncias nas portas da aplicação.
Se você estiver usando listas de controle de acesso (ACLs) à rede personalizadas, certifique-se de permitir o tráfego de saída nas portas 80 e 443 e tráfego de retorno de entrada nas portas efêmeras (1024-65535). É uma prática recomendada usar a ACL de rede padrão porque ela permite todo o tráfego.
Para instâncias do EC2 configuradas em uma sub-rede privada
Você deve implantar seu Gateway NAT em uma sub-rede pública com um endereço IP elástico anexado. Certifique-se de apontar a tabela de rotas 0.0.0.0/0 da sub-rede privada para o Gateway NAT e a rota 0.0.0.0/0 da sub-rede pública (onde reside o Gateway NAT) para o Gateway da Internet. Para mais informações, consulte Solucionar problemas de gateways NAT.
Se você tiver rotas ausentes ou incorretas, falhas de conectividade podem ocorrer. Para resolver esse problema, confirme se suas sub-redes privadas roteiam o tráfego 0.0.0.0/0 para o Gateway NAT e se você roteia o tráfego da rota 0.0.0.0/0 da sub-rede pública do Gateway NAT para o Gateway da Internet.
Você deve configurar o acesso de saída nas portas 80 e 443 para que suas instâncias privadas acessem os serviços da AWS e baixem pacotes. Se você estiver usando uma instância NAT em vez do Gateway NAT, certifique-se de configurar o grupo de segurança da instância NAT para conceder tráfego de entrada de sub-redes privadas e tráfego de saída para a Internet.
As instâncias não podem resolver endpoints de serviços da AWS sem a configuração correta do DNS, mesmo com o roteamento correto. Para resolver esse problema, ative a resolução de DNS e os nomes de host DNS.
Para instâncias do EC2 configuradas por meio de endpoints da VPC
Certifique-se de configurar os seguintes endpoints da VPC para iniciar seu ambiente corretamente:
- Amazon Simple Queue Service (Amazon SQS)
- AWS CloudFormation
- Elastic Beanstalk (elasticbeanstalk.region.amazonaws.com)
- Elastic Beanstalk Health (elasticbeanstalk-health.region.amazonaws.com)
- Endpoint de gateway do Amazon Simple Storage Service (Amazon S3)
Observação: se seu ambiente precisar interagir com outros serviços da AWS, crie os endpoints da VPC para esses serviços.
Os endpoints da VPC devem ter grupos de segurança que permitam tráfego HTTPS (443) das sub-redes da sua instância. Certifique-se de criar um grupo de segurança para endpoints da VPC com regras de entrada que permitam a porta 443 de seus blocos CIDR de sub-rede privada ou grupos de segurança de instâncias.
Ative o DNS privado nos endpoints da interface e certifique-se de ter ativado a resolução de DNS e os nomes de host DNS para sua VPC.
Informações relacionadas
Por que não consigo usar o NAT para conectar minha instância do EC2 em uma sub-rede privada à internet?