

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á.

# Balanceador de carga do ambiente do Elastic Beanstalk
<a name="using-features.managing.elb"></a>

Um load balancer distribui o tráfego entre as instâncias do ambiente. Quando você [ativa o balanceamento de carga](using-features-managing-env-types.md#using-features.managing.changetype), AWS Elastic Beanstalk cria um balanceador de [carga do Elastic](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/) Load Balancing dedicado ao seu ambiente. O Elastic Beanstalk gerencia totalmente esse balanceador de carga, cuidando das configurações de segurança e encerrando o balanceador de carga quando o ambiente é encerrado.

Também há a opção de compartilhar um balanceador de carga em vários ambientes do Elastic Beanstalk. Com um load balancer compartilhado, você economiza no custo operacional evitando um load balancer dedicado para cada ambiente. Você também assume mais responsabilidade de gerenciamento pelo load balancer compartilhado usado pelos ambientes.

O Elastic Load Balancing tem estes tipos de balanceador de carga:
+ [Classic Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/): o balanceador de carga da geração anterior. Rotas de tráfego de solicitação HTTP, HTTPS ou TCP para portas diferentes em instâncias de ambiente.
+ [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/): um balanceador de carga da camada de aplicação. Rotas de tráfego de solicitação HTTP ou HTTPS para portas diferentes em instâncias de ambiente com base no caminho da solicitação.
+ [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/): um balanceador de carga de camada de rede. Rotas de tráfego de solicitação TCP para portas diferentes em instâncias de ambiente. Oferece suporte a verificações de integridade ativas e passivas.

O Elastic Beanstalk é compatível com todos os três tipos de balanceador de carga. A tabela a seguir mostra quais tipos você pode usar com os dois padrões de uso:


| Tipo de balanceador de carga | Dedicado | Compartilhado | 
| --- | --- | --- | 
|  Classic Load Balancer  |   ![\[Yes\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/icon-yes.png) Sim  |   ![\[No\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/icon-no.png) Não  | 
|  Application Load Balancer  |   ![\[Yes\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/icon-yes.png) Sim  |   ![\[Yes\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/icon-yes.png) Sim  | 
|  Network Load Balancer  |   ![\[Yes\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/icon-yes.png) Sim  |   ![\[No\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/icon-no.png) Não  | 

**nota**  
A opção Classic Load Balancer (CLB) está desabilitada no assistente do console **Criar ambiente**. Se você tiver um ambiente existente configurado com um Classic Load Balancer, poderá criar um novo [clonando o ambiente existente](using-features.managing.clone.md) usando o console do Elastic Beanstalk ou a [CLI do EB](using-features.managing.clone.md#using-features.managing.clone.CLI). Você também tem a opção de usar a CLI do EB ou a [AWS CLI](environments-create-awscli.md) para criar um novo ambiente configurado com um Classic Load Balancer. Essas ferramentas de linha de comando criarão um novo ambiente com um CLB mesmo que ainda não exista um em sua conta. 

Por padrão, o Elastic Beanstalk cria um Application Load Balancer para seu ambiente quando você habilita o balanceamento de carga com o console Elastic Beanstalk ou a CLI do EB. Ele configura o load balancer para ouvir o tráfego HTTP na porta 80 e encaminhar esse tráfego para instâncias na mesma porta. Você só pode escolher o tipo de load balancer que seu ambiente usará durante a criação do ambiente. Posteriormente, você pode alterar as configurações para gerenciar o comportamento do load balancer do ambiente em execução, mas não pode alterar seu tipo.

**nota**  
Seu ambiente deve estar em uma VPC com sub-redes em pelo menos duas zonas de disponibilidade para criar um Application Load Balancer. Todas as novas AWS contas incluem contas padrão VPCs que atendem a esse requisito. 

Consulte os tópicos a seguir para saber mais sobre cada tipo de balanceador de carga compatível com o Elastic Beanstalk, sua funcionalidade, como configurá-lo e gerenciá-lo em um ambiente do Elastic Balanceador e como configurar um balanceador de carga para [fazer upload de logs de acesso](environments-cfg-loadbalancer-accesslogs.md) para o Amazon S3. 

**Topics**
+ [Configuração de um Classic Load Balancer](environments-cfg-clb.md)
+ [Configuração de um Application Load Balancer](environments-cfg-alb.md)
+ [Configurar um Application Load Balancer compartilhado](environments-cfg-alb-shared.md)
+ [Configurar um Network Load Balancer](environments-cfg-nlb.md)
+ [Configurar balanceadores de carga do Elastic Beanstalk dual-stack](environments-cfg-elbv2-ipv6-dualstack.md)
+ [Configurar logs de acesso](environments-cfg-loadbalancer-accesslogs.md)

# Configuração de um Classic Load Balancer
<a name="environments-cfg-clb"></a>

Quando você [ativa o balanceamento de carga](using-features-managing-env-types.md#using-features.managing.changetype), seu AWS Elastic Beanstalk ambiente é equipado com um balanceador de carga do Elastic Load Balancing para distribuir o tráfego entre as instâncias em seu ambiente. O Elastic Load Balancing é compatível com vários tipos de balanceador de carga. Para saber mais sobre eles, consulte o [Guia do usuário do Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/). O Elastic Beanstalk pode criar um balanceador de carga para você ou permitir a especificação de um balanceador de carga compartilhado que você criou.

Este tópico descreve a configuração de um [Classic Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/) que o Elastic Beanstalk cria e dedica ao seu ambiente. Para obter informações sobre como configurar todos os tipos de balanceador de carga compatíveis com o Elastic Beanstalk, consulte [Balanceador de carga do ambiente do Elastic Beanstalk](using-features.managing.elb.md).

**nota**  
Você só pode escolher o tipo de load balancer que seu ambiente usará durante a criação do ambiente. Posteriormente, você pode alterar as configurações para gerenciar o comportamento do load balancer do ambiente em execução, mas não pode alterar seu tipo.

## Introdução
<a name="environments-cfg-clb-intro"></a>

Um [Classic Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/) é o balanceador de carga da geração anterior do Elastic Load Balancing. Oferece suporte ao roteamento de tráfego de solicitação HTTP, HTTPS ou TCP para portas diferentes em instâncias de ambiente.

Quando seu ambiente usa um Classic Load Balancer, o Elastic Beanstalk o configura por padrão para [ouvir](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html) o tráfego HTTP na porta 80 e encaminhá-lo para instâncias na mesma porta. Embora não seja possível excluir o ouvinte padrão da porta 80, você pode desabilitá-lo, o que obtém a mesma funcionalidade ao bloquear o tráfego. Observe que você pode adicionar ou excluir outros receptores. Para oferecer suporte a conexões seguras, configure o load balancer com um listener na porta 443 e um certificado TLS.

O balanceador de carga usa uma [verificação de saúde](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-healthchecks.html) para determinar se as EC2 instâncias da Amazon que executam seu aplicativo estão íntegras. A verificação de integridade faz uma solicitação para um URL especificado em um intervalo de tempo definido. Se o URL retornar uma mensagem de erro ou não retornar dentro do tempo limite especificado, essa verificação falhará.

Se a aplicação tiver melhor performance atendendo a várias solicitações do mesmo cliente em um único servidor, configure o balanceador de carga para usar [sticky sessions](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html). Com sessões fixas, o balanceador de carga adiciona um cookie às respostas HTTP que identifica a EC2 instância da Amazon que atendeu à solicitação. Quando uma solicitação subsequente é recebida do mesmo cliente, o load balancer usa o cookie para enviar a solicitação para a mesma instância.

Com o [balanceamento de carga entre zonas](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html), cada nó do balanceador de carga do seu Classic Load Balancer distribui solicitações uniformemente a todas as instâncias registradas em todas as zonas de disponibilidade habilitadas. Se o balanceamento de carga entre zonas estiver desabilitado, cada nó do balanceador de carga distribuirá solicitações uniformemente às instâncias registradas somente em sua zona de disponibilidade.

Quando uma instância é removida do balanceador de carga por não ser íntegra ou por redução do ambiente, a [diminuição de conexão](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html) dá à instância tempo de concluir as solicitações antes de fechar a conexão entre a instância e o balanceador de carga. Você pode alterar o tempo concedido às instâncias para enviar uma resposta ou pode desabilitar completamente a drenagem de conexão.

**nota**  
A diminuição de conexão é habilitada por padrão quando um ambiente é criado com o console do Elastic Beanstalk ou a CLI do EB. Para os outros clientes, é possível ativá-la com [opções de configuração](#environments-cfg-clb-namespace). 

Você pode usar configurações avançadas do balanceador de carga para configurar ouvintes em portas arbitrárias, modificar configurações adicionais de sessão fixa e configurar o balanceador de carga para se conectar às instâncias com segurança. EC2 Essas configurações estão disponíveis por meio das [opções de configuração](#environments-cfg-clb-namespace) que podem ser definidas com os arquivos de configuração no código-fonte ou diretamente em um ambiente usando a API do Elastic Beanstalk. Muitas dessas configurações também estão disponíveis no console do Elastic Beanstalk. Além disso, é possível configurar um balanceador de carga para [fazer upload de logs de acesso](environments-cfg-loadbalancer-accesslogs.md) no Amazon S3.

## Configurar um Classic Load Balancer usando o console do Elastic Beanstalk
<a name="environments-cfg-clb-console"></a>

É possível usar o console do Elastic Beanstalk para configurar portas, certificado HTTPS e outras configurações de um Classic Load Balancer durante a criação do ambiente ou mais tarde, quando o ambiente estiver em execução.

**nota**  
A opção Classic Load Balancer (CLB) está desabilitada no assistente do console **Criar ambiente**. Se você tiver um ambiente existente configurado com um Classic Load Balancer, poderá criar um novo [clonando o ambiente existente](using-features.managing.clone.md) usando o console do Elastic Beanstalk ou a [CLI do EB](using-features.managing.clone.md#using-features.managing.clone.CLI). Você também tem a opção de usar a CLI do EB ou a [AWS CLI](environments-create-awscli.md) para criar um novo ambiente configurado com um Classic Load Balancer. Essas ferramentas de linha de comando criarão um novo ambiente com um CLB mesmo que ainda não exista um em sua conta. 

**Como configurar o Classic Load Balancer de um ambiente em execução no console do Elastic Beanstalk**

1. Abra o console do [Elastic](https://console.aws.amazon.com/elasticbeanstalk) Beanstalk e, **na** lista Regiões, selecione sua. Região da AWS

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

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

1. Na categoria de configuração **Load balancer**, escolha **Edit (Editar)**.
**nota**  
Se a categoria de configuração **Load balancer** não tem um botão **Edit (Editar)**, seu ambiente não tem um load balancer. Para aprender como configurar um, consulte [Alterar tipo de ambiente](using-features-managing-env-types.md#using-features.managing.changetype).

1. Faça as alterações de configuração do Classic Load Balancer necessárias ao seu ambiente.

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

**Topics**
+ [Listeners](#using-features.managing.elb.listeners)
+ [Sessões](#using-features.managing.elb.sessions)
+ [Balanceamento de carga entre zonas](#using-features.managing.elb.cross-zone)
+ [Drenagem da conexão](#using-features.managing.elb.draining)
+ [Verificação de saúde](#using-features.managing.elb.healthchecks)

### Listeners
<a name="using-features.managing.elb.listeners"></a>

Use esta lista para especificar listeners para seu load balancer. Cada listener direciona o tráfego de entrada do cliente em uma porta especificada usando um protocolo especificado para suas instâncias. Inicialmente, a lista mostra o listener padrão, que roteia o tráfego HTTP de entrada na porta 80 para os servidores de instância do seu ambiente que estão observando o tráfego HTTP na porta 80.

**nota**  
Embora não seja possível excluir o ouvinte padrão da porta 80, você pode desabilitá-lo, o que obtém a mesma funcionalidade ao bloquear o tráfego.

![\[Configuração do Classic Load Balancer: editar listeners\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-clb-listeners.png)


**Para configurar um listener existente**

1. Marque a caixa de seleção ao lado da entrada da tabela, escolha **Actions**, e depois escolha a ação desejada.

1. Se escolher **Edit**, use a caixa de diálogo **Classic Load Balancer listener** para editar as configurações e, em seguida, escolha **Save**.

Por exemplo, você pode editar o listener padrão e alterar **Protocol** de **HTTP** para **TCP** se você quiser que o load balancer encaminhe uma solicitação como está. Isso impede que o load balancer reescreva cabeçalhos (incluindo `X-Forwarded-For`). A técnica não funciona com sticky sessions.

![\[Configuração do Classic Load Balancer: alterar o protocolo do listener padrão para TCP\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-clb-listeners-tcp.png)


**Para adicionar um listener**

1. Escolha **Add listener**.

1. Na caixa de diálogo **Classic Load Balancer listener**, defina as configurações desejadas e, em seguida, escolha **Add**.

Adicionar um listener seguro é um caso de uso comum. O exemplo na imagem a seguir adiciona um listener ao tráfego HTTPS na porta 443. Esse listener direciona o tráfego de entrada para os servidores de instância do ambiente que observam o tráfego HTTPS na porta 443.

Antes de configurar um listener HTTPS, verifique se você tem um certificado SSL válido. Execute um destes procedimentos:
+ Se AWS Certificate Manager (ACM) estiver [disponível em sua AWS região](https://docs.aws.amazon.com/general/latest/gr/acm.html), crie ou importe um certificado usando o ACM. Para obter mais informações sobre como solicitar um certificado do ACM, consulte [Solicitação de um certificado](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request.html) no *Manual do usuário do AWS Certificate Manager *. Para obter mais informações sobre a importação de certificados de terceiros para o ACM, consulte [Importação de certificados](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) no *Manual do usuário do AWS Certificate Manager *.
+ Se o ACM não estiver [disponível na sua AWS região](https://docs.aws.amazon.com/general/latest/gr/acm.html), faça o upload do certificado e da chave existentes para o IAM. Para obter mais informações sobre a criação e o upload de certificados para o IAM, consulte [Trabalhar com certificados de servidor](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingServerCerts.html) no *Guia do usuário do IAM*.

Para obter mais detalhes sobre como configurar o HTTPS e trabalhar com os certificados no Elastic Beanstalk, consulte [Configurar HTTPS para o seu ambiente do Elastic Beanstalk](configuring-https.md).

Para **SSL certificate**, escolha o ARN do seu certificado SSL. Por exemplo, `arn:aws:iam::123456789012:server-certificate/abc/certs/build` ou `arn:aws:acm:us-east-2:123456789012:certificate/12345678-12ab-34cd-56ef-12345678`.

![\[Configuração do Classic Load Balancer: adicionar um listener seguro\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-clb-listeners-https.png)


Para obter detalhes sobre como configurar o HTTPS e trabalhar com os certificados no Elastic Beanstalk, consulte [Configurar HTTPS para o seu ambiente do Elastic Beanstalk](configuring-https.md).

### Sessões
<a name="using-features.managing.elb.sessions"></a>

Selecione ou desmarque a caixa **Perdurabilidade da sessão habilitada**para habilitar ou desabilitar as sticky sessions. Use **Duração do cookie** para configurar a duração de uma sticky session até **1000000** segundos. Na lista **Load balancer ports (Portas do load balancer)**, selecione portas do listener às quais a política padrão (`AWSEB-ELB-StickinessPolicy`) se aplica.

![\[Configurações do Classic Load Balancer para perdurabilidade e duração da sessão\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-elb-sessions.png)


### Balanceamento de carga entre zonas
<a name="using-features.managing.elb.cross-zone"></a>

Selecione ou desmarque a caixa **Load balancing across multiple Availability Zones enabled** para habilitar ou desabilitar o balanceamento de carga entre zonas.

![\[Configurações do Classic Load Balancer para balanceamento de carga entre zonas\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-elb-cross-zone.png)


### Drenagem da conexão
<a name="using-features.managing.elb.draining"></a>

Selecione ou desmarque a caixa **Diminuição de conexão habilitada** para habilitar ou desabilitar a diminuição de conexão. Defina **Tempo limite de drenagem** até **3600** segundos.

![\[Configurações do Classic Load Balancer para diminuição de conexão e tempo limite de diminuição de conexão\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-elb-draining.png)


### Verificação de saúde
<a name="using-features.managing.elb.healthchecks"></a>

Use as configurações a seguir para configurar as verificações de integridade do load balancer:
+ **Health check path (Caminho da verificação de integridade)**: o caminho para o qual o balanceador de carga envia solicitações de verificação de integridade. Se você não definir o caminho, o load balancer tentará fazer uma conexão TCP na porta 80 para verificar a integridade.
+ **Timeout (Tempo limite)**: a quantidade de tempo, em segundos, para aguardar uma resposta de verificação de integridade.
+ **Interval (Intervalo)**: a quantidade de tempo, em segundos, entre as verificações de integridade de uma instância individual. O intervalo deve ser maior que o tempo limite.
+ **Unhealthy threshold (Limite não íntegro)**, **Healthy threshold (Limite íntegro)**: o número de verificações de integridade que devem falhar ou passar, respectivamente, antes que o Elastic Load Balancing altere o estado de integridade de uma instância.

![\[Configurações do Classic Load Balancer para verificação de integridade\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-elb-healthcheck.png)


**nota**  
A verificação de integridade do Elastic Load Balancing não afeta o comportamento da verificação de integridade do grupo de Auto Scaling de um ambiente. As instâncias que falham em uma verificação de saúde do Elastic Load Balancing não são substituídas automaticamente pelo Amazon Auto EC2 Scaling, a menos que você configure manualmente o Amazon Auto EC2 Scaling para fazer isso. Para mais detalhes, consulte [Configuração da verificação de integridade do ajuste de escala automático para o seu ambiente Elastic Beanstalk](environmentconfig-autoscaling-healthchecktype.md). 

Para obter mais informações sobre verificações de integridade e como elas influenciam a integridade geral do ambiente, consulte [Relatórios de integridade básica](using-features.healthstatus.md).

## Configurar um Classic Load Balancer usando a CLI do EB
<a name="environments-cfg-clb-ebcli"></a>

A EB CLI solicita que você escolha um tipo de load balancer ao executar o [**eb create**](eb3-create.md).

```
$ eb create
Enter Environment Name
(default is my-app): test-env
Enter DNS CNAME prefix
(default is my-app): test-env-DLW24ED23SF

Select a load balancer type
1) classic
2) application
3) network
(default is 1):
```

Pressione **Enter** para selecionar `classic`.

Você também pode especificar um tipo de load balancer usando a opção `--elb-type`.

```
$ eb create test-env --elb-type classic
```

## Namespaces de configuração do Classic Load Balancer
<a name="environments-cfg-clb-namespace"></a>

É possível encontrar configurações relacionadas aos Classic Load Balancers nos seguintes namespaces:
+ [`aws:elb:healthcheck`](command-options-general.md#command-options-general-elbhealthcheck): configure os limites, o intervalo de verificação e o tempo limite das verificações de integridade do balanceador de carga.
+ [`aws:elasticbeanstalk:application`](command-options-general.md#command-options-general-elasticbeanstalkapplication): configure o URL da verificação de integridade.
+ [`aws:elb:loadbalancer`](command-options-general.md#command-options-general-elbloadbalancer): habilitar balanceamento de carga entre zonas. Atribua security groups ao load balancer e substitua o security group padrão que o Elastic Beanstalk cria. Esse namespace também inclui opções obsoletas de configuração de ouvintes padrão e seguros que foram substituídas pelas opções no namespace `aws:elb:listener`.
+ [`aws:elb:listener`](command-options-general.md#command-options-general-elblistener): configure o listener padrão na porta 80, um listener seguro na porta 443 ou outros listeners para qualquer protocolo em qualquer porta. Se você especificar `aws:elb:listener` como o namespace, as configurações se aplicarão ao listener padrão na porta 80. Se você especificar uma porta (por exemplo, `aws:elb:listener:443`), um listener será configurado nessa porta.
+ [`aws:elb:policies`](command-options-general.md#command-options-general-elbpolicies): defina configurações adicionais para o balanceador de carga. Use as opções nesse namespace para configurar ouvintes em portas arbitrárias, modificar configurações adicionais de sessão fixa e configurar o balanceador de carga para se conectar com segurança às instâncias da Amazon. EC2 

A CLI do EB e o console do Elastic Beanstalk aplicam os valores recomendados para as opções anteriores. Se quiser usar arquivos de configuração para definir a mesma coisa, você precisa remover essas configurações. Para mais detalhes, consulte [Valores recomendados](command-options.md#configuration-options-recommendedvalues).

**Example .ebextensions/loadbalancer-terminatehttps.config**  
O exemplo de arquivo de configuração a seguir cria um listener HTTPS na porta 443, atribui um certificado que o load balancer usa para encerrar a conexão segura e desabilita o listener padrão na porta 80. O balanceador de carga encaminha as solicitações descriptografadas para as EC2 instâncias em seu ambiente em HTTP:80.  

```
option_settings:
  aws:elb:listener:443:
    ListenerProtocol: HTTPS
    SSLCertificateId: arn:aws:acm:us-east-2:123456789012:certificate/12345678-12ab-34cd-56ef-12345678
    InstancePort: 80
    InstanceProtocol: HTTP
  aws:elb:listener:
    ListenerEnabled: false
```

# Configuração de um Application Load Balancer
<a name="environments-cfg-alb"></a>

Quando você [ativa o balanceamento de carga](using-features-managing-env-types.md#using-features.managing.changetype), seu AWS Elastic Beanstalk ambiente é equipado com um balanceador de carga do Elastic Load Balancing para distribuir o tráfego entre as instâncias em seu ambiente. O Elastic Load Balancing é compatível com vários tipos de balanceador de carga. Para saber mais sobre eles, consulte o [Guia do usuário do Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/). O Elastic Beanstalk pode criar um balanceador de carga para você ou permitir a especificação de um balanceador de carga compartilhado que você criou.

Este tópico descreve a configuração de um [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/) que o Elastic Beanstalk cria e dedica ao seu ambiente. Consulte também [Configurar um Application Load Balancer compartilhado](environments-cfg-alb-shared.md). Para obter informações sobre como configurar todos os tipos de balanceador de carga compatíveis com o Elastic Beanstalk, consulte [Balanceador de carga do ambiente do Elastic Beanstalk](using-features.managing.elb.md).

**nota**  
Você só pode escolher o tipo de load balancer que seu ambiente usará durante a criação do ambiente. Você pode alterar as configurações para gerenciar o comportamento do load balancer do ambiente em execução, mas não pode alterar seu tipo. Também não é possível alternar de um load balancer dedicado para um compartilhado ou vice-versa.

## Introdução
<a name="environments-cfg-alb-intro"></a>

Um Application Load Balancer inspeciona o tráfego na camada de protocolo de rede da aplicação para identificar o caminho do pedido de modo que ele possa direcionar solicitações de caminhos diferentes para destinos diferentes.

Quando seu ambiente usa um Application Load Balancer, o Elastic Beanstalk o configura por padrão para executar a mesma função que um Classic Load Balancer. O listener padrão aceita solicitações de HTTP na porta 80 e as distribui para as instâncias no ambiente. É possível adicionar um listener seguro na porta 443 com um certificado para descriptografar o tráfego de HTTPS, configurar o comportamento de verificação de integridade e enviar os registros de acesso do balanceador de carga para um bucket do Amazon Simple Storage Service (Amazon S3).

**nota**  
Diferentemente de um Classic Load Balancer ou de um Network Load Balancer, um Application Load Balancer não pode ter TCP ou ouvintes na camada de transporte (camada 4). SSL/TLS Suporta apenas listeners HTTP e HTTPS. Além disso, não é possível usar a autenticação de back-end para autenticar conexões HTTPS entre o load balancer e as instâncias de back-end.

Em um ambiente do Elastic Beanstalk, é possível usar um Application Load Balancer para direcionar o tráfego de determinados caminhos para um processo diferente em suas instâncias do servidor Web. Com um Classic Load Balancer, todo o tráfego para o listener é roteado para um único processo nas instâncias de back-end. Com um Application Load Balancer, é possível configurar várias *regras* no listener para rotear as solicitações para determinados caminhos para um processo de back-end diferente. Configure cada processo com a porta na qual o processo escuta.

Por exemplo, é possível executar um processo de login separadamente do aplicativo principal. Embora o aplicativo principal nas instâncias do seu ambiente aceite a maioria das solicitações e observe a porta 80, seu processo de login observará a porta 5000 e aceitará solicitações para o caminho `/login`. Todas as solicitações de entrada dos clientes vêm na porta 80. Com um Application Load Balancer, é possível configurar um único listener para o tráfego de entrada na porta 80, com duas regras que direcionam o tráfego para dois processos separados, dependendo do caminho na solicitação. Adicione uma regra personalizada que direcione o tráfego para `/login` para o processo de logon que escuta na porta 5000. A regra padrão encaminha todos os outros tráfegos para o processo principal do aplicativo, observando a porta 80.

Uma regra do Application Load Balancer mapeia uma solicitação para um *grupo de destino*. No Elastic Beanstalk, um grupo de destino é representado por um *processo*. Você pode configurar um processo com configurações de protocolo, porta e verificação de integridade. O processo representa a execução nas instâncias em seu ambiente. O processo padrão é um listener na porta 80 do proxy reverso (nginx ou Apache) que é executado na frente de seu aplicativo.

**nota**  
Fora do Elastic Beanstalk, um grupo de destino é mapeado para um grupo de instâncias. Um listener pode usar regras e grupos de destino para rotear o tráfego para instâncias diferentes com base no caminho. Dentro do Elastic Beanstalk, todas as instâncias no ambiente são idênticas, então a distinção é feita entre os processos escutando em portas diferentes.

Um Classic Load Balancer usa um único caminho de verificação de integridade para todo o ambiente. Com um Application Load Balancer, cada processo tem um caminho de verificação de integridade separado que é monitorado pelo balanceador de carga e pelo monitoramento de integridade aprimorado do Elastic Beanstalk.

Para usar o Application Load Balancer, seu ambiente deve estar em uma VPC personalizada ou padrão e deve ter uma função de serviço com o conjunto padrão de permissões. Se você tiver uma função de serviço mais antiga, talvez seja necessário [atualizar as permissões](iam-instanceprofile.md#iam-instanceprofile-addperms) dela para incluir `elasticloadbalancing:DescribeTargetHealth` e `elasticloadbalancing:DescribeLoadBalancers`. Para obter mais informações sobre os Application Load Balancers, consulte [O que é Application Load Balancer?](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/).

**nota**  
A verificação de integridade do Application Load Balancer não usa o caminho da verificação de integridade do Elastic Beanstalk. Em vez disso, ele usa o caminho específico configurado para cada processo separadamente.

## Configurar um Application Load Balancer usando o console do Elastic Beanstalk
<a name="environments-cfg-alb-console"></a>

É possível usar o console do Elastic Beanstalk para configurar os listeners, processos e regras de um Application Load Balancer durante a criação do ambiente ou posterior quando seu ambiente estiver em execução.

**Como configurar um Application Load Balancer no console do Elastic Beanstalk durante a criação do ambiente**

1. Abra o console do [Elastic](https://console.aws.amazon.com/elasticbeanstalk) Beanstalk e, **na** lista Regiões, selecione sua. Região da AWS

1. No painel de navegação, escolha **Ambientes**.

1. Escolha [Create a new environment (Criar um ambiente)](environments-create-wizard.md) para começar a criar seu ambiente.

1. Na página principal do assistente, antes de escolher **Create environment**, escolha **Configure more options**.

1. Escolha a predefinição de configuração **High availability (Alta disponibilidade)**.

   Se preferir, na categoria de configuração **Capacity (Capacidade)**, configure o tipo de ambiente **Load balanced (Carga equilibrada)**. Para obter detalhes, consulte [Capacity](environments-create-wizard.md#environments-create-wizard-capacity).

1. Na categoria de configuração **Load balancer**, escolha **Edit (Editar)**.

1. Selecione as opções **Application Load Balancer** e **Dedicated (Dedicado)** se elas ainda não estiverem selecionadas.  
![\[Página de configuração do Elastic Load Balancing: escolher o tipo de balanceador de carga\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-type-chooser.png)

1. Faça todas as alterações de configuração do Application Load Balancer necessárias ao seu ambiente.

1. Escolha **Save** e, em seguida, faça as outras alterações de configuração de acordo com seu ambiente.

1. Selecione **Criar ambiente**.

**Como configurar o Application Load Balancer de um ambiente em execução no console do Elastic Beanstalk**

1. Abra o console do [Elastic](https://console.aws.amazon.com/elasticbeanstalk) Beanstalk e, **na** lista Regiões, selecione sua. Região da AWS

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

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

1. Na categoria de configuração **Load balancer**, escolha **Edit (Editar)**.
**nota**  
Se a categoria de configuração **Load balancer** não tem um botão **Edit (Editar)**, seu ambiente não tem um load balancer. Para aprender como configurar um, consulte [Alterar tipo de ambiente](using-features-managing-env-types.md#using-features.managing.changetype).

1. Faça as alterações de configuração do Application Load Balancer necessárias ao seu ambiente.

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

**Topics**
+ [Listeners](#environments-cfg-alb-console-listeners)
+ [Processos](#environments-cfg-alb-console-processes)
+ [Regras](#environments-cfg-alb-console-rules)
+ [Captura de log de acesso](#environments-cfg-alb-console-logs)

### Listeners
<a name="environments-cfg-alb-console-listeners"></a>

Use esta lista para especificar listeners para seu load balancer. Cada listener direciona o tráfego de entrada do cliente em uma porta especificada usando um protocolo especificado para um ou mais processos nas suas instâncias. Inicialmente, a lista mostra o listener padrão, que encaminha o tráfego HTTP de entrada na porta 80 para um processo chamado **padrão**.

![\[Configuração do Application Load Balancer: lista de listeners\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-listeners.png)


**Para configurar um listener existente**

1. Marque a caixa de seleção ao lado da entrada da tabela e, em seguida, escolha **Actions**, **Edit**.

1. Use a caixa de diálogo **Application Load Balancer listener** para editar as configurações e, em seguida, escolha **Save**.

**Para adicionar um listener**

1. Escolha **Add listener**.

1. Na caixa de diálogo **Application Load Balancer listener (Listener do Application Load Balancer)**, defina as configurações desejadas e selecione **Add (Adicionar)**.

Use as configurações da caixa de diálogo **Listener do Application Load Balancer** para escolher a porta e o protocolo nos quais o ouvinte escuta o tráfego, bem como o processo para encaminhar o tráfego. Se você escolher o protocolo HTTPS, defina as configurações de SSL.

![\[Caixa de diálogo Application Load Balancer listener (Listener do Application Load Balancer)\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-listener-dialog.png)


Antes de configurar um listener HTTPS, verifique se você tem um certificado SSL válido. Execute um destes procedimentos:
+ Se AWS Certificate Manager (ACM) estiver [disponível em sua AWS região](https://docs.aws.amazon.com/general/latest/gr/acm.html), crie ou importe um certificado usando o ACM. Para obter mais informações sobre como solicitar um certificado do ACM, consulte [Solicitação de um certificado](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request.html) no *Manual do usuário do AWS Certificate Manager *. Para obter mais informações sobre a importação de certificados de terceiros para o ACM, consulte [Importação de certificados](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) no *Manual do usuário do AWS Certificate Manager *.
+ Se o ACM não estiver [disponível na sua AWS região](https://docs.aws.amazon.com/general/latest/gr/acm.html), faça o upload do certificado e da chave existentes para o IAM. Para obter mais informações sobre a criação e o upload de certificados para o IAM, consulte [Trabalhar com certificados de servidor](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingServerCerts.html) no *Guia do usuário do IAM*.

Para obter mais detalhes sobre como configurar o HTTPS e trabalhar com os certificados no Elastic Beanstalk, consulte [Configurar HTTPS para o seu ambiente do Elastic Beanstalk](configuring-https.md).

### Processos
<a name="environments-cfg-alb-console-processes"></a>

Use esta lista para especificar processos para seu load balancer. Um processo é um destino para os listeners direcionarem o tráfego. Cada listener direciona o tráfego de entrada do cliente em uma porta especificada usando um protocolo especificado para um ou mais processos nas suas instâncias. Inicialmente, a lista mostra o processo padrão, que observa o tráfego HTTP de entrada na porta 80.

![\[Configuração do Application Load Balancer: lista de processos\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-processes.png)


Você pode editar as configurações de um processo existente ou adicionar um novo processo. Para começar a editar um processo na lista ou adicionar um processo a ele, use as mesmas etapas listadas para [lista de listener](#environments-cfg-alb-console-listeners). A caixa de diálogo **Environment process** é exibida.

**Topics**
+ [Definição](#environments-cfg-alb-console-process-definition)
+ [Verificação de saúde](#environments-cfg-alb-console-process-healthchecks)
+ [Sessões](#environments-cfg-alb-console-process-sessions)

#### Definição
<a name="environments-cfg-alb-console-process-definition"></a>

Use estas configurações para definir o processo **Name**, **Port** e **Protocol** em que as solicitações são observadas.

![\[Configurações de processo do Application Load Balancer para nome, porta e protocolo\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-process-definition.png)


#### Verificação de saúde
<a name="environments-cfg-alb-console-process-healthchecks"></a>

Use as configurações a seguir para configurar as verificações de integridade do processo:
+ **HTTP code (Código de HTTP)**: o código de status HTTP que designa um processo íntegro.
+ **Path (Caminho)**: o caminho da solicitação de verificação de integridade para o processo.
+ **Timeout (Tempo limite)**: a quantidade de tempo, em segundos, para aguardar uma resposta de verificação de integridade.
+ **Interval (Intervalo)**: a quantidade de tempo, em segundos, entre as verificações de integridade de uma instância individual. O intervalo deve ser maior que o tempo limite.
+ **Unhealthy threshold (Limite não íntegro)**, **Healthy threshold (Limite íntegro)**: o número de verificações de integridade que devem falhar ou passar, respectivamente, antes que o Elastic Load Balancing altere o estado de integridade de uma instância.
+ **Deregistration delay (Atraso do cancelamento de registro)**: a quantidade de tempo, em segundos, para aguardar que as solicitações ativas sejam concluídas antes de cancelar o registro de uma instância.

![\[Configurações do processo do Application Load Balancer para uma verificação de integridade\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-process-healthcheck.png)


**nota**  
A verificação de integridade do Elastic Load Balancing não afeta o comportamento da verificação de integridade do grupo de Auto Scaling de um ambiente. As instâncias que falham em uma verificação de saúde do Elastic Load Balancing não são substituídas automaticamente pelo Amazon Auto EC2 Scaling, a menos que você configure manualmente o Amazon Auto EC2 Scaling para fazer isso. Para mais detalhes, consulte [Configuração da verificação de integridade do ajuste de escala automático para o seu ambiente Elastic Beanstalk](environmentconfig-autoscaling-healthchecktype.md). 

Para obter mais informações sobre verificações de integridade e como elas influenciam a integridade geral do ambiente, consulte [Relatórios de integridade básica](using-features.healthstatus.md).

#### Sessões
<a name="environments-cfg-alb-console-process-sessions"></a>

Selecione ou desmarque a caixa **Política de perdurabilidade habilitada** para habilitar ou desabilitar as sticky sessions. Use **Duração do cookie** para configurar a duração de uma sticky session até **604800** segundos.

![\[Configurações do processo do Application Load Balancer para a perdurabilidade da sessão\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-process-sessions.png)


### Regras
<a name="environments-cfg-alb-console-rules"></a>

Use esta lista para especificar regras de listener para seu load balancer. Uma regra mapeia solicitações que o listener recebe em um padrão de caminho específico para um processo de destino. Cada listener pode ter várias regras, roteando solicitações em diferentes caminhos para diferentes processos nas suas instâncias. 

As regras têm prioridades numéricas que determinam a precedência em que são aplicadas às solicitações recebidas. Para cada novo listener adicionado, o Elastic Beanstalk adiciona uma regra padrão que direciona todo o tráfego do listener para o processo padrão. A precedência da regra padrão é a mais baixa. Ela é aplicada se nenhuma outra regra para o mesmo listener corresponder à solicitação recebida. Inicialmente, se você não tiver adicionado regras personalizadas, a lista estará vazia. As regras padrão de todos os listeners não são exibidas.

![\[Configuração do Application Load Balancer: lista de regras\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-rules.png)


Você pode editar as configurações de uma regra existente ou adicionar uma nova regra. Para começar a editar uma regra na lista ou adicionar uma regra a ela, use as mesmas etapas listadas para [lista de listener](#environments-cfg-alb-console-listeners). A caixa de diálogo **Listener rule** é exibida com as seguintes configurações:
+ **Name (Nome)**: o nome da regra.
+ **Listener port (Porta do listener)**: porta do listener ao qual a regra se aplica.
+ **Priority (Prioridade)**: prioridade da regra. Um número de prioridade mais baixa tem maior precedência. As prioridades das regras de um listener devem ser únicas.
+ **Match conditions (Condições de correspondência)**: uma lista de condições do URL de solicitação às quais a regra se aplica. Há dois tipos de condições: **HostHeader**(a parte do domínio do URL) e **PathPattern**(a parte do caminho do URL). É possível adicionar até cinco condições. Cada valor de condição tem até 128 caracteres de comprimento e pode incluir caracteres curinga.
+ **Process (Processo)**: o processo para o qual o balanceador de carga direciona solicitações que correspondem à regra.

Ao editar qualquer regra existente, você não pode alterar **Name** nem **Listener port**.

![\[Configuração do Application Load Balancer: lista de regras\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-rule-dialog.png)


### Captura de log de acesso
<a name="environments-cfg-alb-console-logs"></a>

Use essas configurações para configurar o Elastic Load Balancing para capturar logs com informações detalhadas sobre solicitações enviadas ao Application Load Balancer. A captura de log de acesso está desativada por padrão. Quando **Store logs (Armazenar logs)** está habilitado, o Elastic Load Balancing armazena os logs no **S3 bucket (Bucket do S3)** configurado. A configuração **Prefix (Prefixo)** especifica uma pasta de nível superior no bucket para os logs. O Elastic Load Balancing coloca os logs em uma pasta denominada `AWSLogs` sob seu prefixo. Se você não especificar um prefixo, o Elastic Load Balancing coloca sua pasta no nível raiz do bucket.

**nota**  
Se o bucket do Amazon S3 que você configura para captura de log de acesso não for o bucket que o Elastic Beanstalk criou para sua conta, certifique-se de adicionar uma política de usuário com as permissões apropriadas para seus usuários (IAM). AWS Identity and Access Management As [políticas de usuário gerenciadas](AWSHowTo.iam.managed-policies.md) que o Elastic Beanstalk fornece apenas permissões de cobertura para recursos gerenciados pelo Elastic Beanstalk.

Para obter detalhes sobre logs de acesso, incluindo permissões e outros requisitos, consulte [Registros de acesso para o Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html).

![\[Configuração do Application Load Balancer: logs de acesso\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-logs.png)


## Exemplo: Application Load Balancer com um listener seguro e dois processos
<a name="environments-cfg-alb-console-example"></a>

Neste exemplo, seu aplicativo exige criptografia de end-to-end tráfego e um processo separado para lidar com solicitações administrativas. 

Para configurar o Application Load Balancer do ambiente de modo a atender esses requisitos, remova o listener padrão, adicione um listener HTTPS, indique que o processo padrão escuta a porta 443 em HTTPS e adicione um processo e uma regra de listener ao tráfego administrativo em um caminho diferente.

**Para configurar o load balancer neste exemplo**

1. *Adicione um listener seguro.* Em **Porta**, digite **443**. Em **Protocolo**, selecione **HTTPS**. Em **Certificado SSL**, escolha o ARN do seu certificado SSL. Por exemplo, **arn:aws:iam::123456789012:server-certificate/abc/certs/build** ou **arn:aws:acm:us-east-2:123456789012:certificate/12345678-12ab-34cd-56ef-12345678**.

   Em **Processo padrão**, mantenha **default** selecionado.  
![\[Configuração do Application Load Balancer: adicionar um listener seguro\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-listeners-https.png)

   Agora você pode ver seu listener adicional na lista.  
![\[Configuração demonstrativa do Application Load Balancer: lista de listeners com dois listeners\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-listeners2.png)

1. *Desative o listener HTTP da porta padrão 80.* Para o listener padrão, desative a opção **Habilitada**.  
![\[Configuração demonstrativa do Application Load Balancer: desabilitar o listener padrão\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-listeners-disabled.png)

1. *Configure o processo padrão como HTTPS.* Selecione o processo padrão e, em seguida, para **Actions**, escolha **Edit**. Em **Porta**, digite **443**. Em **Protocolo**, selecione **HTTPS**.  
![\[Configuração demonstrativa do Application Load Balancer: configurar o processo padrão para HTTPS\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-process-definition-https.png)

1. *Adicione um processo administrativo.* Para **Name** (Nome), digite **admin**. Em **Porta**, digite **443**. Em **Protocolo**, selecione **HTTPS**. Em **Verificação de integridade**, para **Caminho**, digite **/admin**.  
![\[Configuração demonstrativa do Application Load Balancer: adicionar o processo admin\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-process-definition-https-admin.png)

1. *Adicione uma regra para o tráfego de administrador.* Para **Name** (Nome), digite **admin**. Para **Listener port**, digite **443**. Para **condições de partida**, adicione um **PathPattern**com o valor**/admin/\$1**. Em **Processo**, selecione **admin**.  
![\[Configuração demonstrativa do Application Load Balancer: adicionar regra de administrador\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-rule-https-admin.png)

## Configurar um Application Load Balancer usando a CLI do EB
<a name="environments-cfg-alb-ebcli"></a>

A EB CLI solicita que você escolha um tipo de load balancer ao executar o [**eb create**](eb3-create.md).

```
$ eb create
Enter Environment Name
(default is my-app): test-env
Enter DNS CNAME prefix
(default is my-app): test-env-DLW24ED23SF

Select a load balancer type
1) classic
2) application
3) network
(default is 2):
```

Você também pode especificar um tipo de load balancer com a opção `--elb-type`.

```
$ eb create test-env --elb-type application
```

## Namespaces do Application Load Balancer
<a name="environments-cfg-alb-namespaces"></a>

É possível encontrar configurações relacionadas aos Application Load Balancers nos seguintes namespaces:
+ `aws:elasticbeanstalk:environment`: selecione o tipo de balanceador de carga para o ambiente. O valor de um Application Load Balancer é `application`.

  Não é possível definir essa opção nos arquivos de configuração ([.Ebextensions](ebextensions.md)).
+ `aws:elbv2:loadbalancer`: defina logs de acesso e outras configurações que se aplicam ao Application Load Balancer como um todo.
+ `aws:elbv2:listener`: configure listeners no Application Load Balancer. Essas configurações são mapeadas para as configurações em `aws:elb:listener` para Classic Load Balancers.
+ `aws:elbv2:listenerrule`: configure as regras que roteiam o tráfego para os diferentes processos, dependendo do caminho da solicitação. As regras são exclusivas dos Application Load Balancers.
+ `aws:elasticbeanstalk:environment:process`: configure as verificações de integridade e especifique a porta e o protocolo para os processos que são executados nas instâncias de seu ambiente. A porta e as configurações de protocolo mapeiam a porta e as configurações de protocolo da instância em `aws:elb:listener` para um listener no Classic Load Balancer. As configurações de verificação de integridade são mapeadas para as configurações nos namespaces `aws:elb:healthcheck` e `aws:elasticbeanstalk:application`.

**Example .ebextensions/ .config alb-access-logs**  
O arquivo de configuração a seguir permite fazer upload do log de acesso para um ambiente com um Application Load Balancer.  

```
option_settings:
  aws:elbv2:loadbalancer:
    AccessLogsS3Bucket: amzn-s3-demo-bucket
    AccessLogsS3Enabled: 'true'
    AccessLogsS3Prefix: beanstalk-alb
```

**Example .ebextensions/ .config alb-default-process**  
O arquivo de configuração a seguir modifica as configurações de verificação de integridade e de perdurabilidade no processo padrão.  

```
option_settings:
  aws:elasticbeanstalk:environment:process:default:
    DeregistrationDelay: '20'
    HealthCheckInterval: '15'
    HealthCheckPath: /
    HealthCheckTimeout: '5'
    HealthyThresholdCount: '3'
    UnhealthyThresholdCount: '5'
    Port: '80'
    Protocol: HTTP
    StickinessEnabled: 'true'
    StickinessLBCookieDuration: '43200'
```

**Example .ebextensions/ .config alb-secure-listener**  
O arquivo de configuração a seguir adiciona um listener seguro e um processo de correspondência na porta 443.  

```
option_settings:
  aws:elbv2:listener:443:
    DefaultProcess: https
    ListenerEnabled: 'true'
    Protocol: HTTPS
    SSLCertificateArns: arn:aws:acm:us-east-2:123456789012:certificate/21324896-0fa4-412b-bf6f-f362d6eb6dd7
  aws:elasticbeanstalk:environment:process:https:
    Port: '443'
    Protocol: HTTPS
```

**Example .ebextensions/ .config alb-admin-rule**  
O arquivo de configuração a seguir adiciona um listener seguro com uma regra que roteia o tráfego com um caminho de solicitação de `/admin` para um processo chamado `admin` que escuta na porta 4.443.  

```
option_settings:
  aws:elbv2:listener:443:
    DefaultProcess: https
    ListenerEnabled: 'true'
    Protocol: HTTPS
    Rules: admin
    SSLCertificateArns: arn:aws:acm:us-east-2:123456789012:certificate/21324896-0fa4-412b-bf6f-f362d6eb6dd7
  aws:elasticbeanstalk:environment:process:https:
    Port: '443'
    Protocol: HTTPS
  aws:elasticbeanstalk:environment:process:admin:
    HealthCheckPath: /admin
    Port: '4443'
    Protocol: HTTPS
  aws:elbv2:listenerrule:admin:
    PathPatterns: /admin/*
    Priority: 1
    Process: admin
```

# Configurar um Application Load Balancer compartilhado
<a name="environments-cfg-alb-shared"></a>

Quando você [ativa o balanceamento de carga](using-features-managing-env-types.md#using-features.managing.changetype), seu AWS Elastic Beanstalk ambiente é equipado com um balanceador de carga do Elastic Load Balancing para distribuir o tráfego entre as instâncias em seu ambiente. O Elastic Load Balancing é compatível com vários tipos de balanceador de carga. Para saber mais sobre eles, consulte o [Guia do usuário do Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/). O Elastic Beanstalk pode criar um balanceador de carga para você ou permitir a especificação de um balanceador de carga compartilhado que você criou.

Este tópico descreve a configuração de um [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/) compartilhado que você cria e associa ao ambiente. Consulte também [Configuração de um Application Load Balancer](environments-cfg-alb.md). Para obter informações sobre como configurar todos os tipos de balanceador de carga compatíveis com o Elastic Beanstalk, consulte [Balanceador de carga do ambiente do Elastic Beanstalk](using-features.managing.elb.md).

**nota**  
Você só pode escolher o tipo de load balancer que seu ambiente usará durante a criação do ambiente. Você pode alterar as configurações para gerenciar o comportamento do load balancer do ambiente em execução, mas não pode alterar seu tipo. Também não é possível alternar de um load balancer dedicado para um compartilhado ou vice-versa.

## Introdução
<a name="environments-cfg-alb-shared-intro"></a>

Um *balanceador de carga compartilhado* é um balanceador de carga que você mesmo cria e gerencia usando o serviço Amazon Elastic Compute Cloud (Amazon EC2) e depois usa em vários ambientes do Elastic Beanstalk.

Quando um ambiente é criado com balanceamento de carga e escalabilidade automática e um Application Load Balancer é utilizado, o Elastic Beanstalk cria um balanceador de carga dedicado ao ambiente por padrão. Para saber o que é um Application Load Balancer e como ele funciona em um ambiente do Elastic Beanstalk, consulte a [introdução](environments-cfg-alb.md#environments-cfg-alb-intro) à configuração de um Application Load Balancer para Elastic Beanstalk.

Em algumas situações, você pode economizar o custo de ter vários load balancers dedicados. Isso pode ser útil quando você tem vários ambientes, por exemplo, se a aplicação for um pacote de microsserviços em vez de um serviço monolítico. Nesses casos, é possível optar por usar um load balancer compartilhado.

Para usar um balanceador de carga compartilhado, primeiro crie-o na Amazon EC2 e adicione um ou mais ouvintes. Durante a criação de um ambiente do Elastic Beanstalk, é necessário fornecer o balanceador de carga e escolher uma porta do listener. O Elastic Beanstalk associa o listener ao processo padrão no ambiente. É possível adicionar regras de listener personalizadas para rotear o tráfego de cabeçalhos e caminhos de host específicos para outros processos do ambiente.

O Elastic Beanstalk adiciona uma tag ao balanceador de carga compartilhado. O nome da tag é `elasticbeanstalk:shared-elb-environment-count`, e seu valor é o número de ambientes que compartilham esse load balancer.

Usar um load balancer compartilhado é diferente de usar um dedicado de diversas maneiras.


| Referente | Application Load Balancer dedicado | Application Load Balancer compartilhado | 
| --- | --- | --- | 
|  Gerenciamento  |  O Elastic Beanstalk cria e gerencia o balanceador de carga, os listeners, as regras de listener e os processos (grupos de destino). O Elastic Beanstalk também os remove quando o ambiente é encerrado. O Elastic Beanstalk pode definir a captura de logs de acesso do balanceador de carga, caso escolha essa opção.  |  O balanceador de carga e os listeners são criados e gerenciados fora do Elastic Beanstalk. O Elastic Beanstalk cria e gerencia uma regra padrão e um processo padrão, e regras e processos podem ser adicionados. O Elastic Beanstalk remove as regras e os processos de listener que foram adicionados durante a criação do ambiente.  | 
|  Regras do listener  |  O Elastic Beanstalk cria uma regra padrão para cada listener a fim de rotear todo o tráfego para o processo padrão do listener.  |  O Elastic Beanstalk associa uma regra padrão apenas a um listener da porta 80, se existir. Se você escolher uma porta de listener padrão diferente, precisará associar a regra padrão a ela (o console do Elastic Beanstalk e a CLI do EB fazem isso por você). Para resolver conflitos de condição de regra de listener em ambientes que compartilham o balanceador de carga, o Elastic Balanceador adiciona o CNAME do ambiente à regra de listener como uma condição de cabeçalho de host. O Elastic Beanstalk trata as configurações de prioridade de regra como relativas entre ambientes que compartilham o balanceador de carga e as mapeia para prioridades absolutas durante a criação.  | 
|  Grupos de segurança  |  O Elastic Beanstalk cria um grupo de segurança padrão e o anexa ao balanceador de carga.  |  É possível configurar um ou mais grupos de segurança a serem usados para o load balancer. Caso contrário, o Elastic Beanstalk verifica se um grupo de segurança existente gerenciado pelo Elastic Beanstalk já está conectado ao balanceador de carga. Caso contrário, o Elastic Beanstalk cria um grupo de segurança e o anexa ao balanceador de carga. O Elastic Beanstalk exclui esse grupo de segurança quando o último ambiente que compartilha o balanceador de carga é encerrado.  | 
|  Atualizações  |  É possível atualizar o Application Load Balancer após a criação do ambiente. É possível editar listeners, regras de listener e processos. É possível configurar a captura de log de acesso do load balancer.  |  Não é possível usar o Elastic Beanstalk para configurar a captura de logs de acesso no Application Load Balancer nem atualizar listeners e regras de listener após a criação do ambiente. Só é possível atualizar processos (grupos de destino). Para configurar a captura do registro de acesso e atualizar os ouvintes e as regras do ouvinte, use a Amazon. EC2  | 

## Configurar um Application Load Balancer compartilhado usando o console do Elastic Beanstalk
<a name="environments-cfg-alb-shared-console"></a>

É possível usar o console do Elastic Beanstalk para configurar um Application Load Balancer compartilhado durante a criação do ambiente. É possível selecionar um dos load balancers compartilháveis da conta para uso no ambiente, selecionar a porta de listener padrão e configurar processos adicionais e regras de listener.

Não é possível editar a configuração do Application Load Balancer compartilhado no console do Application Load Balancer após a criação do ambiente. Para configurar ouvintes, regras de ouvintes, processos (grupos-alvo) e captura de registros de acesso, use a Amazon. EC2

**Como configurar um Application Load Balancer no console do Elastic Beanstalk durante a criação do ambiente**

1. Abra o console do [Elastic](https://console.aws.amazon.com/elasticbeanstalk) Beanstalk e, **na** lista Regiões, selecione sua. Região da AWS

1. No painel de navegação, escolha **Ambientes**.

1. Escolha [Create a new environment (Criar um ambiente)](environments-create-wizard.md) para começar a criar seu ambiente.

1. Na página principal do assistente, antes de escolher **Create environment**, escolha **Configure more options**.

1. Escolha a predefinição de configuração **High availability (Alta disponibilidade)**.

   Se preferir, na categoria de configuração **Capacity (Capacidade)**, configure o tipo de ambiente **Load balanced (Carga equilibrada)**. Para obter detalhes, consulte [Capacity](environments-create-wizard.md#environments-create-wizard-capacity).

1. Na categoria de configuração **Load balancer**, escolha **Edit (Editar)**.

1. Selecione a opção **Application Load Balancer** se ainda não estiver selecionada e, depois, selecione a opção **Shared (Compartilhado)**.  
![\[Página de configuração do Elastic Load Balancing: escolher o tipo de balanceador de carga\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-shared-type-chooser.png)

1. Faça todas as alterações de configuração do Application Load Balancer compartilhado necessárias ao seu ambiente.

1. Escolha **Save** e, em seguida, faça as outras alterações de configuração de acordo com seu ambiente.

1. Selecione **Criar ambiente**.

**Topics**
+ [Application Load Balancer compartilhado](#environments-cfg-alb-shared-console-alb)
+ [Processos](#environments-cfg-alb-shared-console-processes)
+ [Regras](#environments-cfg-alb-shared-console-rules)

### Application Load Balancer compartilhado
<a name="environments-cfg-alb-shared-console-alb"></a>

Use esta seção para escolher um Application Load Balancer compartilhado para seu ambiente e configurar o roteamento de tráfego padrão.

Antes de configurar um Application Load Balancer compartilhado aqui, use EC2 a Amazon para definir pelo menos um Application Load Balancer para compartilhamento, com pelo menos um ouvinte, em sua conta. Se você ainda não fez isso, poderá escolher **Manage load balancers (Gerenciar balanceadores de carga)**. O Elastic Beanstalk abre EC2 o console da Amazon em uma nova guia do navegador.

Quando terminar de configurar balanceadores de carga compartilhados fora do Elastic Beanstalk, defina as configurações a seguir nesta seção do console:
+ **Load balancer ARN (ARN do balanceador de carga)**: o balanceador de carga compartilhado a ser usado nesse ambiente. Selecione o load balancer na lista ou insira o nome de recurso da Amazon (ARN) de um load balancer.
+ **Default listener port (Porta do listener padrão)**: uma porta do listener que o balanceador de carga compartilhado escuta. Faça sua escolha em uma lista de portas de listener existentes. O tráfego desse listener com o CNAME do ambiente no cabeçalho do host é roteado para um processo padrão nesse ambiente.

![\[Configuração do Application Load Balancer: escolha do balanceador de carga compartilhado\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-shared-alb.png)


### Processos
<a name="environments-cfg-alb-shared-console-processes"></a>

Use essa lista para especificar processos para o load balancer compartilhado. Um processo é um destino para os listeners direcionarem o tráfego. Inicialmente, a lista mostra o processo padrão, que recebe tráfego do listener padrão.

![\[Configuração do Application Load Balancer: lista de processos\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-shared-processes.png)


**Como configurar um processo existente**

1. Marque a caixa de seleção ao lado da entrada da tabela e, em seguida, escolha **Actions**, **Edit**.

1. Use a caixa de diálogo **Environment process (Processo do ambiente)** para editar as configurações e selecione **Save (Salvar)**.

**Como adicionar um processo**

1. Selecione **Add process (Adicionar processo)**.

1. Na caixa de diálogo **Environment Process (Processo do ambiente)**, defina as configurações desejadas e selecione **Add (Adicionar)**.

**Topics**
+ [Definição](#environments-cfg-alb-console-process-definition)
+ [Verificação de saúde](#environments-cfg-alb-shared-console-process-healthchecks)
+ [Sessões](#environments-cfg-alb-shared-console-process-sessions)

#### Definição
<a name="environments-cfg-alb-console-process-definition"></a>

Use estas configurações para definir o processo **Name**, **Port** e **Protocol** em que as solicitações são observadas.

![\[Configurações de processo do Application Load Balancer para nome, porta e protocolo\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-process-definition.png)


#### Verificação de saúde
<a name="environments-cfg-alb-shared-console-process-healthchecks"></a>

Use as configurações a seguir para configurar as verificações de integridade do processo:
+ **HTTP code (Código de HTTP)**: o código de status HTTP que designa um processo íntegro.
+ **Path (Caminho)**: o caminho da solicitação de verificação de integridade para o processo.
+ **Timeout (Tempo limite)**: a quantidade de tempo, em segundos, para aguardar uma resposta de verificação de integridade.
+ **Interval (Intervalo)**: a quantidade de tempo, em segundos, entre as verificações de integridade de uma instância individual. O intervalo deve ser maior que o tempo limite.
+ **Unhealthy threshold (Limite não íntegro)**, **Healthy threshold (Limite íntegro)**: o número de verificações de integridade que devem falhar ou passar, respectivamente, antes que o Elastic Load Balancing altere o estado de integridade de uma instância.
+ **Deregistration delay (Atraso do cancelamento de registro)**: a quantidade de tempo, em segundos, para aguardar que as solicitações ativas sejam concluídas antes de cancelar o registro de uma instância.

![\[Configurações do processo do Application Load Balancer para uma verificação de integridade\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-process-healthcheck.png)


**nota**  
A verificação de integridade do Elastic Load Balancing não afeta o comportamento da verificação de integridade do grupo de Auto Scaling de um ambiente. As instâncias que falham em uma verificação de saúde do Elastic Load Balancing não são substituídas automaticamente pelo Amazon Auto EC2 Scaling, a menos que você configure manualmente o Amazon Auto EC2 Scaling para fazer isso. Para mais detalhes, consulte [Configuração da verificação de integridade do ajuste de escala automático para o seu ambiente Elastic Beanstalk](environmentconfig-autoscaling-healthchecktype.md). 

Para obter mais informações sobre verificações de integridade e como elas influenciam a integridade geral do ambiente, consulte [Relatórios de integridade básica](using-features.healthstatus.md).

#### Sessões
<a name="environments-cfg-alb-shared-console-process-sessions"></a>

Selecione ou desmarque a caixa **Política de perdurabilidade habilitada** para habilitar ou desabilitar as sticky sessions. Use **Duração do cookie** para configurar a duração de uma sticky session até **604800** segundos.

![\[Configurações do processo do Application Load Balancer para a perdurabilidade da sessão\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-process-sessions.png)


### Regras
<a name="environments-cfg-alb-shared-console-rules"></a>

Use essa lista para especificar regras de listener para o load balancer compartilhado. Uma regra mapeia solicitações que o listener recebe em um padrão de caminho específico para um processo de destino. Cada listener pode ter várias regras, roteando solicitações em caminhos diferentes para processos diferentes em instâncias dos diferentes ambientes que compartilham o listener.

As regras têm prioridades numéricas que determinam a precedência em que são aplicadas às solicitações recebidas. O Elastic Beanstalk adiciona uma regra padrão que roteia todo o tráfego do listener padrão para o processo padrão do seu novo ambiente. A precedência da regra padrão é a mais baixa. Ela é aplicada se nenhuma outra regra para o mesmo listener corresponder à solicitação recebida. Inicialmente, se você não tiver adicionado regras personalizadas, a lista estará vazia. A regra padrão não é exibida.

![\[Configuração do Application Load Balancer: lista de regras\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-shared-rules.png)


Você pode editar as configurações de uma regra existente ou adicionar uma nova regra. Para começar a editar uma regra na lista ou adicionar uma regra a ela, use as mesmas etapas listadas para a [lista de processos](#environments-cfg-alb-shared-console-processes). A caixa de diálogo **Listener rule** é exibida com as seguintes configurações:
+ **Name (Nome)**: o nome da regra.
+ **Listener port (Porta do listener)**: porta do listener ao qual a regra se aplica.
+ **Priority (Prioridade)**: prioridade da regra. Um número de prioridade mais baixa tem maior precedência. As prioridades das regras de um listener devem ser únicas. O Elastic Beanstalk trata as prioridades de regras como relativas em ambientes de compartilhamento e as mapeia para prioridades absolutas durante a criação.
+ **Match conditions (Condições de correspondência)**: uma lista de condições do URL de solicitação às quais a regra se aplica. Há dois tipos de condições: **HostHeader**(a parte do domínio do URL) e **PathPattern**(a parte do caminho do URL). Uma condição é reservada para o subdomínio do ambiente e é possível adicionar até quatro condições. Cada valor de condição tem até 128 caracteres de comprimento e pode incluir caracteres curinga.
+ **Process (Processo)**: o processo para o qual o balanceador de carga direciona solicitações que correspondem à regra.

![\[Configuração do Application Load Balancer: lista de regras\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-rule-dialog.png)


## Exemplo: use um Application Load Balancer compartilhado para um aplicativo seguro micro-service-based
<a name="environments-cfg-alb-shared-console-example"></a>

Neste exemplo, a aplicação consiste em vários microsserviços, cada um implementado como um ambiente do Elastic Beanstalk. Além disso, você precisa de criptografia de end-to-end tráfego. Vamos demonstrar um dos ambientes de microsserviço, que tem um processo principal para solicitações de usuários e um processo separado para lidar com solicitações administrativas.

Para atender a esses requisitos, use EC2 a Amazon para criar um Application Load Balancer que você compartilhará entre seus microsserviços. Adicione um listener seguro na porta 443 e no protocolo HTTPS. Depois, adicione vários certificados SSL ao listener: um por domínio de microsserviço. Para obter detalhes sobre como criar o Application Load Balancer e o listener seguro, consulte [Criar um Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html) e [Criar um listener HTTPS para o Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html) no *Guia do usuário para Application Load Balancers*.

No Elastic Beanstalk, configure cada ambiente de microsserviço para usar o Application Load Balancer compartilhado e defina a porta do listener padrão como 443. No caso do ambiente específico que estamos demonstrando aqui, indique que o processo padrão escuta a porta 443 em HTTPS e adicione um processo e uma regra de listener ao tráfego administrativo em um caminho diferente.

**Como configurar o load balancer compartilhado neste exemplo**

1. Na seção **Shared Application Load Balancer (Application Load Balancer compartilhado)**, selecione o balanceador de carga e, depois, para **Default listener port (Porta do listener padrão)**, selecione **443**. A porta do listener já deverá estar selecionada se for o único listener que o load balancer possui.  
![\[Configuração do Application Load Balancer: adicionar um listener seguro\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-shared-example-alb.png)

1. *Configure o processo padrão como HTTPS.* Selecione o processo padrão e, em seguida, para **Actions**, escolha **Edit**. Em **Porta**, insira **443**. Em **Protocolo**, selecione **HTTPS**.  
![\[Configuração demonstrativa do Application Load Balancer: configurar o processo padrão para HTTPS\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-process-definition-https.png)

1. *Adicione um processo administrativo.* Em **Nome**, digite **admin**. Em **Porta**, insira **443**. Em **Protocolo**, selecione **HTTPS**. Em **Health check (Verificação de integridade)**, para **Path (Caminho)**, insira **/admin**.  
![\[Configuração demonstrativa do Application Load Balancer: adicionar o processo admin\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-process-definition-https-admin.png)

1. *Adicione uma regra para o tráfego de administrador.* Em **Nome**, digite **admin**. Em **Listener port (Porta do listener)**, insira **443**. Para **condições de partida**, adicione um **PathPattern**com o valor**/admin/\$1**. Em **Processo**, selecione **admin**.  
![\[Configuração demonstrativa do Application Load Balancer: adicionar regra de administrador\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-alb-rule-https-admin.png)

## Configurar um Application Load Balancer compartilhado usando a CLI do EB
<a name="environments-cfg-alb-shared-ebcli"></a>

A EB CLI solicita que você escolha um tipo de load balancer ao executar o [**eb create**](eb3-create.md). Se você escolher `application` (o padrão) e sua conta tiver pelo menos um Application Load Balancer compartilhável, a CLI do EB também perguntará se você deseja usar um Application Load Balancer compartilhado. Se responder **y**, você também será solicitado a selecionar o load balancer e a porta padrão.

```
$ eb create
Enter Environment Name
(default is my-app): test-env
Enter DNS CNAME prefix
(default is my-app): test-env-DLW24ED23SF

Select a load balancer type
1) classic
2) application
3) network
(default is 2): 

Your account has one or more sharable load balancers. Would you like your new environment to use a shared load balancer?(y/N) y

Select a shared load balancer
1)MySharedALB1 - arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/app/MySharedALB1/6d69caa75b15d46e
2)MySharedALB2 - arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/app/MySharedALB2/e574ea4c37ad2ec8
(default is 1): 2

Select a listener port for your shared load balancer
1) 80
2) 100
3) 443
(default is 1): 3
```

Também é possível especificar um load balancer compartilhado usando opções de comando.

```
$ eb create test-env --elb-type application --shared-lb MySharedALB2 --shared-lb-port 443
```

## Namespaces do Application Load Balancer compartilhado
<a name="environments-cfg-alb-shared-namespaces"></a>

Você pode encontrar configurações relacionadas aos Application Load Balancers compartilhados nos seguintes namespaces:
+ `aws:elasticbeanstalk:environment`: escolha o tipo de balanceador de carga para o ambiente e informe o Elastic Beanstalk que você usará um balanceador de carga compartilhado.

  Não é possível definir essas duas opções em arquivos de configuração ([.Ebextensions](ebextensions.md)).
+ `aws:elbv2:loadbalancer`: configure o ARN e os grupos de segurança do Application Load Balancer compartilhado.
+ `aws:elbv2:listener`: associe os listeners do Application Load Balancer compartilhado aos processos de ambiente listando regras do listener.
+ `aws:elbv2:listenerrule`: configure as regras do listener que roteiam o tráfego para os diferentes processos, dependendo do caminho da solicitação. As regras são exclusivas dos Application Load Balancers, sejam eles dedicados ou compartilhados.
+ `aws:elasticbeanstalk:environment:process`: configure as verificações de integridade e especifique a porta e o protocolo para os processos que são executados nas instâncias de seu ambiente.

**Example .ebextensions/ .config application-load-balancer-shared**  
Para começar a usar um Application Load Balancer compartilhado, use o console do Elastic Beanstalk, a CLI do EB ou a API para definir o tipo de balanceador de carga como `application` e optar por usar um balanceador de carga compartilhado. Use um [arquivo de configuração](ebextensions.md) para configurar o load balancer compartilhado.  

```
option_settings:
  aws:elbv2:loadbalancer:
    SharedLoadBalancer: arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/app/MySharedALB2/e574ea4c37ad2ec8
```

**nota**  
Só é possível configurar essa opção durante a criação do ambiente.

**Example .ebextensions/ .config alb-shared-secure-listener**  
O arquivo de configuração a seguir seleciona um listener seguro padrão na porta 443 para o load balancer compartilhado e define o processo padrão para escutar a porta 443.  

```
option_settings:
  aws:elbv2:loadbalancer:
    SharedLoadBalancer: arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/app/MySharedALB2/e574ea4c37ad2ec8
  aws:elbv2:listener:443:
    rules: default
  aws:elasticbeanstalk:environment:process:default:
    Port: '443'
    Protocol: HTTPS
```

**Example .ebextensions/ .config alb-shared-admin-rule**  
O arquivo de configuração a seguir se baseia no exemplo anterior e adiciona uma regra que roteia o tráfego com um caminho de solicitação de `/admin` para um processo chamado `admin` que escuta na porta 4443.  

```
option_settings:
  aws:elbv2:loadbalancer:
    SharedLoadBalancer: arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/app/MySharedALB2/e574ea4c37ad2ec8
  aws:elbv2:listener:443:
    rules: default,admin
  aws:elasticbeanstalk:environment:process:default:
    Port: '443'
    Protocol: HTTPS
  aws:elasticbeanstalk:environment:process:admin:
    HealthCheckPath: /admin
    Port: '4443'
    Protocol: HTTPS
  aws:elbv2:listenerrule:admin:
    PathPatterns: /admin/*
    Priority: 1
    Process: admin
```

# Configurar um Network Load Balancer
<a name="environments-cfg-nlb"></a>

Quando você [ativa o balanceamento de carga](using-features-managing-env-types.md#using-features.managing.changetype), seu AWS Elastic Beanstalk ambiente é equipado com um balanceador de carga do Elastic Load Balancing para distribuir o tráfego entre as instâncias em seu ambiente. O Elastic Load Balancing é compatível com vários tipos de balanceador de carga. Para saber mais sobre eles, consulte o [Guia do usuário do Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/). O Elastic Beanstalk pode criar um balanceador de carga para você ou permitir a especificação de um balanceador de carga compartilhado que você criou.

Este tópico descreve a configuração de um [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/) que o Elastic Beanstalk cria e dedica ao seu ambiente. Para obter informações sobre como configurar todos os tipos de balanceador de carga compatíveis com o Elastic Beanstalk, consulte [Balanceador de carga do ambiente do Elastic Beanstalk](using-features.managing.elb.md).

**nota**  
Você só pode escolher o tipo de load balancer que seu ambiente usará durante a criação do ambiente. Você pode alterar as configurações para gerenciar o comportamento do load balancer do ambiente em execução, mas não pode alterar seu tipo.

## Introdução
<a name="environments-cfg-nlb-intro"></a>

Com o Network Load Balancer, o listener padrão aceita solicitações de TCP na porta 80 e as distribui para as instâncias no seu ambiente. Você pode configurar o comportamento de verificação de integridade, configurar uma porta do listener ou adicionar um listener a outra porta.

**nota**  
Ao contrário de um Classic Load Balancer ou um Application Load Balancer, um Network Load Balancer não pode ter listeners HTTP ou HTTPS da camada de aplicação (camada 7). Ele só oferece suporte aos listeners de TCP da camada de transporte (camada 4). O tráfego HTTP e HTTPS podem ser roteados para o ambiente por TCP. Para estabelecer conexões HTTPS seguras entre os clientes da Web e seu ambiente, instale um [certificado autoassinado](configuring-https-ssl.md) nas instâncias do ambiente e configure as instâncias para escutar na porta apropriada (normalmente 443) e encerrar as conexões HTTPS. A configuração varia de acordo com a plataforma. Para obter instruções, consulte [Configuração da terminação de HTTPS na instância](https-singleinstance.md). Depois, configure o Network Load Balancer para adicionar um listener que é mapeado para um processo que escuta na porta apropriada.

Um Network Load Balancer é compatível com verificações de integridade ativas. Essas verificações são baseadas em mensagens para o caminho da raiz (`/`). Além disso, um Network Load Balancer é compatível com verificações de integridade passivas. Ele detecta automaticamente as instâncias de back-end defeituosas e roteia o tráfego somente para instâncias íntegras.

## Configurar um Network Load Balancer usando o console do Elastic Beanstalk
<a name="environments-cfg-nlb-console"></a>

É possível usar o console do Elastic Beanstalk para configurar os listeners e os processos de um Network Load Balancer durante a criação do ambiente ou mais tarde quando seu ambiente estiver em execução.

**Como configurar um Network Load Balancer no console do Elastic Beanstalk durante a criação do ambiente**

1. Abra o console do [Elastic](https://console.aws.amazon.com/elasticbeanstalk) Beanstalk e, **na** lista Regiões, selecione sua. Região da AWS

1. No painel de navegação, escolha **Ambientes**.

1. Escolha [Create a new environment (Criar um ambiente)](environments-create-wizard.md) para começar a criar seu ambiente.

1. Na página principal do assistente, antes de escolher **Create environment**, escolha **Configure more options**.

1. Escolha a predefinição de configuração **High availability (Alta disponibilidade)**.

   Se preferir, na categoria de configuração **Capacity (Capacidade)**, configure o tipo de ambiente **Load balanced (Carga equilibrada)**. Para obter detalhes, consulte [Capacity](environments-create-wizard.md#environments-create-wizard-capacity).

1. Na categoria de configuração **Load balancer**, escolha **Edit (Editar)**.

1. Selecione a opção **Network Load Balancer** se ainda não estiver selecionada.  
![\[Página de configuração do Elastic Load Balancing: escolher o tipo de balanceador de carga\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-nlb-type-chooser.png)

1. Faça todas as alterações de configuração do Network Load Balancer necessárias ao seu ambiente.

1. Escolha **Save** e, em seguida, faça as outras alterações de configuração de acordo com seu ambiente.

1. Selecione **Criar ambiente**.

**Como configurar o Network Load Balancer de um ambiente em execução no console do Elastic Beanstalk**

1. Abra o console do [Elastic](https://console.aws.amazon.com/elasticbeanstalk) Beanstalk e, **na** lista Regiões, selecione sua. Região da AWS

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

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

1. Na categoria de configuração **Load balancer**, escolha **Edit (Editar)**.
**nota**  
Se a categoria de configuração **Load balancer** não tem um botão **Edit (Editar)**, seu ambiente não tem um load balancer. Para aprender como configurar um, consulte [Alterar tipo de ambiente](using-features-managing-env-types.md#using-features.managing.changetype).

1. Faça as alterações de configuração do Network Load Balancer necessárias ao seu ambiente.

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

**Topics**
+ [Listeners](#environments-cfg-nlb-console-listeners)
+ [Processos](#environments-cfg-nlb-console-processes)

### Listeners
<a name="environments-cfg-nlb-console-listeners"></a>

Use esta lista para especificar listeners para seu load balancer. Cada listener direciona o tráfego de entrada do cliente em uma porta especificada para um processo em suas instâncias. Inicialmente, a lista mostra o listener padrão, que encaminha o tráfego de entrada na porta 80 para um processo chamado **default**, que observa a porta 80.

![\[Configuração do Network Load Balancer: lista de listeners\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-nlb-listeners.png)


**Para configurar um listener existente**

1. Marque a caixa de seleção ao lado da entrada da tabela e, em seguida, escolha **Actions**, **Edit**.

1. Use a caixa de diálogo **Network Load Balancer listener** para editar as configurações e, em seguida, escolha **Save**.

**Para adicionar um listener**

1. Escolha **Add listener**.

1. Na caixa de diálogo **Network Load Balancer listener**, defina as configurações obrigatórias e, em seguida, escolha **Add**.

Use a caixa de diálogo **Network Load Balancer listener** para configurar a porta na qual o ouvinte atende ao tráfego e para escolher o processo para o qual você deseja rotear o tráfego (especificado pela porta na qual o processo escuta).

![\[Caixa de diálogo Network Load Balancer listener (Listener do Network Load Balancer)\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-nlb-listener-dialog.png)


### Processos
<a name="environments-cfg-nlb-console-processes"></a>

Use esta lista para especificar processos para seu load balancer. Um processo é um destino para os listeners direcionarem o tráfego. Cada listener direciona o tráfego de entrada do cliente em uma porta especificada para um processo em suas instâncias. Inicialmente, a lista mostra o processo padrão, que observa o tráfego de entrada na porta 80.

![\[Configuração do Network Load Balancer: lista de processos\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-nlb-processes.png)


Você pode editar as configurações de um processo existente ou adicionar um novo processo. Para começar a editar um processo na lista ou adicionar um processo a ele, use as mesmas etapas listadas para [lista de listener](environments-cfg-alb.md#environments-cfg-alb-console-listeners). A caixa de diálogo **Environment process** é exibida.

**Topics**
+ [Definição](#environments-cfg-nlb-console-process-definition)
+ [Verificação de saúde](#environments-cfg-nlb-console-process-healthchecks)

#### Definição
<a name="environments-cfg-nlb-console-process-definition"></a>

Use estas configurações para definir o processo **Name** e **Process port** no qual as solicitações são observadas.

![\[Configurações da caixa de diálogo de processo do Network Load Balancer para nome, porta do listener e porta do processo\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-nlb-process-definition.png)


#### Verificação de saúde
<a name="environments-cfg-nlb-console-process-healthchecks"></a>

Use as configurações a seguir para configurar as verificações de integridade do processo:
+ **Interval (Intervalo)**: a quantidade de tempo, em segundos, entre as verificações de integridade de uma instância individual.
+ **Healthy threshold (Limite íntegro)**: o número de verificações de integridade que devem ser aprovadas antes de o Elastic Load Balancing alterar o estado de integridade de uma instância. (Para Network Load Balancer, **Unhealthy threshold (Limite não íntegro)** é uma configuração somente leitura que é sempre igual ao valor limite de integridade.)
+ **Deregistration delay (Atraso do cancelamento de registro)**: a quantidade de tempo, em segundos, para aguardar que as solicitações ativas sejam concluídas antes de cancelar o registro de uma instância.

![\[Configurações da caixa de diálogo do processo do Network Load Balancer para verificação de integridade\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-nlb-process-healthcheck.png)


**nota**  
A verificação de integridade do Elastic Load Balancing não afeta o comportamento da verificação de integridade do grupo de Auto Scaling de um ambiente. As instâncias que falharem em uma verificação de saúde do Elastic Load Balancing não serão substituídas automaticamente pelo Amazon Auto EC2 Scaling, a menos que você configure manualmente o Amazon Auto EC2 Scaling para fazer isso. Para mais detalhes, consulte [Configuração da verificação de integridade do ajuste de escala automático para o seu ambiente Elastic Beanstalk](environmentconfig-autoscaling-healthchecktype.md). 

Para obter mais informações sobre verificações de integridade e como elas influenciam a integridade geral do ambiente, consulte [Relatórios de integridade básica](using-features.healthstatus.md).

## Exemplo: Network Load Balancer para um ambiente com criptografia end-to-end
<a name="environments-cfg-nlb-console-example"></a>

Neste exemplo, seu aplicativo exige criptografia end-to-end de tráfego. Para configurar o Network Load Balancer do ambiente para atender a esses requisitos, configure o processo padrão para escutar na porta 443, adicione um listener à porta 443 que roteia o tráfego para o processo padrão e desabilite o listener padrão.

**Para configurar o load balancer neste exemplo**

1. *Configure o processo padrão.* Selecione o processo padrão e, em seguida, em **Actions**, escolha **Edit**. Para **Process port**, digite `443`.  
![\[Configuração demonstrativa do Network Load Balancer: configurar o processo padrão para usar a porta de processo 443\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-nlb-example-process-443.png)

1. *Adicione um listener da porta 443.* Adicione um novo listener. Para **Listener port**, digite `443`. Para **Process port**, certifique-se de selecionar `443`.  
![\[Configuração demonstrativa do Network Load Balancer: adicionar um listener da porta 443\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-nlb-example-listener-443.png)

   Agora você pode ver seu listener adicional na lista.  
![\[Configuração demonstrativa do Network Load Balancer: lista de listeners com dois listeners\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-nlb-example-listeners.png)

1. *Desative o listener da porta padrão 80.* Para o listener padrão, desative a opção **Habilitada**.  
![\[Configuração demonstrativa do Network Load Balancer: desabilitar o listener padrão\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-config-nlb-example-listeners-disabled.png)

## Configurar um Network Load Balancer usando a CLI do EB
<a name="environments-cfg-nlb-ebcli"></a>

A EB CLI solicita que você escolha um tipo de load balancer ao executar o [**eb create**](eb3-create.md).

```
$ eb create
Enter Environment Name
(default is my-app): test-env
Enter DNS CNAME prefix
(default is my-app): test-env-DLW24ED23SF

Select a load balancer type
1) classic
2) application
3) network
(default is 1): 3
```

Você também pode especificar um tipo de load balancer com a opção `--elb-type`.

```
$ eb create test-env --elb-type network
```

## Namespaces do Network Load Balancer
<a name="environments-cfg-nlb-namespaces"></a>

É possível encontrar as configurações relacionadas aos Network Load Balancers nos seguintes namespaces:
+ `aws:elasticbeanstalk:environment`: selecione o tipo de balanceador de carga para o ambiente. O valor de um Network Load Balancer é `network`.
+ `aws:elbv2:listener`: configure os listeners no Network Load Balancer. Essas configurações são mapeadas para as configurações em `aws:elb:listener` para Classic Load Balancers.
+ `aws:elasticbeanstalk:environment:process`: configure as verificações de integridade e especifique a porta e o protocolo para os processos que são executados nas instâncias de seu ambiente. A porta e as configurações de protocolo mapeiam a porta e as configurações de protocolo da instância em `aws:elb:listener` para um listener no Classic Load Balancer. As configurações de verificação de integridade são mapeadas para as configurações nos namespaces `aws:elb:healthcheck` e `aws:elasticbeanstalk:application`.

**Example .ebextensions/ .config network-load-balancer**  
Para começar a usar um Network Load Balancer, use um [arquivo de configuração](ebextensions.md) para definir o tipo de balanceador de carga como `network`.  

```
option_settings:
  aws:elasticbeanstalk:environment:
    LoadBalancerType: network
```

**nota**  
Você pode definir o tipo de load balancer apenas durante a criação do ambiente.

**Example .ebextensions/ .config nlb-default-process**  
O arquivo de configuração a seguir modifica as configurações de verificação de integridade no processo padrão.  

```
option_settings:
  aws:elasticbeanstalk:environment:process:default:
    DeregistrationDelay: '20'
    HealthCheckInterval: '10'
    HealthyThresholdCount: '5'
    UnhealthyThresholdCount: '5'
    Port: '80'
    Protocol: TCP
```

**Example .ebextensions/ .config nlb-secure-listener**  
O arquivo de configuração a seguir adiciona um listener para o tráfego seguro na porta 443 e um processo de destino correspondente com listener na porta 443.  

```
option_settings:
  aws:elbv2:listener:443:
    DefaultProcess: https
    ListenerEnabled: 'true'
  aws:elasticbeanstalk:environment:process:https:
    Port: '443'
```
A opção `DefaultProcess` é assim denominada em virtude dos Application Load Balancers, que podem ter listeners não padrão na mesma porta para tráfego para caminhos específicos (consulte [Application Load Balancer](environments-cfg-alb.md) para obter detalhes). Para um Network Load Balancer, a opção especifica o único processo de destino para esse listener.  
Neste exemplo, chamamos o processo de `https` porque ele faz o listening do tráfego seguro (HTTPS). O listener envia o tráfego para o processo na porta designada usando o protocolo TCP, pois o Network Load Balancer funciona apenas com TCP. Isso está correto, porque o tráfego de rede para HTTP e HTTPS é implementado na parte superior do TCP.

# Configurar balanceadores de carga do Elastic Beanstalk dual-stack
<a name="environments-cfg-elbv2-ipv6-dualstack"></a>

Você pode habilitar seus ambientes do Elastic Beanstalk para IPv4 atender a IPv6 ambos os protocolos com balanceadores de carga configurados em pilha dupla. 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 de pilha dupla ou atualizar ambientes IPv4 somente existentes para pilha dupla.

*Para permitir que os balanceadores de carga do seu ambiente atendam tanto ao tráfego de rede IPv6 quanto ao tráfego de IPv4 rede, defina a `IpAddressType` opção no [aws:elbv2:loadbalancer](command-options-general.md#command-options-general-elbv2) namespace como dualstack.*

**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
<a name="environments-cfg-elbv2-ipv6-dualstack.prereqs"></a>

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 IPv6 CIDR à VPC do seu ambiente.

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

1. (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 ativar o IPv6 tráfego. 

É 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
<a name="environments-cfg-elbv2-ipv6-dualstack.prereqs.console"></a>

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 IPv6 CIDR à sua VPC e](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6-add.html#vpc-migrate-ipv6-cidr) sub-redes no Guia do usuário da *Amazon* VPC. 

   Essa etapa fornece dois procedimentos que você deve concluir:
   + Associe um bloco IPv6 CIDR à sua VPC.
   + Associe um bloco IPv6 CIDR às suas sub-redes VPC.

1. (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 ativar o IPv6 tráfego. Para concluir essa configuração, consulte [Etapa 2: Atualizar suas tabelas de rotas](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6-add.html#vpc-migrate-ipv6-routes) no *Guia do usuário da Amazon VPC*.

### Conclua os pré-requisitos de VPC usando o AWS CLI
<a name="environments-cfg-elbv2-ipv6-dualstack.prereqs.cli"></a>

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

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

   1. Use o [associate-vpc-cidr-block](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-vpc-cidr-block.html)comando para associar um bloco CIDR à sua VPC.

   1. Use o comando [describe-vpcs](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpcs.html) para verificar suas configurações de VPC.

   

     
**Example Comandos da do**  

   ```
   # 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'
   ```

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

   1. Use o [associate-subnet-cidr-block](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-subnet-cidr-block.html)comando para associar um bloco CIDR à sua sub-rede.

   1. Use o comando [describe-subnets](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-subnets.html) para verificar suas configurações de sub-rede.

   

     
**Example Comandos da do**  

   ```
   # 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}'
   ```

1.  (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 ativar o IPv6 tráfego. 

   1. Use o comando [create-route](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-route.html) para adicionar uma rota em uma tabela de rotas dentro da VPC.

   1. Use o [describe-route-tables](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-route-tables.html)comando para verificar suas tabelas de rotas.

   

     
**Example Comandos da do**  

   ```
   # 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
<a name="environments-cfg-elbv2-ipv6-dualstack.enable"></a>

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

### Utilizar o console
<a name="environments-cfg-elbv2-ipv6-dualstack.enable.console"></a>

É 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](#environments-cfg-elbv2-ipv6-dualstack.prereqs), 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ê pode ter problemas ao testar a comunicação de um cliente com seu aplicativo se estiver iniciando solicitações usando o IPv6 protocolo.

**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](using-features.environments.md). 

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

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

   Se você concluiu o [Pré-requisitos da Amazon VPC](#environments-cfg-elbv2-ipv6-dualstack.prereqs) 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](#environments-cfg-elbv2-ipv6-dualstack.prereqs.console).

   1.  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. 

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

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

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

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

   Nas **configurações de rede do balanceador de carga**, selecione **Ativar** para **Dualstack (&)**. IPv4 IPv6

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

1. 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.

1. 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](using-features.environments.md).



**Ambiente existente: para configurar seu balanceador de carga para suporte dual stack**

1. Abra o console do [Elastic](https://console.aws.amazon.com/elasticbeanstalk) Beanstalk e, **na** lista Regiões, selecione sua. Região da AWS

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

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

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

1. Se você concluiu o [Pré-requisitos da Amazon VPC](#environments-cfg-elbv2-ipv6-dualstack.prereqs) 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](#environments-cfg-elbv2-ipv6-dualstack.prereqs.console).

   1.  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. 

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

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

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

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

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

1. Nas **configurações de rede do balanceador de carga**, selecione **Ativar** para **Dualstack (&)**. IPv4 IPv6

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

### Usando o AWS CLI
<a name="environments-cfg-elbv2-ipv6-dualstack.enable.cli"></a>

Você pode usar a interface de linha de AWS comando (AWS CLI) para configurar os balanceadores de carga do seu ambiente para atender tanto ao tráfego de rede IPv6 quanto ao tráfego IPv4 de rede. Esta seção fornece exemplos dos comandos [create-environment](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/create-environment.html) e [update-environment](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/update-environment.html) com o namespace [aws:elbv2:loadbalancer](command-options-general.md#command-options-general-elbv2).

**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](#environments-cfg-elbv2-ipv6-dualstack.prereqs), 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ê pode ter problemas ao testar a comunicação de um cliente com seu aplicativo se estiver iniciando solicitações usando o IPv6 protocolo.

 

**Example 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](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/update-environment.html).

**Example 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**  

```
### example options.json ###
[
  {
    "Namespace": "aws:elbv2:loadbalancer",
    "OptionName": "IpAddressType",
    "Value": "dualstack"
  }
]
```



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

**nota**  
Esse exemplo de `update-environment` comando é útil se você precisar reverter a configuração do ambiente de pilha dupla para o. IPv4

**Example do ambiente de atualização a ser definido como IpAddressType 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
<a name="environments-cfg-elbv2-ipv6-dualstack.enable.ebx"></a>

Você pode usar os arquivos de configuração do [Elastic Beanstalk](ebextensions.md) para permitir que os balanceadores de carga do seu ambiente atendam tanto ao tráfego de rede quanto ao tráfego de rede. IPv6 IPv4 Defina a opção `IpAddressType` no namespace [aws:elbv2:loadbalancer](command-options-general.md#command-options-general-elbv2) 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](#environments-cfg-elbv2-ipv6-dualstack.prereqs), 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ê pode ter problemas ao testar a comunicação de um cliente com seu aplicativo se estiver iniciando solicitações usando o IPv6 protocolo.

**Example .ebextensions/options.config para configuração dual stack do balanceador de carga ([sintaxe abreviada](ebextensions-optionsettings.md#ebextensions-optionsettings.title))**  

```
option_settings:
  aws:elbv2:loadbalancer:
    IpAddressType: dualstack
```

**Example .ebextensions/options.config para configuração dual stack do balanceador de carga ([sintaxe padrão](ebextensions-optionsettings.md#ebextensions-optionsettings.title))**  

```
option_settings:
  - namespace: aws:elbv2:loadbalancer
    option_name: IpAddressType
    value: dualstack
```

### Usando o AWS SDK
<a name="environments-cfg-elbv2-ipv6-dualstack.enable.sdk"></a>

Você pode configurar o dual-stack usando o. [AWS SDKs](https://docs.aws.amazon.com//code-library/) Semelhante aos `create-environment` AWS CLI comandos `update-environment` e mencionados na seção anterior, você pode usar as ações [CreateEnvironment](https://docs.aws.amazon.com//elasticbeanstalk/latest/api/API_CreateEnvironment.html)e [UpdateEnvironment](https://docs.aws.amazon.com//elasticbeanstalk/latest/api/API_UpdateEnvironment.html)da API. Use o parâmetro de solicitação `OptionSettings` para especificar as opções do namespace [aws:elbv2:loadbalancer](command-options-general.md#command-options-general-elbv2).

**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](#environments-cfg-elbv2-ipv6-dualstack.prereqs), 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ê pode ter problemas ao testar a comunicação de um cliente com seu aplicativo se estiver iniciando solicitações usando o IPv6 protocolo.

## Solução de problemas
<a name="environments-cfg-elbv2-ipv6-dualstack.troubleshooting"></a>

**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 o Amazon](https://aws.amazon.com/blogs/devops/troubleshooting-elastic-beanstalk-environments-with-amazon-q-developer-cli/) Q Developer CLI nos blogs. 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\$1id* não tem blocos IPv6 CIDR configurados. IPv6 Os blocos CIDR são necessários para o balanceador de carga de pilha dupla. Associe um bloco IPv6 CIDR à sua VPC antes de usar o modo dualstack.*

Sua VPC e todas as sub-redes devem ter blocos IPv6 CIDR associados a elas. 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](#environments-cfg-elbv2-ipv6-dualstack.prereqs) no início deste tópico.

 **Evento:** *uma ou mais sub-redes para VPC *vpc\$1id* não têm IPv6 blocos CIDR configurados. IPv6 Os blocos CIDR são necessários para as sub-redes usadas com o balanceador de carga de pilha dupla. Associe os blocos IPv6 CIDR a todas as sub-redes necessárias antes de usar o modo dualstack.* 

Todas as sub-redes da sua VPC devem ter blocos IPv6 CIDR associados a elas. 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](#environments-cfg-elbv2-ipv6-dualstack.prereqs) 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`.

# Configurar logs de acesso
<a name="environments-cfg-loadbalancer-accesslogs"></a>

Use os [arquivos de configuração](ebextensions.md) para configurar o balanceador de carga do ambiente a fazer upload de logs de acesso em um bucket do Amazon S3. Consulte os seguintes exemplos de arquivos de configuração em GitHub para obter instruções:
+ `[loadbalancer-accesslogs-existingbucket.config](https://github.com/awslabs/elastic-beanstalk-samples/blob/master/configuration-files/aws-provided/resource-configuration/loadbalancer-accesslogs-existingbucket.config)`: configure o balanceador de carga para fazer upload de logs de acesso em um bucket existente do Amazon S3.
+ `[loadbalancer-accesslogs-newbucket.config](https://github.com/awslabs/elastic-beanstalk-samples/blob/master/configuration-files/aws-provided/resource-configuration/loadbalancer-accesslogs-newbucket.config)`: configure o balanceador de carga para fazer upload de logs de acesso em um novo bucket.