

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usar o Elastic Beanstalk com Amazon VPC
<a name="vpc"></a>

Este tópico explica os benefícios do uso de endpoints de VPC com o Elastic Beanstalk e os diferentes tipos de configurações que você pode implementar.

Você pode usar uma [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/vpc/latest/userguide/) (Amazon VPC) para criar uma rede segura para seu aplicativo Elastic Beanstalk e recursos relacionados. 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 podem 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.
**nota**  
Se você configurar [VPC endpoints](vpc-vpce.md) em sua VPC para se conectar aos serviços `elasticbeanstalk` e `elasticbeanstalk-health`, o acesso à Internet será opcional e será necessário somente se o aplicativo precisar especificamente dele. Sem VPC endpoints, sua VPC deve ter acesso à Internet.  
A VPC padrão que o Elastic Beanstalk configura para você fornece acesso à internet.

  O Elastic Beanstalk não é compatível com as configurações de proxy, como `HTTPS_PROXY` para configurar um proxy da Web.
+ **NTP**: as instâncias no ambiente do Elastic Beanstalk usam o Network Time Protocol (NTP) 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 seus grupos de segurança e rede VPC ACLs permitam tráfego UDP de entrada e saída na porta 123 para evitar esses problemas.

O [elastic-beanstalk-samples](https://github.com/awsdocs/elastic-beanstalk-samples/)repositório fornece CloudFormation modelos que você pode usar para criar uma VPC para uso com seus ambientes do Elastic Beanstalk.

**Para criar recursos com um CloudFormation modelo**

1. Clone o repositório de exemplos ou faça download de um modelo usando os links no arquivo [README](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/cfn-templates/README.md).

1. Abra o [console do CloudFormation](https://console.aws.amazon.com/cloudformation/home).

1. Selecione **Criar pilha**.

1. Escolha **Upload a template to Amazon S3**.

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

1. 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, verifique a guia **Saídas para encontrar** o ID da VPC e a sub-rede. IDs Use-os para configurar a VPC no novo assistente de ambiente [categoria de configuração de rede](environments-create-wizard.md#environments-create-wizard-network).

**Topics**
+ [VPC pública](#services-vpc-public)
+ [VPC pública/privada](#services-vpc-privatepublic)
+ [VPC privada](#services-vpc-private)
+ [Exemplo: Iniciar uma aplicação do Elastic Beanstalk em uma VPC com bastion hosts](vpc-bastion-host.md)
+ [Exemplo: Iniciar um Elastic Beanstalk em uma VPC com o Amazon RDS](vpc-rds.md)
+ [Usar o Elastic Beanstalk com VPC endpoints](vpc-vpce.md)
+ [Usar políticas de endpoint para controlar o acesso com VPC endpoints](vpc-vpce.policy.md)

## VPC pública
<a name="services-vpc-public"></a>

**CloudFormation modelo** — [vpc-public.yaml](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/cfn-templates/vpc-public.yaml)

**Configurações (balanceamento de carga)**
+ **Visibilidade do balanceador de carga**: público
+ **Sub-redes do balanceador de carga**: as duas sub-redes públicas
+ **IP público da instância**: habilitado
+ **Sub-redes da instância**: as duas 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 da 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 da VPC**
+ **Instância única**: o Elastic Beanstalk cria um grupo de segurança para a instância da aplicação 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 balanceador de carga que permite o tráfego na porta 80 da Internet e um grupo de segurança para as instâncias da aplicação que permite o tráfego do grupo de segurança do balanceador de carga. 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 balanceador de carga e dos grupos de segurança da instância criados pelo Elastic Beanstalk. É a configuração mais econômica, porque não requer um gateway NAT.

## VPC pública/privada
<a name="services-vpc-privatepublic"></a>

**CloudFormation modelo** — [vpc-privatepublic.yaml](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/cfn-templates/vpc-privatepublic.yaml)

**Configurações (balanceamento de carga)**
+ **Visibilidade do balanceador de carga**: público
+ **Sub-redes do balanceador de carga**: as duas sub-redes públicas
+ **IP público da instância**: desabilitado
+ **Sub-redes da instância**: as duas 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.

## VPC privada
<a name="services-vpc-private"></a>

**CloudFormation modelo** — [vpc-private.yaml](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/cfn-templates/vpc-private.yaml)

**Configurações (balanceamento de carga)**
+ **Visibilidade do balanceador de carga**: privado
+ **Sub-redes do balanceador de carga**: as duas sub-redes privadas
+ **IP público da instância**: desabilitado
+ **Sub-redes da instância**: as duas sub-redes privadas
+ **Grupos de segurança de instância**: adicione o grupo de segurança padrão

Para aplicativos internos que não devem ter acesso da Internet, é possível executar tudo em sub-redes privadas e configurar o load balancer para ser interno (altere **Load balancer visibility (Visibilidade do load balancer)** para **Internal (Interno)**). Esse modelo cria uma VPC sem sub-redes públicas e sem um gateway da Internet. Use esse layout para aplicativos que só devem ser acessados a partir da mesma VPC ou de uma VPN conectada.

### Executar um ambiente do Elastic Beanstalk em uma VPC privada
<a name="services-vpc-private-beanstalk"></a>

Quando você cria o ambiente do Elastic Beanstalk em uma VPC privada, o ambiente não tem acesso à Internet. Sua aplicação pode precisar de acesso ao serviço Elastic Beanstalk ou a outros serviços. Seu ambiente pode usar relatórios de integridade avançada, e, nesse caso, as instâncias do ambiente enviam informações de integridade para o serviço de integridade avançada. E o código do Elastic Beanstalk em instâncias do ambiente envia tráfego AWS para outros serviços e outro tráfego para outros endpoints (por exemplo, para AWS baixar pacotes de dependências para seu aplicativo). Veja a seguir algumas etapas que podem ser necessárias para execução nesse caso, a fim de garantir que seu ambiente funcione corretamente.
+ *Configurar VPC endpoints para o Elastic Beanstalk*: o Elastic Beanstalk e seu serviço de integridade aprimorada são compatíveis com VPC endpoints, que garantem que o tráfego para esses serviços permaneça dentro da rede da Amazon e não exija acesso à Internet. Para obter mais informações, consulte [Usar o Elastic Beanstalk com VPC endpoints](vpc-vpce.md).
+ *Configure endpoints de VPC para serviços adicionais* — As instâncias do Elastic Beanstalk enviam tráfego para vários outros serviços AWS em seu nome: Amazon Simple Storage Service (Amazon S3), Amazon Simple Queue Service (Amazon SQS) e Amazon Logs. AWS CloudFormation CloudWatch É necessário configurar VPC endpoints para esses serviços também. Para obter informações detalhadas sobre VPC endpoints, incluindo links por serviço, consulte [VPC endpoints](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) no *Guia do usuário da Amazon VPC*.
**nota**  
Alguns AWS serviços, incluindo o Elastic Beanstalk, oferecem suporte a endpoints de VPC em um número limitado de regiões. AWS Ao projetar sua solução de VPC privada, verifique se o Elastic Beanstalk e os outros serviços dependentes mencionados aqui oferecem suporte a endpoints de VPC na região que você escolher. AWS 
+ *Fornecer uma imagem privada do Docker*: em um ambiente [Docker](create_deploy_docker.md), o código nas instâncias do ambiente pode tentar extrair sua imagem configurada do Docker da Internet durante a criação do ambiente e falhar. Para evitar essa falha, [crie uma imagem personalizada do Docker](single-container-docker-configuration.md#single-container-docker-configuration.dockerfile) no ambiente ou use uma imagem do Docker armazenada no [Amazon Elastic Container Registry](https://docs.aws.amazon.com/AmazonECR/latest/userguide/) (Amazon ECR) e [configure um VPC endpoint para o serviço Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/vpc-endpoints.html).
+ *Habilite nomes de DNS* — o código do Elastic Beanstalk em instâncias do ambiente envia tráfego AWS para todos os serviços usando seus endpoints públicos. Para garantir que esse tráfego passe, escolha a opção **Enable DNS name (Habilitar nome DNS)** ao configurar todos os VPC endpoints de interface. Isso adiciona uma entrada DNS em sua VPC que mapeia o endpoint público de serviço para o VPC endpoint de interface.
**Importante**  
Se sua VPC não for privada e tiver acesso público à Internet e se **Enable DNS name (Habilitar nome DNS)** estiver desabilitado para qualquer VPC endpoint, o tráfego para o respectivo serviço será enviado pela Internet pública. Isso provavelmente não é o que você pretende. É fácil detectar esse problema com uma VPC privada, pois impede que esse tráfego passe e você receba erros. No entanto, com uma VPC voltada para o público, você não recebe nenhuma indicação.
+ *Incluir dependências de aplicações*: se sua aplicação tiver dependências como pacotes de runtime de linguagem, ele poderá tentar fazer download deles e instalá-los da Internet durante a criação do ambiente e falhar. Para evitar essa falha, inclua todos os pacotes de dependência no pacote de origem do aplicativo.
+ *Usar uma versão da plataforma atual*: certifique-se de que seu ambiente use uma versão da plataforma lançada em 24 de fevereiro de 2020 ou posterior. Especificamente, use uma versão da plataforma que foi lançada a partir de uma destas duas atualizações: [Linux Update 2020-02-28](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2020-02-28-linux.html), [Windows Update 2020-02-24](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2020-02-24-windows.html).
**nota**  
O motivo da necessidade de uma versão atualizada da plataforma é que as versões mais antigas tinham um problema que impedia que as entradas DNS criadas pela opção **Enable DNS name (Habilitar nome DNS)** funcionassem corretamente para o Amazon SQS.