AWS Elastic Beanstalk
Guia do desenvolvedor

Uso do Elastic Beanstalk com o Amazon Virtual Private Cloud

Você pode usar uma Amazon Virtual Private Cloud (Amazon VPC) para criar uma rede segura para seu aplicativo do Elastic Beanstalk e os recursos relacionados da AWS. Ao criar seu ambiente, você escolhe a VPC, as sub-redes e os security groups que serão usados ​​nas suas instâncias de aplicativo e no load balancer. Você pode usar qualquer configuração de VPC que desejar, desde que ela atenda aos seguintes requisitos.

Requisitos da VPC

  • Acesso à Internet – As instâncias devem ter acesso à Internet por meio de um dos métodos a seguir.

    • Sub-rede pública – as instâncias têm um endereço IP público e usam um gateway da Internet para acessar a Internet.

    • Sub-rede privada – as instâncias usam um dispositivo NAT para acessar a Internet.

    O Elastic Beanstalk não oferece suporte a configurações de proxy, como HTTPS_PROXY, para configurar um proxy da web.

  • NTP – as instâncias em seu ambiente Elastic Beanstalk usam o NTP (Network Time Protocol, Protocolo de horário de rede) para sincronizar o relógio do sistema. Caso as instâncias não consigam se comunicar na porta UDP 123, o relógio pode estar fora de sincronia, causando problemas de relatórios de integridade do Elastic Beanstalk. Certifique-se de que os security groups da VPC e as ACLs de rede permitem o tráfego de entrada e saída de UDP na porta 123 para evitar esses problemas.

O repositório elastic-beanstalk-samples fornece modelos do AWS CloudFormation que você pode usar para criar uma VPC para uso com seus ambientes do Elastic Beanstalk.

Para criar recursos com um modelo do AWS CloudFormation

  1. Clone o repositório de amostras ou faça download de um modelo usando os links no arquivo README.

  2. Abra o console do AWS CloudFormation.

  3. Selecione Create stack.

  4. Escolha Upload a template to Amazon S3.

  5. Escolha Upload file e faça upload do arquivo de modelo da sua máquina local.

  6. Escolha Next e siga as instruções para criar uma pilha com os recursos no modelo.

Quando a criação da pilha for concluída, marque a guia Outputs (Saídas) para encontrar o ID da VPC e os IDs de sub-rede. Use-os para configurar a VPC no novo assistente de ambiente categoria de configuração de rede.

VPC com sub-redes públicas

Modelo do AWS CloudFormationvpc-public.yaml

Configurações (balanceamento de carga)

  • Visibilidade do load balancer – público

  • Sub-redes do load balancer – ambas sub-redes públicas

  • IP público da instância – ativado

  • Sub-redes da instância – ambas sub-redes públicas

  • Grupos de segurança de instância – adicione o grupo de segurança padrão

Configurações (instância única)

  • Sub-redes da instância – uma das sub-redes públicas

  • Grupos de segurança de instância – adicione o grupo de segurança padrão

Um layout somente público da VPC inclui uma ou mais sub-redes públicas, um gateway de Internet e um grupo de segurança padrão que permite o tráfego entre recursos na VPC. Quando você cria um ambiente na VPC, o Elastic Beanstalk cria recursos adicionais que variam dependendo do tipo de ambiente.

Recursos do VPC

  • Instância única – o Elastic Beanstalk cria um grupo de segurança para a instância do aplicativo que permite o tráfego na porta 80 da Internet e atribui à instância um IP elástico para fornecer um endereço IP público. O nome de domínio do ambiente é resolvido para o endereço IP público da instância.

  • Balanceamento de carga – o Elastic Beanstalk cria um grupo de segurança para o load balancer que permite o tráfego na porta 80 da Internet e um grupo de segurança para as instâncias do aplicativo que permite o tráfego do grupo de segurança do load balancer. O nome de domínio do ambiente é resolvido para o nome de domínio público do load balancer.

Isso é semelhante ao modo como o Elastic Beanstalk gerencia a rede quando você usa a VPC padrão. A segurança em uma sub-rede pública depende do load balancer e dos security groups da instância criados pelo Elastic Beanstalk. É a configuração mais econômica, porque não requer um gateway NAT.

VPC com sub-redes privadas e públicas

Modelo do AWS CloudFormationvpc-privatepublic.yaml

Configurações (balanceamento de carga)

  • Visibilidade do load balancer – público

  • Sub-redes do load balancer – ambas sub-redes públicas

  • IP público da instância – desativado

  • Sub-redes da instância – ambas sub-redes privadas

  • Grupos de segurança de instância – adicione o grupo de segurança padrão

Para mais segurança, adicione sub-redes privadas à sua VPC para criar um layout público-privado. Esse layout requer um load balancer e um gateway NAT nas sub-redes públicas e permite que você execute instâncias do aplicativo, banco de dados e quaisquer outros recursos nas sub-redes privadas. Instâncias em sub-redes privadas podem se comunicar apenas com a Internet por meio do load balancer e do gateway NAT.

Para aplicativos internos que você não quer tornar acessíveis pela Internet, é possível executar tudo em sub-redes privadas e configurar o load balancer para ser interno (alterar Load balancer visibility (Visibilidade do load balancer) para Internal (Interno)). Use esse layout para aplicativos que só devem ser acessados a partir da mesma VPC ou de uma VPN conectada.