

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

# Monitorar seus Application Load Balancers
<a name="load-balancer-monitoring"></a>

Você pode usar os recursos a seguir para monitorar seus load balancers, analisar os padrões de tráfego e solucionar problemas com seu load balancers e destinos.

**CloudWatch métricas**  
*Você pode usar CloudWatch a Amazon para recuperar estatísticas sobre pontos de dados para seus balanceadores de carga e destinos como um conjunto ordenado de dados de séries temporais, conhecido como métricas.* Essas métricas podem ser usadas para verificar se o sistema está executando conforme o esperado. Para obter mais informações, consulte [CloudWatch métricas para seu Application Load Balancer](load-balancer-cloudwatch-metrics.md).

**Logs de acesso**  
Você pode usar os logs de acesso para capturar informações detalhadas sobre as solicitações feitas ao seu balanceador de carga e armazená-las como arquivos de log no Amazon S3. Você pode usar esses logs de acesso para analisar padrões de tráfego e solucionar problemas com seus destinos. Para obter mais informações, consulte [Logs de acesso para seu Application Load Balancer](load-balancer-access-logs.md).

**Logs de conexão**  
Você pode usar os logs de conexão para capturar atributos sobre as solicitações enviadas ao balanceador de carga e armazená-las como arquivos de log no Amazon S3. Você pode usar esses logs de conexão para determinar o endereço IP e a porta do cliente, as informações do certificado do cliente, os resultados da conexão e as cifras TLS que estão sendo usadas. Esses logs de conexão podem então ser usados para revisar padrões de solicitação e outras tendências. Para obter mais informações, consulte [Logs de conexão para o Application Load Balancer](load-balancer-connection-logs.md).

**Registros de verificação de saúde**  
Você pode usar registros de verificação de saúde para capturar informações detalhadas sobre as verificações de saúde feitas em seus alvos registrados para seu load balancer e armazená-las como arquivos de log no Amazon S3. Você pode usar esses registros de verificação de saúde para solucionar problemas com seus alvos. Para obter mais informações, consulte [Registros de verificação de saúde](load-balancer-health-check-logs.md).

**Rastreamento de solicitação**  
Você pode usar o rastreamento de solicitações para rastrear solicitações HTTP. O load balancer adicionará um cabeçalho com um identificador de rastreamento para cada solicitação receber. Para obter mais informações, consulte [Solicitar rastreamento para seu Application Load Balancer](load-balancer-request-tracing.md).

**CloudTrail troncos**  
Você pode usar AWS CloudTrail para capturar informações detalhadas sobre as chamadas feitas para a API do Elastic Load Balancing e armazená-las como arquivos de log no Amazon S3. Você pode usar esses CloudTrail registros para determinar quais chamadas foram feitas, o endereço IP de origem da chamada, quem fez a chamada, quando a chamada foi feita e assim por diante. Para obter mais informações, consulte [Registrar chamadas de API para uso do Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/cloudtrail-logs.html). CloudTrail

# CloudWatch métricas para seu Application Load Balancer
<a name="load-balancer-cloudwatch-metrics"></a>

O Elastic Load Balancing publica pontos de dados na Amazon CloudWatch para seus balanceadores de carga e seus alvos. CloudWatch*permite que você recupere estatísticas sobre esses pontos de dados como um conjunto ordenado de dados de séries temporais, conhecido como métricas.* Considere uma métrica como uma variável a ser monitorada, e os pontos de dados como os valores dessa variável ao longo do tempo. Por exemplo, você pode monitorar o número total de destinos íntegros de um load balancer ao longo de um período especificado. Cada ponto de dados tem um time stamp associado e uma unidade de medida opcional.

É possível usar métricas para verificar se o sistema está executando conforme o esperado. Por exemplo, você pode criar um CloudWatch alarme para monitorar uma métrica específica e iniciar uma ação (como enviar uma notificação para um endereço de e-mail) se a métrica estiver fora do que você considera um intervalo aceitável.

O Elastic Load Balancing reporta métricas CloudWatch somente quando as solicitações estão fluindo pelo balanceador de carga. Se houver solicitações passando pelo balanceador de carga, o Elastic Load Balancing vai medir e enviar suas métricas em intervalos de 60 segundos. Se não há solicitações passando pelo load balancer ou não há dados para uma métrica, a métrica não é reportada.

As métricas dos Application Load Balancers excluem solicitações de verificação de integridade.

Para obter mais informações, consulte o [Guia CloudWatch do usuário da Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

**Topics**
+ [Métricas do Application Load Balancer](#load-balancer-metrics-alb)
+ [Dimensões de métrica para Application Load Balancers](#load-balancer-metric-dimensions-alb)
+ [Estatísticas para métricas do Application Load Balancer](#metric-statistics)
+ [Veja CloudWatch as métricas do seu balanceador de carga](#view-metric-data)

## Métricas do Application Load Balancer
<a name="load-balancer-metrics-alb"></a>
+ [balanceador de cargas](#load-balancer-metric-table)
+ [LCUs](#lcu-metric-table)
+ [Destinos](#target-metric-table)
+ [Integridade do grupo de destino](#target-group-health-metric-table)
+ [Funções do Lambda](#lambda-metric-table)
+ [Autenticação de usuário](#user-authentication-metric-table)
+ [Otimizador de alvos](#target-optimizer-metric-table)<a name="load-balancer-metric-table"></a>

O namespace `AWS/ApplicationELB` inclui as métricas a seguir para load balancers.


| Métrica | Description | 
| --- | --- | 
| ActiveConnectionCount |  O número total de conexões TCP simultâneas ativas de clientes com o load balancer e do load balancer com destinos. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| BYoIPUtilPercentage |  A porcentagem de uso do grupo de IPs. **Critérios de emissão de relatórios**: o BYo IP está ativado no balanceador de carga. **Estatísticas**: a única estatística significativa é `Average`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ClientTLSNegotiationErrorCount |  O número de conexões TLS iniciadas pelo cliente que não estabeleceram uma sessão com o load balancer devido a um erro de TLS. As causas possíveis incluem uma incompatibilidade de cifras ou protocolos ou uma falha do cliente ao verificar o certificado do servidor e fechar a conexão. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| DesyncMitigationMode\$1NonCompliant\$1Request\$1Count |  O número de solicitações que não estão em conformidade com a RFC 7230. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a estatística mais útil é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| DroppedInvalidHeaderRequestCount |  O número de solicitações em que o load balancer removeu cabeçalhos HTTP com campos de cabeçalho que não são válidos antes de rotear a solicitação. O load balancer removerá esses cabeçalhos somente se o `routing.http.drop_invalid_header_fields.enabled` atributo estiver definido como `true`. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: todas [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ForwardedInvalidHeaderRequestCount |  O número de solicitações roteadas pelo load balancer que tinha cabeçalhos HTTP com campos de cabeçalho que não são válidos. O load balancer encaminhará solicitações com esses cabeçalhos somente se o `routing.http.drop_invalid_header_fields.enabled` atributo estiver definido como `false`. **Critérios de relatório**: sempre relatado **Estatísticas**: todas [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| GrpcRequestCount |  O número de solicitações gRPC processadas em e. IPv4 IPv6 **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a estatística mais útil é `Sum`. `Minimum`, `Maximum` e `Average` retornam 1. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTP\$1Fixed\$1Response\$1Count |  O número de ações de resposta fixa que foram bem-sucedidas. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTP\$1Redirect\$1Count |  O número de ações de redirecionamento que foram bem-sucedidas. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTP\$1Redirect\$1Url\$1Limit\$1Exceeded\$1Count |  O número de ações de redirecionamento que não foram concluídas porque o URL no cabeçalho de localização de resposta era maior de 8K. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTPCode\$1ELB\$13XX\$1Count |  O número de códigos de redirecionamento 3XX HTTP originados pelo load balancer. Essa contagem não inclui códigos de resposta gerados pelos destinos. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTPCode\$1ELB\$14XX\$1Count |  O número de códigos de erro do cliente 4XX HTTP originados pelo load balancer. Essa contagem não inclui códigos de resposta gerados pelos destinos.  Erros de cliente são gerados quando solicitações estão malformadas ou incompletas. Essas solicitações não foram recebidas pelo destino, exceto no caso em que o load balancer retorna um [código de erro HTTP 460](load-balancer-troubleshooting.md#http-460-issues). Essa contagem não inclui códigos de resposta gerados pelos destinos. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a estatística mais útil é `Sum`. `Minimum`, `Maximum` e `Average` retornam 1. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTPCode\$1ELB\$15XX\$1Count |  O número de códigos de erro do servidor 5XX HTTP originados pelo load balancer. Essa contagem não inclui códigos de resposta gerados pelos destinos. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a estatística mais útil é `Sum`. `Minimum`, `Maximum` e `Average` retornam 1. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTPCode\$1ELB\$1500\$1Count |  O número de códigos de erro do HTTP 500 originados pelo load balancer. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTPCode\$1ELB\$1502\$1Count |  O número de códigos de erro do HTTP 502 originados pelo load balancer. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTPCode\$1ELB\$1503\$1Count |  O número de códigos de erro do HTTP 503 originados pelo load balancer. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTPCode\$1ELB\$1504\$1Count |  O número de códigos de erro do HTTP 504 originados pelo load balancer. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| IPv6ProcessedBytes |  O número total de bytes processados pelo balanceador de IPv6 carga. Essa contagem está incluída em `ProcessedBytes`. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a estatística mais útil é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| IPv6RequestCount |  O número de IPv6 solicitações recebidas pelo balanceador de carga. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a estatística mais útil é `Sum`. `Minimum`, `Maximum` e `Average` retornam 1. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| LowReputationPacketsDropped |  O número de pacotes removidos de fontes maliciosas conhecidas. Essa métrica é registrada quando uma solicitação é bloqueada pela proteção S no nível do recurso DDo. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| LowReputationRequestsDenied |  O número de solicitações HTTP negadas com uma resposta HTTP 403. Essa métrica é registrada quando uma solicitação é bloqueada pela proteção S no nível do recurso DDo. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| NewConnectionCount |  O número total de novas conexões TCP estabelecidas de clientes com o load balancer e do load balancer com destinos. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a estatística mais útil é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| NonStickyRequestCount |  O número de solicitações em que o load balancer escolheu um novo destino porque não foi possível usar um sticky session. Por exemplo, a solicitação foi a primeira solicitação de um novo cliente e nenhum cookie de perdurabilidade foi apresentado, um cookie de perdurabilidade foi apresentado, mas não especificou um destino registrado com esse grupo de destino, o cookie de perdurabilidade estava malformado ou expirado ou um erro interno impedia o load balancer de ler o cookie de perdurabilidade. **Reporting criteria**: a perdurabilidade está habilitada no grupo de destino. **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ProcessedBytes |  O número total de bytes processados pelo balanceador de carga em IPv4 e IPv6 (cabeçalho HTTP e carga útil HTTP). Essa contagem incluirá tráfego de e para clientes e funções do Lambda, tráfego em conexões WebSocket e tráfego de um provedor de identidade (IdP) se a autenticação do usuário estiver habilitada. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a estatística mais útil é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| RejectedConnectionCount |  O número de conexões que foram rejeitadas porque o load balancer atingiu o número máximo de conexões. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a estatística mais útil é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| RequestCount |  O número de solicitações processadas IPv4 repetidamente IPv6. Essa métrica só é incrementada para solicitações nas quais o nó do balanceador de carga tenha conseguido escolher um destino. Solicitações rejeitadas antes da escolha de um destino não são refletidas nessa métrica. **Critérios de emissão de relatórios**: relatados se houver destinos registrados. **Estatísticas**: a estatística mais útil é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| RuleEvaluations |  O número de regras avaliadas pelo balanceador de carga durante o processamento de solicitações. A regra padrão não é contada. As 10 avaliações gratuitas de regras por solicitação estão incluídas nessa contagem. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a estatística mais útil é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | <a name="lcu-metric-table"></a>

O namespace `AWS/ApplicationELB` inclui as métricas a seguir para unidades de capacidade do balanceador de carga (LCU).


| Métrica | Description | 
| --- | --- | 
| ConsumedLCUs |  O número de unidades de capacidade do balanceador de carga (LCU) usadas pelo balanceador de carga. Você paga pelo número LCUs que usa por hora. Quando a reserva da LCU estiver ativa, o LCUs Consumed informará `0` se o uso está abaixo da capacidade reservada e informará os valores acima `0` se o uso exceder a reservada. LCUs Para obter mais informações, consulte [Preço do Elastic Load Balancing](https://aws.amazon.com/elasticloadbalancing/pricing/). **Critérios de relatório**: sempre relatado **Estatísticas**: todas [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| PeakLCUs |  O número máximo de unidades de capacidade do balanceador de carga (LCU) usadas pelo balanceador de carga em um determinado momento. Aplicável somente ao usar a reserva de LCU. **Critérios de relatório**: sempre **Estatísticas**: as estatísticas mais úteis são `Sum` e `Max`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ReservedLCUs |  Uma métrica de cobrança que relata a capacidade reservada por minuto. O total reservado LCUs em qualquer período é o valor pelo LCUs qual você será cobrado. Por exemplo, se 500 LCUs forem reservados por uma hora, a métrica por minuto será LCUs 8,33. Para obter mais informações, consulte [Monitorar reserva](monitor-capacity-unit-reservation.md). **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: todas [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | <a name="target-metric-table"></a>

O namespace `AWS/ApplicationELB` inclui as métricas a seguir para destinos.


| Métrica | Description | 
| --- | --- | 
| AnomalousHostCount |  O número de hosts detectados com anomalias. **Critérios de relatório**: sempre relatado **Estatísticas**: as únicas estatísticas significativas são `Minimum` e `Maximum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HealthyHostCount |  O número de destinos considerados íntegros. **Critérios de emissão de relatórios**: relatados se houver destinos registrados. **Estatísticas**: as estatísticas mais úteis são `Average`, `Minimum` e `Maximum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTPCode\$1Target\$12XX\$1Count, HTTPCode\$1Target\$13XX\$1Count, HTTPCode\$1Target\$14XX\$1Count, HTTPCode\$1Target\$15XX\$1Count |  O número de códigos de resposta HTTP gerados pelos destinos. Isso não inclui códigos de resposta gerados pelo load balancer. **Critérios de emissão de relatórios**: relatados se houver destinos registrados. **Estatísticas**: a estatística mais útil é `Sum`. `Minimum`, `Maximum` e `Average` retornam 1. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| MitigatedHostCount |  O número de destinos sob mitigação. **Critérios de relatório**: sempre relatado **Estatísticas**: as estatísticas mais úteis são `Average`, `Minimum` e `Maximum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| RequestCountPerTarget |  A contagem média de solicitações por destino, em um grupo de destino. Você deve especificar o grupo de destino usando a dimensão `TargetGroup`. Essa métrica não se aplica se o destino é uma função Lambda. Essa contagem usa o número total de solicitações recebidas pelo grupo de destino, dividido pelo número de destinos íntegros no grupo de destino. Se não houver destinos íntegros no grupo de destino, ele será dividido pelo número total de destinos registrados. **Critérios de relatório**: sempre relatado **Estatísticas**: a única estatística válida é `Sum`. Isso representa a média, e não a soma. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| TargetConnectionErrorCount |  O número de conexões que não foram estabelecidas com êxito entre o load balancer e o destino. Essa métrica não se aplica se o destino é uma função Lambda. Essa métrica não é incrementada para conexões de verificação de integridade malsucedidas. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a estatística mais útil é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| TargetResponseTime |  O tempo decorrido, em segundos, após a solicitação deixar o balanceador de carga até que o destino comece a enviar os cabeçalhos de resposta. Isso equivale ao campo `target_processing_time` nos logs de acesso. **Critérios de relatório**: há um valor diferente de zero **Estatística**: as estatísticas mais úteis são `Average` e `pNN.NN` (percentis). [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| TargetTLSNegotiationErrorCount |  O número de conexões TLS iniciadas pelo load balancer que não estabeleceram uma sessão com o destino. Entre as causas possíveis está uma diferença de cifras ou protocolos. Essa métrica não se aplica se o destino é uma função Lambda. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a estatística mais útil é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| UnHealthyHostCount |  O número de destinos considerados sem integridade. Quando você cancela o registro de um destino, isso diminui o `HealthyHostCount`, mas não aumenta o `UnhealthyHostCount`. **Critérios de emissão de relatórios**: relatados se houver destinos registrados. **Estatísticas**: as estatísticas mais úteis são `Average`, `Minimum` e `Maximum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ZonalShiftedHostCount |  O número de destinos considerados desativados devido a uma mudança de zona. **Critérios de emissão de relatórios**: relatado quando há um valor **Estatísticas**: a estatística mais útil é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | <a name="target-group-health-metric-table"></a>

O namespace `AWS/ApplicationELB` inclui as métricas a seguir para a integridade do grupo de destino. Para obter mais informações, consulte [Integridade do grupo de destino](load-balancer-target-groups.md#target-group-health).


| Métrica | Description | 
| --- | --- | 
| HealthyStateDNS |  O número de zonas que atendem aos requisitos de estado íntegro do DNS. **Estatísticas**: a estatística mais útil é `Max`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HealthyStateRouting |  O número de zonas que atendem aos requisitos de estado íntegro do roteamento. **Estatísticas**: a estatística mais útil é `Max`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| UnhealthyRoutingRequestCount |  O número de solicitações roteadas usando a ação de failover de roteamento (falha na abertura). **Estatísticas**: a estatística mais útil é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| UnhealthyStateDNS |  O número de zonas que não atendem aos requisitos de estado íntegro do DNS e, portanto, foram marcadas como não íntegras no DNS. **Estatísticas**: a estatística mais útil é `Min`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| UnhealthyStateRouting |  O número de zonas que não atendem aos requisitos de estado íntegro do roteamento e, portanto, o balanceador de carga distribui o tráfego para todos os destinos na zona, incluindo destinos não íntegros. **Estatísticas**: a estatística mais útil é `Min`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | <a name="lambda-metric-table"></a>

O namespace `AWS/ApplicationELB` inclui as seguintes métricas para funções Lambda que são registradas como destinos.


| Métrica | Description | 
| --- | --- | 
| LambdaInternalError |  O número de solicitações para uma função Lambda que falharam por um problema com o load balancer interno ou AWS Lambda. Para obter os códigos de motivo de erro, verifique o campo error\$1reason do log de acesso. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| LambdaTargetProcessedBytes |  O número total de bytes processados pelo load balancer para solicitações e respostas de uma função Lambda. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| LambdaUserError |  O número de solicitações para uma função Lambda que falhou por um problema com a função Lambda. Por exemplo, o load balancer não tinha permissão para invocar a função, o load balancer recebeu o JSON da função que está malformada ou não possui campos obrigatórios, ou o tamanho do corpo ou da resposta da solicitação excedia o tamanho máximo de 1 MB. Para obter os códigos de motivo de erro, verifique o campo error\$1reason do log de acesso. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | <a name="user-authentication-metric-table"></a>

O namespace `AWS/ApplicationELB` inclui as seguintes métricas de autenticação do usuário.


| Métrica | Description | 
| --- | --- | 
| ELBAuthError |  O número de autenticações de usuário que não podiam ser concluídas como uma ação de autenticação não configurada, o load balancer não pode estabelecer uma conexão com o IdP, ou o load balancer não pode encerrar o fluxo de autenticação devido a um erro interno. Para obter os códigos de motivo de erro, verifique o campo error\$1reason do log de acesso. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ELBAuthFailure |  O número de autenticações de usuário que não podiam ser concluídas porque o IdP negou ao usuário ou um código de autorização foi usado mais de uma vez. Para obter os códigos de motivo de erro, verifique o campo error\$1reason do log de acesso. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ELBAuthLatency |  O tempo decorrido, em milissegundos, para consultar o IdP das informações de token de ID e de usuário. Se uma ou mais dessas operações falharem, este é o tempo da falha. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: Todas as estatísticas são significativas. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ELBAuthRefreshTokenSuccess |  O número de vezes que o load balancer atualizou com sucesso as solicitações do usuário usando um token de atualização fornecido pelo IdP. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ELBAuthSuccess |  O número de ações de autenticação que foram bem-sucedidas. Essa métrica é incrementada ao final de fluxo de trabalho de autenticação, após o load balancer ter recuperado as solicitações do usuário de IdP. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a estatística mais útil é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ELBAuthUserClaimsSizeExceeded |  O número de vezes que um IdP configurado retornou solicitações do usuário que excederam 11K bytes de tamanho. **Critérios de relatório**: há um valor diferente de zero **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | <a name="target-optimizer-metric-table"></a>

O `AWS/ApplicationELB` namespace inclui as seguintes métricas para o otimizador de destino.


| Métrica | Description | 
| --- | --- | 
| TargetControlRequestCount |  Número de solicitações encaminhadas pela ALB aos agentes. **Critérios de geração de relatórios**: o otimizador de metas está ativado em um grupo-alvo e há um valor diferente de zero. **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| TargetControlRequestRejectCount |  Número de solicitações rejeitadas pelo ALB devido ao fato de nenhum alvo estar pronto para receber solicitações. Essa métrica mostra um aumento quando TargetControlWorkQueueLength é zero. **Critérios de geração de relatórios**: o otimizador de metas está ativado em um grupo-alvo e há um valor diferente de zero. **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| TargetControlActiveChannelCount |  Número de canais de controle ativos entre o ALB e os agentes. Para um balanceador de carga, isso deve ser igual ao número de agentes. Um número menor do que o esperado indica que os agentes não estão configurados adequadamente ou não estão disponíveis. **Critérios de geração de relatórios**: o otimizador de metas está ativado em um grupo-alvo e há um valor diferente de zero. **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| TargetControlNewChannelCount |  Número de novos canais de controle criados entre o ALB e os agentes. Você verá um aumento nessa métrica quando um novo alvo com o agente instalado for adicionado com sucesso ao grupo-alvo. **Critérios de geração de relatórios**: o otimizador de metas está ativado em um grupo-alvo e há um valor diferente de zero. **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| TargetControlChannelErrorCount |  Número de canais de controle entre o ALB e os agentes que não conseguiram estabelecer ou tiveram um erro inesperado. Um erro no canal de controle fará com que o agente (e o alvo) não recebam nenhum tráfego do aplicativo. **Critérios de geração de relatórios**: o otimizador de metas está ativado em um grupo-alvo e há um valor diferente de zero. **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| TargetControlWorkQueueLength |  Número de sinais recebidos pelo ALB de agentes solicitando solicitações.  Esses dados vêm de instantâneos tirados em intervalos de 1 minuto. Alterações menores de um minuto não são capturadas.  **Critérios de geração de relatórios**: o otimizador de metas está ativado em um grupo-alvo e há um valor diferente de zero. **Estatísticas**: a única estatística significativa é `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| TargetControlProcessedBytes |  Número de bytes processados pelo ALB para tráfego para grupos-alvo que habilitam o otimizador de destino. **Critérios de geração de relatórios**: o otimizador de metas está ativado em um grupo-alvo e há um valor diferente de zero. **Estatísticas**: A estatística mais significativa é`Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 

## Dimensões de métrica para Application Load Balancers
<a name="load-balancer-metric-dimensions-alb"></a>

Para filtrar as métricas do seu Application Load Balancer, use as dimensões a seguir.


| Dimensão | Description | 
| --- | --- | 
| AvailabilityZone |  Filtra os dados de métrica por zona de disponibilidade.  | 
| LoadBalancer |  Filtra os dados da métrica por load balancer. Especifique o balanceador de carga da seguinte forma: app/ *load-balancer-name*/*1234567890123456 (*a parte final do ARN do balanceador de carga).  | 
| TargetGroup |  Filtra os dados da métrica por grupo de destino. Especifique o grupo-alvo da seguinte forma: targetgroup/ *target-group-name*/*1234567890123456* (a parte final do ARN do grupo-alvo).  | 

## Estatísticas para métricas do Application Load Balancer
<a name="metric-statistics"></a>

CloudWatch fornece estatísticas com base nos pontos de dados métricos publicados pelo Elastic Load Balancing. As estatísticas são agregações de dados de métrica ao longo de um período especificado. Quando você solicita estatísticas, o fluxo de dados apresentado é identificado pelo nome da métrica e pela dimensão. Dimensão é um par de nome-valor que identifica exclusivamente uma métrica. Por exemplo, você pode solicitar estatísticas de todas as instâncias EC2 íntegras por atrás de um load balancer iniciado em uma Zona de disponibilidade específica.

As estatísticas `Minimum` e `Maximum` refletem os valores mínimos e máximos dos pontos de dados relatados por cada um dos nós do load balancer em cada janela de amostragem. Por exemplo, suponha que haja dois nós de balanceador de carga que compõem o Application Load Balancer. Um nó tem `HealthyHostCount` com `Minimum` de 2, `Maximum` de 10 e `Average` de 6, enquanto o outro nó tem `HealthyHostCount` com `Minimum` de 1, `Maximum` de 5 e `Average` de 3. Assim, o load balancer tem `Minimum` de 1, `Maximum` de 10 e `Average` de cerca de 4.

Recomendamos monitorar `UnHealthyHostCount` diferentes de zero na estatística `Minimum` e ativar alarmes de valores diferentes de zero para mais de um ponto de dados. O uso de `Minimum` detectará quando os destinos forem considerados não íntegros por cada nó e zona de disponibilidade do seu balanceador de carga. O alarme para `Average` ou `Maximum` é útil se você quiser ser alertado sobre possíveis problemas, e recomendamos que os clientes revisem essa métrica e investiguem ocorrências diferentes de zero. É possível fazer a mitigação automática de falhas seguindo as práticas recomendadas de uso da verificação de integridade do balanceador de carga no Amazon EC2 Auto Scaling ou no Amazon Elastic Container Service (Amazon ECS).

A estatística `Sum` é o valor agregado entre todos os nós do load balancer. Como as métricas incluem vários relatórios por período, `Sum` só será aplicável às métricas agregadas em todos os nós do load balancer.

A estatística `SampleCount` é o número de amostras medidas. Como as métricas são obtidas com base em intervalos de amostragem e eventos, essa estatística normalmente não é útil. Por exemplo, com `HealthyHostCount`, `SampleCount` se baseia no número de amostras que cada nó do load balancer relata, não no número de hosts íntegros.

Um percentil indica a posição relativa de um valor no dataset. É possível especificar qualquer percentil usando até duas casas decimais (por exemplo, p95.45). Por exemplo, 95º percentil significa que 95% dos dados está abaixo desse valor e 5% está acima. Percentis geralmente são usados para isolar anomalias. Por exemplo, vamos supor que um aplicativo atende à maioria das solicitações de um cache em 1-2 ms, mas em 100-200 ms se o cache estiver vazio. O máximo reflete o caso mais lento, cerca de 200 ms. A média não indica a distribuição dos dados. Percentis fornecem uma visão mais significativa da performance do aplicativo. Ao usar o 99º percentil como acionador ou CloudWatch alarme do Auto Scaling, você pode ter como meta que no máximo 1% das solicitações demorem mais do que 2 ms para serem processadas.

## Veja CloudWatch as métricas do seu balanceador de carga
<a name="view-metric-data"></a>

Você pode visualizar as CloudWatch métricas dos seus balanceadores de carga usando o console do Amazon EC2. Essas métricas são exibidas como gráficos de monitoramento. O monitoramento de gráficos mostrará pontos de dados se o load balancer estiver ativo e recebendo solicitações.

Como alternativa, você pode visualizar as métricas do seu load balancer usando o console do CloudWatch.

**Para visualizar as métricas usando o console**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Para visualizar métricas filtradas por grupo de destino, faça o seguinte:

   1. No painel de navegação, selecione **Grupos de destino**.

   1. Selecione o grupo de destino e, em seguida, selecione a guia **Monitoramento**.

   1. (Opcional) Para filtrar os resultados de acordo com o horário, selecione um período na opção **Exibindo os dados de**.

   1. Para obter uma visualização maior de uma única métrica, selecione seu gráfico.

1. Para visualizar métricas filtradas por load balancer, faça o seguinte:

   1. No painel de navegação, selecione **Load Balancers**.

   1. Selecione seu load balancer e, em seguida, selecione a guia **Monitoramento**.

   1. (Opcional) Para filtrar os resultados de acordo com o horário, selecione um período na opção **Exibindo os dados de**.

   1. Para obter uma visualização maior de uma única métrica, selecione seu gráfico.

**Para visualizar métricas usando o CloudWatch console**

1. Abra o CloudWatch console em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. No painel de navegação, selecione **Métricas**.

1. Selecione o namespace **ApplicationELB**.

1. (Opcional) Para visualizar uma métrica em todas as dimensões, digite o nome no campo de pesquisa.

1. (Opcional) Para filtrar por dimensão, selecione uma das seguintes ações:
   + Para exibir somente as métricas relatadas para os seus load balancers, escolha **Conforme as métricas do AppELB**. Para visualizar uma métrica de um só balanceador de carga, digite o nome no campo de pesquisa.
   + Para exibir somente as métricas relatadas para os grupos de destino, selecione **Conforme AppELB, conforme as métricas do TG**. Para visualizar uma métrica para um só grupo de destino, digite o nome no campo de pesquisa.
   + Para exibir somente as métricas relatadas para os load balancers por zona de disponibilidade, selecione **Conforme AppELB, conforme as métricas de AZ**. Para visualizar uma métrica de um só balanceador de carga, digite o nome no campo de pesquisa. Para visualizar uma métrica de uma só zona de disponibilidade, digite o nome no campo de pesquisa.
   + Para exibir somente as métricas relatadas para os load balancers por zona de disponibilidade e grupo de destino, selecione **Conforme AppELB, conforme as métricas de TG**. Para visualizar uma métrica de um só balanceador de carga, digite o nome no campo de pesquisa. Para visualizar uma métrica para um só grupo de destino, digite o nome no campo de pesquisa. Para visualizar uma métrica de uma só zona de disponibilidade, digite o nome no campo de pesquisa.

**Para visualizar métricas usando o AWS CLI**  
Use o comando [list-metrics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html) para listar as métricas disponíveis:

```
aws cloudwatch list-metrics --namespace AWS/ApplicationELB
```

**Para obter as estatísticas de uma métrica usando o AWS CLI**  
Use o [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html)comando a seguir para obter estatísticas para a métrica e a dimensão especificadas. CloudWatch trata cada combinação exclusiva de dimensões como uma métrica separada. Você não consegue recuperar estatísticas usando combinações de dimensões que não tenham sido especialmente publicadas. É necessário especificar as mesmas dimensões usadas ao criar as métricas.

```
aws cloudwatch get-metric-statistics --namespace AWS/ApplicationELB \
--metric-name UnHealthyHostCount --statistics Average  --period 3600 \
--dimensions Name=LoadBalancer,Value=app/my-load-balancer/50dc6c495c0c9188 \
Name=TargetGroup,Value=targetgroup/my-targets/73e2d6bc24d8a067 \
--start-time 2016-04-18T00:00:00Z --end-time 2016-04-21T00:00:00Z
```

A seguir está um exemplo de saída:

```
{
    "Datapoints": [
        {
            "Timestamp": "2016-04-18T22:00:00Z",
            "Average": 0.0,
            "Unit": "Count"
        },
        {
            "Timestamp": "2016-04-18T04:00:00Z",
            "Average": 0.0,
            "Unit": "Count"
        },
        ...
    ],
    "Label": "UnHealthyHostCount"
}
```

# Logs de acesso para seu Application Load Balancer
<a name="load-balancer-access-logs"></a>

O Elastic Load Balancing fornece logs de acesso que capturam informações detalhadas sobre as solicitações enviadas ao seu balanceador de carga. Cada log contém informações como a hora em que a solicitação foi recebida, o endereço IP do cliente, latências, caminhos de solicitação e respostas do servidor. Você pode usar esses logs de acesso para analisar padrões de tráfego e solucionar problemas.

O registro de logs de acesso é um recurso opcional do Elastic Load Balancing que está desabilitado por padrão. Após habilitar os logs de acesso para seu balanceador de carga, o Elastic Load Balancing capturará os logs e os armazenará como arquivos compactados no bucket do Amazon S3 que você especificar. Você pode desabilitar os logs de acesso a qualquer momento.

Você receberá cobranças pelos custos de armazenamento do Amazon S3, mas não haverá cobranças pela largura de banda usada pelo Elastic Load Balancing para enviar arquivos de log para o Amazon S3. Para obter mais informações sobre os custos de armazenamento, consulte [Preços do Amazon S3](https://aws.amazon.com/s3/pricing/).

**Topics**
+ [Arquivos do log de acesso](#access-log-file-format)
+ [Entradas do log de acesso](#access-log-entry-format)
+ [Exemplo de entradas de log do](#access-log-entry-examples)
+ [Configurar notificações de entrega de logs](#access-log-event-notifications)
+ [Processar arquivos de log de acesso](#log-processing-tools)
+ [Habilitar logs de acesso](enable-access-logging.md)
+ [Desabilitar logs de acesso](disable-access-logging.md)

## Arquivos do log de acesso
<a name="access-log-file-format"></a>

O Elastic Load Balancing publica um arquivo de log para cada nó do balanceador de carga a cada 5 minutos. A entrega de logs, no final das contas, é consistente. O load balancer pode distribuir vários logs para o mesmo período. Isso normalmente acontece se o site tiver alto tráfego.

Os nomes dos arquivos dos logs de acesso usa o seguinte formato:

```
bucket[/prefix]/AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/aws-account-id_elasticloadbalancing_region_app.load-balancer-id_end-time_ip-address_random-string.log.gz
```

*bucket*  
O nome do bucket do S3.

*prefix*  
(Opcional) O prefixo (hierarquia lógica) no bucket. O prefixo especificado não pode incluir a string `AWSLogs`. Para mais informações, consulte [Organizar objetos usando prefixos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html).

`AWSLogs`  
Adicionamos a parte do nome do arquivo que começa com `AWSLogs` após o nome do bucket e o prefixo opcional que você especificar.

*aws-account-id*  
O ID da AWS conta do proprietário.

*region*  
A Região para seu load balancer e o bucket do S3.

*aaaa*/*mm*/*dd*  
A data em que o log foi entregue.

*load-balancer-id*  
O ID de recursos do load balancer. Se o ID de recursos contiver barras (/), elas são substituídos por pontos (.).

*end-time*  
A data e a hora em que o intervalo de registro terminou. Por exemplo, a hora final de 20140215T2340Z contém entradas para solicitações feitas entre 23h35 e 23h40 no horário UTC ou Zulu.

*ip-address*  
O endereço IP do nó do load balancer que processou a solicitação. Para um load balancer interno, esse é um endereço IP privado.

*random-string*  
Uma string aleatória gerada pelo sistema.

Veja um exemplo de um nome de arquivo de log com um prefixo:

```
s3://amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz
```

Veja um exemplo de um nome de arquivo de log sem um prefixo:

```
s3://amzn-s3-demo-logging-bucket/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz
```

Você pode armazenar os arquivos de log no bucket pelo tempo que desejar, mas também pode definir regras do ciclo de vida do Amazon S3 para arquivar ou excluir os arquivos de log automaticamente. Para obter mais informações, consulte o [Gerenciamento do ciclo de vida do objeto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) no *Guia do usuário do Amazon S3*.

## Entradas do log de acesso
<a name="access-log-entry-format"></a>

O Elastic Load Balancing registra em log as solicitações enviadas ao balanceador de carga, inclusive aquelas que nunca chegaram aos destinos. Por exemplo, se um cliente enviar uma solicitação mal formada ou não houver destinos íntegros para responder a solicitação, a solicitação mesmo assim será registrada.

Cada entrada de registro contém os detalhes de uma única solicitação (ou conexão, no caso de WebSockets) feita ao balanceador de carga. Para WebSockets, uma entrada é gravada somente após o fechamento da conexão. Se a conexão atualizada não puder ser estabelecida, a entrada será a mesma de uma solicitação HTTP ou HTTPS.

**Importante**  
O Elastic Load Balancing registra as solicitações na base do melhor esforço. Recomendamos que você use logs de acesso para compreender a natureza das solicitações, não como uma contabilidade completa de todas as solicitações.

**Topics**
+ [Sintaxe](#access-log-entry-syntax)
+ [Ações executadas](#actions-taken)
+ [Motivos de classificação](#classification-reasons)
+ [Códigos de motivo de erro](#error-reason-codes)
+ [Transformar códigos de status](#transform-status-codes)

### Sintaxe
<a name="access-log-entry-syntax"></a>

A tabela a seguir descreve os campos de uma entrada no log de acesso, em ordem. Todos os campos são delimitados por espaços. Quando adicionamos um novo campo, o adicionamos ao final da entrada de log. Enquanto preparamos o lançamento de um novo campo, você pode ver um “-” adicional no final antes que o campo seja lançado. Certifique-se de configurar a análise de log para que pare após o último campo documentado e para que atualize a análise de log após o lançamento de um novo campo.


| Campo (posição) | Description | 
| --- | --- | 
|  type (1)  |  O tipo de solicitação ou conexão. Os valores possíveis são as seguintes (ignorar todos os outros valores): [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-access-logs.html)  | 
|  time (2)  |  A hora em que o load balancer gerou uma resposta para o cliente, no formato ISO 8601. Pois WebSockets, esse é o momento em que a conexão é fechada.  | 
|  elb (3)  |  O ID de recursos do load balancer. Se você estiver analisando entradas de registro de acesso, observe que os recursos IDs podem conter barras (/).  | 
|  client:port (4)  |  O endereço IP e porta do cliente solicitante. Se houver um proxy na frente do balanceador de carga, esse campo conterá o endereço IP do proxy.  | 
|  target:port (5)  |  O endereço IP e porta do destino que processou essa solicitação. Se o cliente não enviar uma solicitação completa, o load balancer não poderá despachar a solicitação a um destino e esse valor será definido como -. Se o destino for uma função Lambda, esse valor é definido como -. Se a solicitação for bloqueada por AWS WAF, esse valor será definido como -.  | 
|  request\$1processing\$1time (6)  |  O tempo total (em segundos, com precisão de milissegundos) decorrido desde o momento em que o balanceador de carga recebeu a solicitação até o momento em que ele a enviou a um destino. Esse valor será configurado como -1 se o load balancer não conseguir despachar a solicitação a um destino. Isso pode acontecer se o destino fechar a conexão antes de o tempo limite de inatividade ou se o cliente enviar uma solicitação malformada. Esse valor também pode ser definido como -1 se uma conexão TCP não puder ser estabelecida com o destino antes de atingir o tempo limite da conexão TCP de 10 segundos. Se AWS WAF estiver habilitado para seu Application Load Balancer ou o tipo de destino for uma função Lambda, o tempo necessário para o cliente enviar os dados necessários para solicitações POST será contabilizado. `request_processing_time`  | 
|  target\$1processing\$1time (7)  |  O tempo total (em segundos, com precisão de milissegundos) decorrido desde o momento em que o load balancer enviou a solicitação a um destino até que o destino começar a enviar os cabeçalhos de resposta. Esse valor será configurado como -1 se o load balancer não conseguir despachar a solicitação a um destino. Isso pode acontecer se o destino fechar a conexão antes de o tempo limite de inatividade ou se o cliente enviar uma solicitação malformada. Esse valor também pode ser configurado como –1 se o destino registrado não responder antes do tempo limite de inatividade. Se não AWS WAF estiver habilitado para seu Application Load Balancer, o tempo necessário para o cliente enviar os dados necessários para solicitações POST será contabilizado. `target_processing_time`  | 
|  response\$1processing\$1time (8)  |  O tempo total decorrido (em segundos, com precisão de milissegundos) desde o momento em que o load balancer recebeu o cabeçalho de resposta do destino até que ele começou a enviar a resposta ao cliente. Isso inclui o tempo de fila no load balancer e o tempo de aquisição de conexão do load balancer ao cliente. Esse valor será definido como -1 se o balanceador de carga não receber uma resposta de um destino. Isso pode acontecer se o destino fechar a conexão antes de o tempo limite de inatividade ou se o cliente enviar uma solicitação malformada.  | 
|  elb\$1status\$1code (9)  |  O código de status da resposta gerada pelo balanceador de carga, pela regra de resposta fixa ou pelo código de resposta AWS WAF personalizado para ações de bloco.  | 
|  target\$1status\$1code (10)  |  O código de status da resposta do destino. Esse valor só será registrado se tiver sido estabelecida uma conexão ao destino e o destino tiver enviado uma resposta. Caso contrário, ele será definido como -.  | 
|  received\$1bytes (11)  |  O tamanho da solicitação, em bytes, recebida do cliente (solicitante). Para solicitações HTTP, isso inclui os cabeçalhos. Pois WebSockets, esse é o número total de bytes recebidos do cliente na conexão.  | 
|  sent\$1bytes (12)  |  O tamanho da resposta, em bytes, enviada ao cliente (solicitante). Para solicitações HTTP, isso inclui os cabeçalhos de resposta e o corpo. Pois WebSockets, esse é o número total de bytes enviados ao cliente na conexão. Os cabeçalhos TCP e a carga útil do handshake TLS não estão incluídos no `sent_bytes`. Portanto, `sent_bytes` não `DataTransfer-Out-Bytes` coincidirá AWS Cost Explorer.  | 
|  "request\$1line" (13)  |  A linha de solicitação do cliente entre aspas duplas e registrada no seguinte formato: método HTTP \$1 protocol://host:port/uri \$1 versão HTTP. O load balancer preserva o URL enviado pelo cliente, da forma como se encontra, ao gravar o URI da solicitação. Ele não define o tipo de conteúdo para o arquivo do log de acesso. Ao processar esse campo, considere como o cliente enviou o URL.  | 
|  "user\$1agent" (14)  |  Uma string usuário-agente que identifica o cliente que originou a solicitação entre aspas duplas. A string consiste em um ou mais identificadores de produto, produto[/versão]. Se a string tiver mais de 8 KB, ela ficará truncada.  | 
|  ssl\$1cipher (15)  |  [Listener HTTPS] A cifra do SSL. Esse valor é definido como -, se o listener não for um listener HTTPS.  | 
|  ssl\$1protocol (16)  |  [Listener HTTPS] O protocolo SSL. Esse valor é definido como -, se o listener não for um listener HTTPS.  | 
|  target\$1group\$1arn (17)  |  O Nome de recurso da Amazon (ARN) do grupo de destino.  | 
|  "trace\$1id" (18)  |  O conteúdo do cabeçalho **X-Amzn-Trace-Id** em aspas duplas.  | 
|  "domain\$1name" (19)  |  [Listener HTTPS] O domínio SNI fornecido pelo cliente durante o handshake do TLS em aspas duplas. Esse valor será definido como - se o cliente não oferecer suporte a SNI ou o domínio não corresponder a um certificado e o certificado padrão for apresentado ao cliente.  | 
|  "chosen\$1cert\$1arn" (20)  |  [Listener HTTPS] O ARN do certificado apresentado ao cliente em aspas duplas. Esse valor é configurado como `session-reused` se a sessão for reutilizada. Esse valor é definido como -, se o listener não for um listener HTTPS.  | 
|  matched\$1rule\$1priority (21)  |  O valor de prioridade da regra que corresponde à solicitação. Se uma regra corresponde, este é um valor de 1 a 50.000. Se nenhuma regra corresponde e a ação padrão for executada, o valor é 0. Se ocorrer um erro durante a avaliação de regras, ele é definido como -1. Para qualquer outro erro, ele é definido como -.  | 
|  request\$1creation\$1time (22)  |  A hora em que o load balancer recebeu a solicitação do cliente, no formato ISO 8601.  | 
|  "actions\$1executed" (23)  |  As ações executadas ao processar a solicitação em aspas duplas. Esse valor é uma lista separada por vírgulas que pode incluir os valores descritos em [Ações executadas](#actions-taken). Se nenhuma ação foi executada, como para uma solicitação malformada, esse valor será definido como -.  | 
|  "redirect\$1url" (24)  |  O URL do destino do redirecionamento para o cabeçalho de localização da resposta HTTP, entre aspas duplas. Se nenhuma ação de redirecionamento foi realizada, o valor é definido como -.  | 
|  "error\$1reason" (25)  |  O código de motivo, entre aspas duplas. Se a solicitação falhou, esse é um dos códigos de erro descritas em [Códigos de motivo de erro](#error-reason-codes). Se as ações realizadas não incluírem uma ação de autenticação ou o destino não for uma função do Lambda, esse valor será definido como -.  | 
|  "target:port\$1list" (26)  |  Uma lista delimitada por espaços de endereços IP e portas para os destinos que processaram esta solicitação, entre aspas duplas. Atualmente, essa lista pode conter um item e corresponde ao campo target:port. Se o cliente não enviar uma solicitação completa, o load balancer não poderá despachar a solicitação a um destino e esse valor será definido como -. Se o destino for uma função Lambda, esse valor é definido como -. Se a solicitação for bloqueada por AWS WAF, esse valor será definido como -.  | 
|  "target\$1status\$1code\$1list" (27)  |  Uma lista delimitada por espaços de códigos de status das respostas dos destinos, entre aspas duplas. Atualmente, essa lista pode conter um item e corresponde ao campo target\$1status\$1code. Esse valor só será registrado se tiver sido estabelecida uma conexão ao destino e o destino tiver enviado uma resposta. Caso contrário, ele será definido como -.  | 
|  “classification” (28)  |  A classificação para mitigação de dessincronização, entre aspas duplas. Se a solicitação não estiver em conformidade com a RFC 7230, os valores possíveis são Aceitável, Ambíguo e Severo. Se a solicitação estiver em conformidade com a RFC 7230, esse valor será definido como -.  | 
|  "classification\$1reason" (29)  |  O código de motivo da classificação, entre aspas duplas. Se a solicitação não estiver em conformidade com a RFC 7230, esse é um dos códigos de classificação descritos em [Motivos de classificação](#classification-reasons). Se a solicitação estiver em conformidade com a RFC 7230, esse valor será definido como -.  | 
|  conn\$1trace\$1id (30)  |  O ID de rastreabilidade da conexão é um **ID opaco exclusivo** usado para identificar cada conexão. Depois que uma conexão for estabelecida com um cliente, as solicitações subsequentes desse cliente conterão esse ID em suas respectivas entradas de log de acesso. Esse ID atua como uma chave estrangeira para criar um link entre os logs de conexão e acesso.  | 
|  "transformed\$1host" (31)  |  O cabeçalho do host após ser modificado por uma transformação de regravação do cabeçalho do host. Se qualquer uma das seguintes situações for verdadeira, esse valor estará definido como -. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-access-logs.html)  | 
|  "transformed\$1uri" (32)  |  O URI após ser modificado por uma transformação de regravação de URL. Se qualquer uma das seguintes situações for verdadeira, esse valor estará definido como -. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-access-logs.html)  | 
|  "request\$1transform\$1status" (33)  |  O status da transformação de regravação. Se nenhuma transformação de regravação tiver sido aplicada, esse valor será definido como -. Caso contrário, esse valor estará entre os valores de status descritos em [Transformar códigos de status](#transform-status-codes).  | 

### Ações executadas
<a name="actions-taken"></a>

O load balancer armazena as ações executadas no campo actions\$1executed do log de acesso.
+ `authenticate`: o balanceador de carga validou a sessão, autenticou o usuário e adicionou as informações do usuário aos cabeçalhos da solicitação, conforme especificado pela configuração da regra.
+ `fixed-response`: o balanceador de carga emitiu uma resposta fixa, conforme especificado pela configuração da regra.
+ `forward`: o balanceador de carga encaminhou a solicitação para um destino, conforme especificado pela configuração da regra.
+ `redirect`: o balanceador de carga redirecionou a solicitação para outro URL, conforme especificado pela configuração da regra.
+ `rewrite`: o balanceador de carga reescreveu a solicitação para outro URL, conforme especificado pela configuração da regra.
+ `waf`: o balanceador de carga encaminhou a solicitação ao AWS WAF para determinar se a solicitação deve ser encaminhada para o destino. Se essa for a ação final, AWS WAF determinou que a solicitação deve ser rejeitada. Por padrão, as solicitações rejeitadas por AWS WAF serão registradas como “403" no campo. `elb_status_code` Quando AWS WAF estiver configurado para rejeitar solicitações com um Código de Resposta Personalizado, o `elb_status_code` campo refletirá o código de resposta configurado.
+ `waf-failed`— O balanceador de carga tentou encaminhar a solicitação para AWS WAF, mas esse processo falhou.

### Motivos de classificação
<a name="classification-reasons"></a>

Se uma solicitação não estiver em conformidade com a RFC 7230, o balanceador de carga armazenará um dos seguintes códigos no campo classification\$1reason do log de acesso. Para obter mais informações, consulte [Modo de mitigação de dessincronização](edit-load-balancer-attributes.md#desync-mitigation-mode).


| Código | Description | Classificação | 
| --- | --- | --- | 
|  `AmbiguousUri`  |  O URI de solicitação contém caracteres de controle.  |  Ambíguo  | 
|  `BadContentLength`  |  O cabeçalho Content-Length (Comprimento de conteúdo) contém um valor que não pode ser analisado ou não é um número válido.  |  Grave  | 
|  `BadHeader`  |  Um cabeçalho contém um caractere nulo ou retorno de carro.  |  Grave  | 
|  `BadTransferEncoding`  |  O cabeçalho Transfer-Encoding (Codificação de transferência) contém um valor inválido.  |  Grave  | 
|  `BadUri`  |  O URI de solicitação contém um caractere nulo ou retorno de carro.  |  Grave  | 
|  `BadMethod`  |  O método de solicitação está malformado.  |  Grave  | 
|  `BadVersion`  |  A versão da solicitação está malformada.  |  Grave  | 
|  `BothTeClPresent`  |  A solicitação contém um cabeçalho Transfer-Coding (Codificação de transferência) e um cabeçalho Content-Length (Comprimento de conteúdo).  |  Ambíguo  | 
|  `DuplicateContentLength`  |  Há vários cabeçalhos Content-Length (Comprimento de conteúdo) com o mesmo valor.  |  Ambíguo  | 
|  `EmptyHeader`  |  Um cabeçalho está vazio ou há uma linha com apenas espaços.  |  Ambíguo  | 
|  `GetHeadZeroContentLength`  |  Há um cabeçalho Content-Length (Comprimento de conteúdo) com um valor de 0 para uma solicitação GET ou HEAD.  |  Aceitável  | 
|  `MultipleContentLength`  |  Há vários cabeçalhos Content-Length (Comprimento de conteúdo) com valores diferentes.  |  Grave  | 
|  `MultipleTransferEncodingChunked`  |  Há vários cabeçalhos Transfer-Coding (Codificação de transferência): cabeçalhos em bloco.  |  Grave  | 
|  `NonCompliantHeader`  |  Um cabeçalho contém um caractere não ASCII ou de controle.  |  Aceitável  | 
|  `NonCompliantVersion`  |  A versão de solicitação contém um valor incorreto.  |  Aceitável  | 
|  `SpaceInUri`  |  O URI de solicitação contém um espaço que não é codificado por URL.  |  Aceitável  | 
|  `SuspiciousHeader`  |  Há um cabeçalho que pode ser normalizado para Transfer-Enconding (Codificação de transferência) ou Content-Length (Comprimento de conteúdo) usando técnicas comuns de normalização de texto.  |  Ambíguo  | 
|  `SuspiciousTeClPresent`  |  A solicitação contém um cabeçalho Transfer-Coding (Codificação de transferência) e um cabeçalho Content-Length (Comprimento de conteúdo), com pelo menos um deles sendo suspeito.  |  Grave  | 
|  `UndefinedContentLengthSemantics`  |  Há um cabeçalho Content-Length definido para uma solicitação GET ou HEAD.  |  Ambíguo  | 
|  `UndefinedTransferEncodingSemantics`  |  Há um cabeçalho Transfer-Encoding definido para uma solicitação GET ou HEAD.  |  Ambíguo  | 

### Códigos de motivo de erro
<a name="error-reason-codes"></a>

Se o load balancer não puder concluir uma ação de autenticação, ele armazenará um dos seguintes códigos de motivo no campo error\$1reason do log de acesso. O balanceador de carga também incrementa a métrica correspondente CloudWatch . Para obter mais informações, consulte [Autenticar usuários usando um Application Load Balancer](listener-authenticate-users.md).


| Código | Description | Métrica | 
| --- | --- | --- | 
|  `AuthInvalidCookie`  |  O cookie de autenticação não é válido.  |  `ELBAuthFailure`  | 
|  `AuthInvalidGrantError`  |  O código de concessão de autorização do endpoint de token não é válido.  |  `ELBAuthFailure`  | 
|  `AuthInvalidIdToken`  |  O token de ID não é válido.  |  `ELBAuthFailure`  | 
|  `AuthInvalidStateParam`  |  O parâmetro de estado não é válido.  |  `ELBAuthFailure`  | 
|  `AuthInvalidTokenResponse`  |  A resposta do endpoint de token não é válida.  |  `ELBAuthFailure`  | 
|  `AuthInvalidUserinfoResponse`  |  A resposta do endpoint de informações do usuário não é válida.  |  `ELBAuthFailure`  | 
|  `AuthMissingCodeParam`  |  A resposta de autenticação do endpoint de autorização não possui um parâmetro de consulta denominado "code".  |  `ELBAuthFailure`  | 
|  `AuthMissingHostHeader`  |  A resposta de autenticação do endpoint de autorização não possui um campo de cabeçalho de host.  |  `ELBAuthError`  | 
|  `AuthMissingStateParam`  |  A resposta de autenticação do endpoint de autorização não possui um parâmetro de consulta denominado "state".  |  `ELBAuthFailure`  | 
|  `AuthTokenEpRequestFailed`  |  Há uma resposta de erro (não 2XX) do endpoint de token.  |  `ELBAuthError`  | 
|  `AuthTokenEpRequestTimeout`  |  O balanceador de carga não consegue se comunicar com o endpoint do token ou o endpoint do token não está respondendo em 5 segundos.  |  `ELBAuthError`  | 
|  `AuthUnhandledException`  |  O load balancer encontrou uma exceção não gerenciada.  |  `ELBAuthError`  | 
|  `AuthUserinfoEpRequestFailed`  |  Há uma resposta de erro (não 2XX) do endpoint de informações do usuário do IdP.  |  `ELBAuthError`  | 
|  `AuthUserinfoEpRequestTimeout`  |  O balanceador de carga não consegue se comunicar com o endpoint de informações do usuário do IdP ou o endpoint de informações do usuário não está respondendo em 5 segundos.  |  `ELBAuthError`  | 
|  `AuthUserinfoResponseSizeExceeded`  |  O tamanho das solicitações retornadas pelo IdP excedeu 11K bytes.  |  `ELBAuthUserClaimsSizeExceeded`  | 

Se o balanceador de carga não puder concluir uma ação de validação do jwt, ele armazenará um dos seguintes códigos de motivo no campo error\$1reason do log de acesso. O balanceador de carga também incrementa a métrica correspondente CloudWatch . Para obter mais informações, consulte [Verifique JWTs usando um Application Load Balancer](listener-verify-jwt.md).


| Código | Description | Métrica | 
| --- | --- | --- | 
|  `JWTHeaderNotPresent`  |  A solicitação não contém o cabeçalho de autorização.  |  `JWTValidationFailureCount`  | 
|  `JWTRequestFormatInvalid`  |  O token na solicitação está malformado ou faltam partes obrigatórias (cabeçalho, carga útil ou assinatura), o cabeçalho não contém o prefixo “Portador”, o cabeçalho contém um tipo de autenticação diferente, como “Básico”, o cabeçalho de autorização está presente, mas o token não está presente, se houver vários tokens presentes na solicitação  |  `JWTValidationFailureCount`  | 
|  `JWKSRequestTimeout`  |  O balanceador de carga não consegue se comunicar com o endpoint JWKS ou o endpoint JWKS não responde em 5 segundos.  |  `JWTValidationFailureCount`  | 
|  `JWKSResponseSizeExceeded`  |  O tamanho da resposta retornada pelo endpoint JWKS excede 150 KB ou o número de chaves retornadas pelo endpoint JWKS excede 10.  |  `JWTValidationFailureCount`  | 
|  `JWKSRequestFailed`  |  Há uma resposta de erro (não 2xx) do endpoint JWKS.  |  `JWTValidationFailureCount`  | 
|  `JWKSResponseInvalid`  |  A resposta do JWKS tem um ou mais dos seguintes problemas: formato não JSON, caracteres inválidos, formato JWKS inválido, atributos JWKS Missing/invalid obrigatórios, a chave pública não tem algoritmo compatível, a chave pública não pôde ser convertida em uma chave de decodificação, o tamanho da chave pública não era 2K.  |  `JWTValidationFailureCount`  | 
|  `JWTSignatureValidationError`  |  Falha ao validar a assinatura do token por qualquer motivo, incluindo a assinatura não coincide, o token é assinado com um algoritmo não suportado e o KID no token não está presente no endpoint do JWKS.  |  `JWTValidationFailureCount`  | 
|  `JWTClaimNotPresent`  |  O JWT na solicitação do cliente não contém uma reivindicação, que é necessária para validação.  |  `JWTValidationFailureCount`  | 
|  `JWTClaimFormatInvalid`  |  O formato do valor da declaração no JWT não corresponde ao formato especificado na configuração  |  `JWTValidationFailureCount`  | 
|  `JWTClaimValueInvalid`  |  O valor da declaração no JWT é inválido.  |  `JWTValidationFailureCount`  | 
|  `JWTValidationInternalError`  |  O balanceador de carga encontrou um erro inesperado ao validar o JWT na solicitação do cliente.  |  `JWTValidationFailureCount`  | 

Se houver falha em uma solicitação para um grupo de destino ponderado, o load balancer armazenará um dos códigos de erro a seguir no campo error\$1reason do log de acesso.


| Código | Description | 
| --- | --- | 
|  `AWSALBTGCookieInvalid`  |  O AWSALBTG cookie, que é usado com grupos-alvo ponderados, não é válido. Por exemplo, o load balancer retorna esse erro quando os valores de cookie são codificados por URL.  | 
|  `WeightedTargetGroupsUnhandledException`  |  O load balancer encontrou uma exceção não gerenciada.  | 

Se uma solicitação para uma função Lambda falhar, o load balancer armazena um dos seguintes códigos de motivo no campo error\$1reason do log de acesso. O balanceador de carga também incrementa a métrica correspondente CloudWatch . Para obter mais informações, consulte a ação [Invoke](https://docs.aws.amazon.com/lambda/latest/api/API_Invoke.html) (Invocar) do Lambda.


| Código | Description | Métrica | 
| --- | --- | --- | 
|  `LambdaAccessDenied`  |  O load balancer não tinha permissão para invocar a função Lambda.  |  `LambdaUserError`  | 
|  `LambdaBadRequest`  |  Houve falha na invocação do Lambda porque os cabeçalhos ou o corpo da solicitação do cliente não continham somente caracteres UTF-8.  |  `LambdaUserError`  | 
|  `LambdaConnectionError`  |  O balanceador de carga não pode se conectar ao Lambda.  |  `LambdaInternalError`  | 
|  `LambdaConnectionTimeout`  |  A tentativa de conexão com o Lambda esgotou o tempo limite.  |  `LambdaInternalError`  | 
|  `LambdaEC2AccessDeniedException`  |  O Amazon EC2 negou acesso ao Lambda durante a inicialização da função.  |  `LambdaUserError`  | 
|  `LambdaEC2ThrottledException`  |  O Amazon EC2 aplicou controle de utilização no Lambda durante a inicialização da função.  |  `LambdaUserError`  | 
|  `LambdaEC2UnexpectedException`  |  O Amazon EC2 encontrou uma exceção inesperada durante a inicialização da função.  |  `LambdaUserError`  | 
|  `LambdaENILimitReachedException`  |  O Lambda não conseguiu criar uma interface de rede na VPC especificada na configuração da função do Lambda porque o limite para interfaces de rede foi excedido.  |  `LambdaUserError`  | 
|  `LambdaInvalidResponse`  |  A resposta da função Lambda está malformada ou não possui campos obrigatórios.  |  `LambdaUserError`  | 
|  `LambdaInvalidRuntimeException`  |  Não há compatibilidade com a versão especificada do runtime do Lambda.  |  `LambdaUserError`  | 
|  `LambdaInvalidSecurityGroupIDException`  |  O ID do grupo de segurança especificado na configuração da função Lambda não é válido.  |  `LambdaUserError`  | 
|  `LambdaInvalidSubnetIDException`  |  O ID de sub-rede especificado na configuração da função Lambda não é válido.  |  `LambdaUserError`  | 
|  `LambdaInvalidZipFileException`  |  O Lambda não conseguiu descompactar o arquivo zip da função especificada.  |  `LambdaUserError`  | 
|  `LambdaKMSAccessDeniedException`  |  O Lambda não conseguiu descriptografar variáveis de ambiente porque o acesso à chave do KMS foi negado. Verifique as permissões do KMS da função Lambda.  |  `LambdaUserError`  | 
|  `LambdaKMSDisabledException`  |  O Lambda não conseguiu descriptografar variáveis de ambiente porque a chave do KMS especificada está desabilitada. Verifique as configurações da chave do KMS da função Lambda.  |  `LambdaUserError`  | 
|  `LambdaKMSInvalidStateException`  |  O Lambda não conseguiu descriptografar variáveis de ambiente porque o estado da chave do KMS não é válido. Verifique as configurações da chave do KMS da função Lambda.  |  `LambdaUserError`  | 
|  `LambdaKMSNotFoundException`  |  O Lambda não conseguiu descriptografar variáveis de ambiente porque a chave do KMS não foi encontrada. Verifique as configurações da chave do KMS da função Lambda.  |  `LambdaUserError`  | 
|  `LambdaRequestTooLarge`  |  O tamanho do corpo da solicitação excedeu 1 MB.  |  `LambdaUserError`  | 
|  `LambdaResourceNotFound`  |  Não foi possível encontrar a função Lambda.  |  `LambdaUserError`  | 
|  `LambdaResponseTooLarge`  |  O tamanho da resposta excedeu 1 MB.  |  `LambdaUserError`  | 
|  `LambdaServiceException`  |  O Lambda encontrou um erro interno.  |  `LambdaInternalError`  | 
|  `LambdaSubnetIPAddressLimitReachedException`  |  O Lambda não conseguiu configurar o acesso à VPC para a função do Lambda porque há uma ou mais sub-redes sem endereços IP disponíveis.  |  `LambdaUserError`  | 
|  `LambdaThrottling`  |  A função Lambda foi limitada porque houve muitas solicitações.  |  `LambdaUserError`  | 
|  `LambdaUnhandled`  |  A função Lambda encontrou uma exceção não gerenciada.  |  `LambdaUserError`  | 
|  `LambdaUnhandledException`  |  O load balancer encontrou uma exceção não gerenciada.  |  `LambdaInternalError`  | 
|  `LambdaWebsocketNotSupported`  |  WebSockets não são compatíveis com o Lambda.  |  `LambdaUserError`  | 

Se o balanceador de carga encontrar um erro ao encaminhar solicitações para AWS WAF, ele armazenará um dos seguintes códigos de erro no campo error\$1reason do log de acesso.


| Código | Description | 
| --- | --- | 
|  `WAFConnectionError`  |  O balanceador de carga não pode se conectar a. AWS WAF  | 
|  `WAFConnectionTimeout`  |  A conexão com o AWS WAF tempo limite foi atingido.  | 
|  `WAFResponseReadTimeout`  |  Uma solicitação para atingir o AWS WAF tempo limite.  | 
|  `WAFServiceError`  |  AWS WAF retornou um erro 5XX.  | 
|  `WAFUnhandledException`  |  O load balancer encontrou uma exceção não gerenciada.  | 

### Transformar códigos de status
<a name="transform-status-codes"></a>




| Código | Description | 
| --- | --- | 
|  `TransformBufferTooSmall`  |  A transformação de regravação falhou porque o resultado excedeu o tamanho de um buffer interno. Tente tornar a expressão regular menos complexa.  | 
|  `TransformCompileError`  |  A compilação da expressão regular falhou.  | 
|  `TransformCompileTooBig`  |  A expressão regular compilada era muito longa. Tente tornar a expressão regular menos complexa.  | 
|  `TransformInvalidHost`  |  A transformação de regravação do cabeçalho do host falhou porque o host resultante não é válido.  | 
|  `TransformInvalidPath`  |  A transformação de regravação de URL falhou porque o caminho resultante não é válido.  | 
|  `TransformRegexSyntaxError`  |  A expressão regular continha um erro de sintaxe.  | 
|  `TransformReplaceError`  |  A substituição da transformação falhou.  | 
|  `TransformSuccess`  |  A transformação de regravação foi concluída com êxito.  | 

## Exemplo de entradas de log do
<a name="access-log-entry-examples"></a>

A seguir estão exemplo de entradas de log. Observe que o texto de exemplo aparece em várias linhas apenas para facilitar a leitura.

**Entrada HTTP de exemplo**  
A seguir está uma entrada no log de exemplo para um listener do HTTP (porta 80 para porta 80):

```
http 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 
192.168.131.39:2817 10.0.0.1:80 0.000 0.001 0.000 200 200 34 366 
"GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - - 
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337262-36d228ad5d99923122bbe354" "-" "-" 
0 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.0.1:80" "200" "-" "-" 
TID_1234abcd5678ef90 "-" "-" "-"
```

**Exemplo de entrada HTTPS**  
A seguir está uma entrada no log de exemplo para um listener HTTPS (porta 443 para porta 80):

```
https 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 
192.168.131.39:2817 10.0.0.1:80 0.086 0.048 0.037 200 200 0 57 
"GET https://www.example.com:443/ HTTP/1.1" "curl/7.46.0" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337281-1d84f3d73c47ec4e58577259" "www.example.com" "arn:aws:acm:us-east-2:123456789012:certificate/12345678-1234-1234-1234-123456789012"
1 2018-07-02T22:22:48.364000Z "authenticate,forward" "-" "-" "10.0.0.1:80" "200" "-" "-" 
TID_1234abcd5678ef90 "m.example.com" "-" "TransformSuccess"
```

**Entrada HTTP/2 de exemplo**  
A seguir está um exemplo de entrada de log para um fluxo de HTTP/2.

```
h2 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 
10.0.1.252:48160 10.0.0.66:9000 0.000 0.002 0.000 200 200 5 257 
"GET https://10.0.2.105:773/ HTTP/2.0" "curl/7.46.0" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337327-72bd00b0343d75b906739c42" "-" "-"
1 2018-07-02T22:22:48.364000Z "redirect" "https://example.com:80/" "-" "10.0.0.66:9000" "200" "-" "-" 
TID_1234abcd5678ef90 "-" "-" "-"
```

**Exemplo de WebSockets entrada**  
Veja a seguir um exemplo de entrada de registro para uma WebSockets conexão.

```
ws 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 
10.0.0.140:40914 10.0.1.192:8010 0.001 0.003 0.000 101 101 218 587 
"GET http://10.0.0.30:80/ HTTP/1.1" "-" - - 
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-"
1 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.1.192:8010" "101" "-" "-" 
TID_1234abcd5678ef90 "-" "-" "-"
```

**Exemplo de WebSockets entrada segura**  
Veja a seguir um exemplo de entrada de registro para uma WebSockets conexão segura.

```
wss 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 
10.0.0.140:44244 10.0.0.171:8010 0.000 0.001 0.000 101 101 218 786
"GET https://10.0.0.30:443/ HTTP/1.1" "-" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 
arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-"
1 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.0.171:8010" "101" "-" "-" 
TID_1234abcd5678ef90 "-" "-" "-"
```

**Exemplo de entradas para as funções Lambda**  
A seguir, há um exemplo de entrada de log para uma solicitação de função Lambda que foi bem-sucedida:

```
http 2018-11-30T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188
192.168.131.39:2817 - 0.000 0.001 0.000 200 200 34 366
"GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - -
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-"
0 2018-11-30T22:22:48.364000Z "forward" "-" "-" "-" "-" "-" "-" 
TID_1234abcd5678ef90 "-" "-" "-"
```

A seguir, há um exemplo de entrada de log para uma solicitação de função Lambda que não foi bem-sucedida:

```
http 2018-11-30T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188
192.168.131.39:2817 - 0.000 0.001 0.000 502 - 34 366
"GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - -
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-"
0 2018-11-30T22:22:48.364000Z "forward" "-" "LambdaInvalidResponse" "-" "-" "-" "-" 
TID_1234abcd5678ef90 "-" "-" "-"
```

## Configurar notificações de entrega de logs
<a name="access-log-event-notifications"></a>

Para receber notificações quando o Elastic Load Balancing entregar logs ao seu bucket do S3, use Notificações de eventos do Amazon S3. O Elastic Load Balancing usa [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html), [CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html), e o [objeto POST](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) para entregar registros para o Amazon S3. Para ter certeza de que você receberá todas as notificações de entrega de logs, inclua todos esses eventos de criação de objetos em sua configuração.

Para obter mais informações, consulte [Notificações de eventos do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventNotifications.html) no *Guia do usuário do Amazon Simple Storage Service*.

## Processar arquivos de log de acesso
<a name="log-processing-tools"></a>

Os arquivos de log de acesso são compactados. Se você baixar os arquivos, deverá descompactá-los para visualizar as informações.

Se houver uma grande demanda no seu site, o load balancer poderá gerar arquivos de log com gigabytes de dados. Talvez você não consiga processar uma quantidade tão grande de dados usando o line-by-line processamento. Assim, pode ter de usar ferramentas analíticas que forneçam soluções de processamento paralelo. Por exemplo, você pode usar as ferramentas analíticas a seguir para analisar e processar logs de acesso:
+ O Amazon Athena é um serviço de consultas interativas que facilita a análise de dados no Amazon S3 usando SQL padrão. Para obter mais informações, consulte [Como consultar logs do Application Load Balancer](https://docs.aws.amazon.com/athena/latest/ug/application-load-balancer-logs.html) no *Guia do usuário do Amazon Athena*.
+ [Loggly](https://documentation.solarwinds.com/en/success_center/loggly/content/admin/s3-ingestion-auto.htm)
+ [Splunk](https://splunk.github.io/splunk-add-on-for-amazon-web-services/)
+ [Sumo logic](https://www.sumologic.com/application/elb/)

# Habilitar os logs de acesso para seu Application Load Balancer
<a name="enable-access-logging"></a>

Ao habilitar os logs de acesso para seu balanceador de carga, você deve especificar o nome do bucket do S3 no qual o balanceador de carga armazenará os logs. O bucket deve ter uma política de bucket que conceda permissão para o Elastic Load Balancing gravar no bucket.

**Topics**
+ [Etapa 1: Crie um bucket do S3](#access-log-create-bucket)
+ [Etapa 2: Anexe uma política ao seu bucket do S3](#attach-bucket-policy)
+ [Etapa 3: Configurar logs de acesso](#enable-access-logs)
+ [Etapa 4: Verificar permissões do bucket](#verify-bucket-permissions)
+ [Solução de problemas](#bucket-permissions-troubleshooting)

## Etapa 1: Crie um bucket do S3
<a name="access-log-create-bucket"></a>

Quando você habilitar os logs de acesso, deverá especificar um bucket do S3 para os logs de acesso. É possível usar um bucket existente ou criar um bucket especificamente para logs de acesso. O bucket deve atender aos seguintes requisitos:

**Requisitos**
+ O bucket deve estar localizado na mesma região que o load balancer. O bucket e o balanceador de carga podem pertencer a contas diferentes.
+ A única opção de criptografia compatível no lado do servidor são as chaves gerenciadas pelo Amazon S3 (SSE-S3). Para obter mais informações, consulte [Chaves de criptografia gerenciadas pelo Amazon S3 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html).

**Para criar um bucket do S3 usando o console do Amazon S3**

1. Abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Selecione **Criar bucket**.

1. Na página **Criar bucket**, faça o seguinte:

   1. Para **Nome do bucket**, insira um nome para o bucket. Esse nome deve ser exclusivo entre todos os nomes de buckets existentes no Amazon S3. Em algumas regiões, talvez haja restrições adicionais quanto a nomes de buckets. Para obter mais informações, consulte [Restrições de bucket e limitações](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html) no *Guia do usuário do Amazon S3*.

   1. Em **Região da AWS **, selecione a região em que você criou seu balanceador de carga.

   1. Em **Criptografia padrão**, escolha **Chaves gerenciadas pelo Amazon S3 (SSE-S3)**.

   1. Selecione **Criar bucket**.

## Etapa 2: Anexe uma política ao seu bucket do S3
<a name="attach-bucket-policy"></a>

O bucket do S3 deve ter uma política de bucket que conceda permissão para que o Elastic Load Balancing grave os logs de acesso no bucket. As políticas de bucket são um conjunto de instruções JSON gravadas na linguagem de políticas de acesso para definir permissões de acesso para o seu bucket. Cada instrução inclui informações sobre uma única permissão e contém uma série de elementos.

Se estiver usando um bucket que já tem uma política anexada, você poderá adicionar a instrução para os logs de acesso do Elastic Load Balancing à política. Se você fizer isso, recomendamos que avalie o conjunto resultante de permissões para garantir que eles são apropriadas para os usuários que precisam de acesso ao bucket para logs de acesso.

### Política de bucket
<a name="bucket-policy-logdelivery"></a>

Esta política concede permissões ao serviço de entrega de logs.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "logdelivery.elasticloadbalancing.amazonaws.com"
      },
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*"
    }
  ]
}
```

Para `Resource`, insira o ARN do local para os logs de acesso, usando o formato demonstrado no exemplo de política. Sempre inclua o ID da conta com o balanceador de carga no caminho do recurso do ARN do bucket do S3. Isso garante que somente os balanceadores de carga da conta especificada possam gravar logs de acesso no bucket do S3.

O ARN especificado dependerá de você planejar ou não incluir um prefixo ao habilitar os logs de acesso na [etapa 3](#enable-access-logs).

**Exemplo de ARN do bucket do S3 com um prefixo**  
O nome do bucket do S3 é amzn-s3-demo-logging-bucket e o prefixo é logging-prefix.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**AWS GovCloud (US)** — O exemplo a seguir usa a sintaxe ARN para as AWS GovCloud (US) Regions.

```
arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**Exemplo de ARN do bucket do S3 sem prefixo**  
O nome do bucket do S3 é amzn-s3-demo-logging-bucket. Não há parte do prefixo no ARN do bucket do S3.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

**AWS GovCloud (US)** — O exemplo a seguir usa a sintaxe ARN para as AWS GovCloud (US) Regions.

```
arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

### Política de bucket legada
<a name="legacy-bucket-policy"></a>

No passado, para regiões disponíveis antes de agosto de 2022, exigíamos uma política que concedesse permissões a uma conta do Elastic Load Balancing específica para a região. Embora essa política legada ainda seja compatível, recomendamos que você a substitua pela política mais recente acima. Se preferir, você pode continuar usando a política legada, que não é mostrada aqui.

 Para referência, aqui estão as contas IDs do Elastic Load Balancing a serem especificadas `Principal` na política legada. Note que as regiões que não aparecem nessa lista não oferecem suporte à política legada.
+ Leste dos EUA (N. da Virgínia): 127311923021
+ Leste os EUA (Ohio): 033677994240
+ Oeste dos EUA (N. da Califórnia): 027434742980
+ Oeste dos EUA (Oregon): 797873946194
+ África (Cidade do Cabo): 098369216593
+ Ásia-Pacífico (Hong Kong): 754344448648
+ Ásia-Pacífico (Jacarta) — 589379963580
+ Ásia-Pacífico (Mumbai): 718504428378
+ Ásia-Pacífico (Osaka): 383597477331
+ Ásia-Pacífico (Seul): 600734575887
+ Ásia-Pacífico (Singapura): 114774131450
+ Ásia-Pacífico (Sydney): 783225319266
+ Ásia-Pacífico (Tóquio): 582318560864
+ Canadá (Central): 985666609251
+ Europa (Frankfurt): 054676820928
+ Europa (Irlanda): 156460612806
+ Europa (Londres): 652711504416
+ Europa (Milão): 635631232127
+ Europa (Paris): 009996457667
+ Europa (Estocolmo): 897822967062
+ Oriente Médio (Bahrein): 076674570225
+ América do Sul (São Paulo): 507241528517
+ AWS GovCloud (Leste dos EUA) — 190560391635
+ AWS GovCloud (Oeste dos EUA) — 048591011584

### Zonas de Outposts
<a name="bucket-policy-outposts"></a>

A política a seguir concede permissões ao serviço de entrega de logs especificado. Use essa política para balanceadores de carga em zonas de Outposts.

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "logdelivery.elb.amazonaws.com"
    },
    "Action": "s3:PutObject",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*",
    "Condition": {
        "StringEquals": {
            "s3:x-amz-acl": "bucket-owner-full-control"
        }
    }
}
```

Para `Resource`, insira o ARN do local para os logs de acesso, usando o formato demonstrado no exemplo de política. Sempre inclua o ID da conta com o balanceador de carga no caminho do recurso do ARN do bucket do S3. Isso garante que somente os balanceadores de carga da conta especificada possam gravar logs de acesso no bucket do S3.

O ARN do bucket do S3 especificado dependerá de você planejar ou não incluir um prefixo ao habilitar os logs de acesso na [etapa 3](#enable-access-logs).

**Exemplo de ARN do bucket do S3 com um prefixo**  
O nome do bucket do S3 é amzn-s3-demo-logging-bucket e o prefixo é logging-prefix.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**Exemplo de ARN do bucket do S3 sem prefixo**  
O nome do bucket do S3 é amzn-s3-demo-logging-bucket. Não há parte do prefixo no ARN do bucket do S3.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

### Práticas recomendadas de segurança
<a name="bucket-policy-security-best-practices"></a>
+ Use o caminho completo do recurso, incluindo a parte do ID da conta do ARN do bucket do S3. Não use curingas (\$1) na parte do ID da conta do ARN do bucket do S3.

  ```
  "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*"
  ```
+ Use `aws:SourceArn` para garantir que somente balanceadores de carga da região e da conta especificadas possam usar o seu bucket.

  ```
  "Condition": {
      "ArnLike": {
          "aws:SourceArn": "arn:aws:elasticloadbalancing:region:123456789012:loadbalancer/*"
      }
  }
  ```
+ Use `aws:SourceOrgId` com `aws:SourceArn` para garantir que somente balanceadores de carga da região e da conta especificadas possam usar seu bucket.

  ```
  "Condition": {
      "StringEquals": {
          "aws:SourceOrgId": "o-1234567890"
      },
      "ArnLike": {
          "aws:SourceArn": "arn:aws:elasticloadbalancing:*:*:loadbalancer/*"
      }
  }
  ```
+ Se você tiver uma declaração de `Deny` para impedir o acesso às entidades principais de serviço, exceto aquelas explicitamente permitidas, não se esqueça de adicionar `logdelivery.elasticloadbalancing.amazonaws.com` à lista de entidades principais de serviço permitidas. Por exemplo, se você usou a condição `aws:PrincipalServiceNamesList`, adicione `logdelivery.elasticloadbalancing.amazonaws.com` conforme mostrado a seguir:

  ```
  {
    "Effect": "Deny",
    "Principal": "*",
    "Condition": {
        "StringNotEqualsIfExists": {
            "aws:PrincipalServiceNamesList": [
                "logdelivery.elasticloadbalancing.amazonaws.com",
                "service.amazonaws.com"
            ]
        }
    }
  }
  ```

  Se você usou o elemento `NotPrincipal`, adicione `logdelivery.elasticloadbalancing.amazonaws.com` conforme mostrado a seguir. Note que recomendamos a utilização da chave de condição `aws:PrincipalServiceName` ou `aws:PrincipalServiceNamesList` para permitir explicitamente as entidades principais de serviço em vez de usar o elemento `NotPrincipal`. Para obter mais informações, consulte [NotPrincipal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notprincipal.html).

  ```
  {
    "Effect": "Deny",
    "NotPrincipal": {
      "Service": [
         "logdelivery.elasticloadbalancing.amazonaws.com",
         "service.amazonaws.com"
      ]
    }
  },
  ```

Depois de criar sua política de bucket, use uma interface do Amazon S3, como o console AWS CLI ou os comandos do Amazon S3, para anexar sua política de bucket ao bucket do S3.

------
#### [ Console ]

**Para anexar sua política de bucket ao seu bucket do S3**

1. Abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Selecione o nome do bucket para abrir sua página de detalhes.

1. Escolha **Permissions** (Permissões) e, em seguida, escolha **Bucket policy** (Política de bucket), **Edit** (Editar).

1. Crie ou atualize a política de bucket para conceder as permissões necessárias.

1. Escolha **Salvar alterações**.

------
#### [ AWS CLI ]

**Para anexar sua política de bucket ao seu bucket do S3**  
Use o comando [put-bucket-policy](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-policy.html). Neste exemplo, a política de bucket foi salva no arquivo .json especificado.

```
aws s3api put-bucket-policy \
    --bucket amzn-s3-demo-bucket \
    --policy file://access-log-policy.json
```

------

## Etapa 3: Configurar logs de acesso
<a name="enable-access-logs"></a>

Siga o procedimento a seguir para configurar logs de acesso a fim de capturar informações de solicitação e entregar arquivos de log ao bucket do S3.

**Requisitos**  
O bucket deverá atender aos requisitos descritos na [etapa 1](#access-log-create-bucket) e você deverá anexar uma política de bucket, conforme descrito na [etapa 2](#attach-bucket-policy). Se você incluir um prefixo, ele não deverá incluir a string "AWSLogs”.

**Gerenciar o bucket do S3 para os logs de acesso**  
Certifique-se de desabilitar os registros de acesso antes de excluir o bucket que você configurou para os logs de acesso. Caso contrário, se houver um novo bucket com o mesmo nome e a política de bucket necessária criada em uma Conta da AWS que não seja de sua propriedade, o Elastic Load Balancing poderá gravar os logs de acesso do seu balanceador de carga nesse novo bucket.

------
#### [ Console ]

**Habilitar logs de acesso**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, selecione **Load Balancers**.

1. Selecione o nome do balanceador de carga para abrir sua página de detalhes.

1. Na guia **Atributos**, escolha **Editar**.

1. Em **Monitoramento**, ative os **Logs de acesso**.

1. Para **URI do S3**, insira o URI do S3 para seus arquivos de log. O URI especificado dependerá de você estar ou não usando um prefixo.
   + URI com um prefixo: s3:///*amzn-s3-demo-logging-bucket**logging-prefix*
   + URI sem prefixo: s3://*amzn-s3-demo-logging-bucket*

1. Escolha **Salvar alterações**.

------
#### [ AWS CLI ]

**Habilitar logs de acesso**  
Use o [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html)comando com os atributos relacionados.

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn load-balancer-arn \
    --attributes \
        Key=access_logs.s3.enabled,Value=true \
        Key=access_logs.s3.bucket,Value=amzn-s3-demo-logging-bucket \
        Key=access_logs.s3.prefix,Value=logging-prefix
```

------
#### [ CloudFormation ]

**Habilitar logs de acesso**  
Atualize o [AWS::ElasticLoadBalancingV2::LoadBalancer](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-loadbalancer.html)recurso para incluir os atributos relacionados.

```
Resources:
  myLoadBalancer:
    Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
    Properties:
      Name: my-alb
      Type: application
      Scheme: internal
      Subnets: 
        - !Ref subnet-AZ1
        - !Ref subnet-AZ2
      SecurityGroups: 
        - !Ref mySecurityGroup
      LoadBalancerAttributes: 
        - Key: "access_logs.s3.enabled"
          Value: "true"
        - Key: "access_logs.s3.bucket"
          Value: "amzn-s3-demo-logging-bucket"
        - Key: "access_logs.s3.prefix"
          Value: "logging-prefix"
```

------

## Etapa 4: Verificar permissões do bucket
<a name="verify-bucket-permissions"></a>

Após o registro de acesso em logs ser habilitado para seu balanceador de carga, o Elastic Load Balancing validará o bucket do S3 e criará um arquivo de teste para garantir que a política do bucket especifique as permissões necessárias. Você pode usar o console do Amazon S3 para verificar se o arquivo de teste foi criado. O arquivo de teste não é um arquivo de log de acesso real; ele não contêm registros de exemplo.

**Para verificar se um arquivo de teste foi criado no bucket usando o console do Amazon S3**

1. Abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Selecione o nome do bucket que você especificou para logs de acesso.

1. Localize o arquivo de teste, `ELBAccessLogTestFile`. O local dependerá de você estar ou não usando um prefixo.
   + Localização com um prefixo:*amzn-s3-demo-logging-bucket*//*logging-prefix*/AWSLogs/*123456789012*ELBAccessLogTestFile
   + Localização sem prefixo:*amzn-s3-demo-logging-bucket*//AWSLogs/*123456789012*ELBAccessLogTestFile

## Solução de problemas
<a name="bucket-permissions-troubleshooting"></a>

Se você receber um erro de acesso negado, as possíveis causas serão:
+ A política do bucket não concede ao Elastic Load Balancing permissão para gravar logs de acesso no bucket. Confira se está usando a política de bucket correta para a região. Confira se o ARN do recurso usa o mesmo nome de bucket que você especificou ao habilitar os logs de acesso. Confira se o ARN do recurso não inclui um prefixo se você não tiver especificado um prefixo ao habilitar os logs de acesso.
+ O bucket usa uma opção de criptografia que não é aceita no lado do servidor. O bucket deve usar chaves gerenciadas pelo Amazon S3 (SSE-S3).

# Desabilite os logs de acesso para seu Application Load Balancer
<a name="disable-access-logging"></a>

Você pode desabilitar os logs de acesso para seu load balancer a qualquer momento. Após desabilitar os log de acesso, seus logs de acesso permanecerão no seu bucket do S3 até que você os exclua. Para obter mais informações, consulte [Criação, configuração e trabalho com buckets do S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) no *Guia do usuário do Amazon S3*.

------
#### [ Console ]

**Para desabilitar logs de acesso**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, selecione **Load Balancers**.

1. Selecione o nome do balanceador de carga para abrir sua página de detalhes.

1. Na guia **Atributos**, escolha **Editar**.

1. Em **Monitoramento**, desative os **Logs de acesso**.

1. Selecione **Salvar alterações**.

------
#### [ AWS CLI ]

**Para desabilitar logs de acesso**  
Use o comando [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html).

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn load-balancer-arn \
    --attributes Key=access_logs.s3.enabled,Value=false
```

------

# Logs de conexão para o Application Load Balancer
<a name="load-balancer-connection-logs"></a>

O Elastic Load Balancing fornece logs de conexão que capturam informações detalhadas sobre as solicitações enviadas ao balanceador de carga. Cada log contém informações como o endereço IP e a porta do cliente, a porta do receptor, a cifra e o protocolo TLS usados, a latência do handshake do TLS, o status da conexão e os detalhes do certificado do cliente. Você pode usar esses logs de conexão para analisar padrões de solicitação e solucionar problemas.

Os logs de conexão são um recurso opcional do Elastic Load Balancing que está desabilitado por padrão. Após habilitar os logs de conexão para o balanceador de carga, o Elastic Load Balancing capturará os logs e os armazenará como arquivos compactados no bucket do Amazon S3 que você especificar. Você pode desabilitar os logs de conexão a qualquer momento.

Você receberá cobranças pelos custos de armazenamento do Amazon S3, mas não haverá cobranças pela largura de banda usada pelo Elastic Load Balancing para enviar arquivos de log para o Amazon S3. Para obter mais informações sobre os custos de armazenamento, consulte [Preços do Amazon S3](https://aws.amazon.com/s3/pricing/).

**Topics**
+ [Arquivos de log de conexão](#connection-log-file-format)
+ [Entradas de log de conexão](#connection-log-entry-format)
+ [Exemplo de entradas de log do](#connection-log-entry-examples)
+ [Processamento dos arquivos de log de conexão](#connection-log-processing-tools)
+ [Habilitar logs de conexão](enable-connection-logging.md)
+ [Desabilitar logs de conexão](disable-connection-logging.md)

## Arquivos de log de conexão
<a name="connection-log-file-format"></a>

O Elastic Load Balancing publica um arquivo de log para cada nó do balanceador de carga a cada 5 minutos. A entrega de logs, no final das contas, é consistente. O load balancer pode distribuir vários logs para o mesmo período. Isso normalmente acontece se o site tiver alto tráfego.

Os nomes dos arquivos dos logs de conexão usam o seguinte formato:

```
bucket[/prefix]/AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/conn_log_aws-account-id_elasticloadbalancing_region_app.load-balancer-id_end-time_ip-address_random-string.log.gz
```

*bucket*  
O nome do bucket do S3.

*prefix*  
(Opcional) O prefixo (hierarquia lógica) no bucket. O prefixo especificado não pode incluir a string `AWSLogs`. Para mais informações, consulte [Organizar objetos usando prefixos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html).

`AWSLogs`  
Adicionamos a parte do nome do arquivo que começa com `AWSLogs` após o nome do bucket e o prefixo opcional que você especificar.

*aws-account-id*  
O ID da AWS conta do proprietário.

*region*  
A Região para seu load balancer e o bucket do S3.

*aaaa*/*mm*/*dd*  
A data em que o log foi entregue.

*load-balancer-id*  
O ID de recursos do load balancer. Se o ID de recursos contiver barras (/), elas são substituídos por pontos (.).

*end-time*  
A data e a hora em que o intervalo de registro terminou. Por exemplo, a hora final de 20140215T2340Z contém entradas para solicitações feitas entre 23h35 e 23h40 no horário UTC ou Zulu.

*ip-address*  
O endereço IP do nó do load balancer que processou a solicitação. Para um load balancer interno, esse é um endereço IP privado.

*random-string*  
Uma string aleatória gerada pelo sistema.

Veja um exemplo de um nome de arquivo de log com um prefixo:

```
s3://amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/conn_log_123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz
```

Veja um exemplo de um nome de arquivo de log sem um prefixo:

```
s3://amzn-s3-demo-logging-bucket/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/conn_log_123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz
```

Você pode armazenar os arquivos de log no bucket pelo tempo que desejar, mas também pode definir regras do ciclo de vida do Amazon S3 para arquivar ou excluir os arquivos de log automaticamente. Para obter mais informações, consulte o [Gerenciamento do ciclo de vida do objeto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) no *Guia do usuário do Amazon S3*.

## Entradas de log de conexão
<a name="connection-log-entry-format"></a>

Cada tentativa de conexão tem uma entrada em um arquivo de log de conexão. A forma como as solicitações do cliente são enviadas é determinada pela conexão ser persistente ou não persistente. As conexões não persistentes têm uma única solicitação, que cria uma única entrada no log de acesso e no log de conexão. As conexões persistentes têm várias solicitações, o que cria várias entradas no log de acesso e uma única entrada no log de conexão.

**Topics**
+ [Sintaxe](#connection-log-entry-syntax)
+ [Códigos de motivo de erro](#connection-error-reason-codes)

### Sintaxe
<a name="connection-log-entry-syntax"></a>

A tabela a seguir descreve os campos de uma entrada no log de conexão, em ordem. Todos os campos são delimitados por espaços. Quando adicionamos um novo campo, o adicionamos ao final da entrada de log. Enquanto preparamos o lançamento de um novo campo, você pode ver um “-” adicional no final antes que o campo seja lançado. Certifique-se de configurar a análise de log para que pare após o último campo documentado e para que atualize a análise de log após o lançamento de um novo campo.


| Campo (posição) | Description | 
| --- | --- | 
|  timestamp (1)  |  O horário, em formato ISO 8601, em que o balanceador de carga estabeleceu com êxito ou não conseguiu estabelecer uma conexão.  | 
|  client\$1ip (2)  |  O endereço IP do cliente solicitante.  | 
|  client\$1port (3)  |  A porta do cliente solicitante.  | 
|  listener\$1port (4)  |  A porta do receptor do balanceador de carga que está recebendo a solicitação do cliente.  | 
|  tls\$1protocol (5)  |  [Ouvinte HTTPS] O SSL/TLS protocolo usado durante apertos de mão. Esse campo está definido `-` para não SSL/TLS solicitações.  | 
|  tls\$1cipher (6)  |  [Ouvinte HTTPS] O SSL/TLS protocolo usado durante apertos de mão. Esse campo está definido `-` para não SSL/TLS solicitações.  | 
|  tls\$1handshake\$1latency (7)  |  [Receptor HTTPS] O tempo total em segundos, com precisão de milissegundos, decorreu ao estabelecer um handshake. Este campo está definido como `-` quando: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-connection-logs.html)  | 
|  leaf\$1client\$1cert\$1subject (8)  |  [Receptor HTTPS] O nome do assunto do certificado folha do cliente. Este campo está definido como `-` quando: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-connection-logs.html)  | 
|  leaf\$1client\$1cert\$1validity (9)  |  [Receptor HTTPS] A validade, com `not-before` e `not-after` no formato ISO 8601, do certificado folha do cliente. Este campo está definido como `-` quando: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-connection-logs.html)  | 
|  leaf\$1client\$1cert\$1serial\$1number (10)  |  [Receptor HTTPS] O número de série do certificado folha do cliente. Este campo está definido como `-` quando: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-connection-logs.html)  | 
|  tls\$1verify\$1status (11)  |  [Receptor HTTPS] O status da solicitação de conexão. Esse valor é `Success` se a conexão for estabelecida com exito. Em uma conexão malsucedida, o valor é`Failed:$error_code`.   | 
|  conn\$1trace\$1id (12)  |  O ID de rastreabilidade da conexão é um **ID opaco exclusivo** usado para identificar cada conexão. Depois que uma conexão for estabelecida com um cliente, as solicitações subsequentes desse cliente contêm esse ID em suas respectivas entradas de log de acesso. Esse ID atua como uma chave estrangeira para criar um link entre os logs de conexão e acesso.  | 
|  tls\$1keyexchange (13)  |  [Ouvinte HTTPS] A troca de chaves usada durante apertos de mão para TLS ou PQ-TLS. Esse campo está definido `-` para não SSL/TLS solicitações.   | 

### Códigos de motivo de erro
<a name="connection-error-reason-codes"></a>

Se o balanceador de carga não conseguir estabelecer uma conexão, ele armazenará um dos seguintes códigos de motivo no log de conexão.


| Código | Description | 
| --- | --- | 
|  `ClientCertMaxChainDepthExceeded`  |  A profundidade máxima da cadeia de certificados do cliente foi excedida  | 
|  `ClientCertMaxSizeExceeded`  |  O tamanho máximo do certificado do cliente foi excedido  | 
|  `ClientCertCrlHit`  |  O certificado do cliente foi revogado pela CA  | 
|  `ClientCertCrlProcessingError`  |  Erro de processamento da CRL  | 
|  `ClientCertUntrusted`  |  O certificado do cliente não é confiável  | 
|  `ClientCertNotYetValid`  |  O certificado do cliente ainda não é válido  | 
|  `ClientCertExpired`  |  O certificado do cliente está expirado  | 
|  `ClientCertTypeUnsupported`  |  O tipo de certificado do cliente não é compatível  | 
|  `ClientCertInvalid`  |  O certificado do cliente é inválido  | 
|  `ClientCertPurposeInvalid`  |  A finalidade do certificado do cliente é inválida  | 
|  `ClientCertRejected`  |  O certificado do cliente foi rejeitado pela validação do servidor personalizado  | 
|  `UnmappedConnectionError`  |  Erro de conexão de runtime não mapeado  | 

## Exemplo de entradas de log do
<a name="connection-log-entry-examples"></a>

A seguir estão exemplos de entradas de log de conexão. Observe que o texto de exemplo aparece em várias linhas apenas para facilitar a leitura.

Confira a seguir um exemplo de entrada de log para uma conexão bem-sucedida com um receptor HTTPS com o modo de verificação de TLS mútuo habilitado na porta 443.

```
2023-10-04T17:05:15.514108Z 203.0.113.1 36280 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 4.036 
"CN=amazondomains.com,O=endEntity,L=Seattle,ST=Washington,C=US" NotBefore=2023-09-21T22:43:21Z;NotAfter=2026-06-17T22:43:21Z 
FEF257372D5C14D4 Success TID_3180a73013c8ca4bac2f731159d4b0fe
```

Confira a seguir um exemplo de entrada de log para uma conexão malsucedida com um receptor HTTPS com o modo de verificação de TLS mútuo habilitado na porta 443.

```
2023-10-04T17:05:15.514108Z 203.0.113.1 36280 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 - 
"CN=amazondomains.com,O=endEntity,L=Seattle,ST=Washington,C=US" NotBefore=2023-09-21T22:43:21Z;NotAfter=2026-06-17T22:43:21Z 
FEF257372D5C14D4 Failed:ClientCertUntrusted TID_1c71a68d70587445ad5127ff8b2687d7
```

## Processamento dos arquivos de log de conexão
<a name="connection-log-processing-tools"></a>

Os arquivos de log de conexão são compactados. Se você abrir os arquivos usando o console do Amazon S3, eles serão descompactados e as informações serão exibidas. Se você baixar os arquivos, deverá descompactá-los para visualizar as informações.

Se houver uma grande demanda no seu site, o load balancer poderá gerar arquivos de log com gigabytes de dados. Talvez você não consiga processar uma quantidade tão grande de dados usando o line-by-line processamento. Assim, pode ter de usar ferramentas analíticas que forneçam soluções de processamento paralelo. Por exemplo, você pode usar as seguintes ferramentas analíticas para analisar e processar logs de conexão:
+ O Amazon Athena é um serviço de consultas interativas que facilita a análise de dados no Amazon S3 usando SQL padrão.
+ [Loggly](https://documentation.solarwinds.com/en/success_center/loggly/content/admin/s3-ingestion-auto.htm)
+ [Splunk](https://splunk.github.io/splunk-add-on-for-amazon-web-services/)
+ [Sumo logic](https://www.sumologic.com/application/elb/)

# Habilitar os logs de conexão para o Application Load Balancer
<a name="enable-connection-logging"></a>

Ao habilitar os logs de conexão para o balanceador de carga, você deve especificar o nome do bucket do S3 no qual o balanceador de carga armazenará os logs. O bucket deve ter uma política de bucket que conceda permissão para o Elastic Load Balancing gravar no bucket.

**Topics**
+ [Etapa 1: Crie um bucket do S3](#connection-log-create-bucket)
+ [Etapa 2: Anexe uma política ao seu bucket do S3](#attach-bucket-policy-connection)
+ [Etapa 3: configurar logs de conexão](#enable-connection-logs)
+ [Etapa 4: Verificar permissões do bucket](#verify-bucket-permissions-connection)
+ [Solução de problemas](#bucket-permissions-troubleshooting-connection)

## Etapa 1: Crie um bucket do S3
<a name="connection-log-create-bucket"></a>

Quando você habilitar os logs de conexão, deverá especificar um bucket do S3 para eles. É possível usar um bucket existente ou criar um bucket especificamente para logs de conexão. O bucket deve atender aos seguintes requisitos:

**Requisitos**
+ O bucket deve estar localizado na mesma região que o load balancer. O bucket e o balanceador de carga podem pertencer a contas diferentes.
+ A única opção de criptografia compatível no lado do servidor são as chaves gerenciadas pelo Amazon S3 (SSE-S3). Para obter mais informações, consulte [Chaves de criptografia gerenciadas pelo Amazon S3 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html).

**Para criar um bucket do S3 usando o console do Amazon S3**

1. Abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Selecione **Criar bucket**.

1. Na página **Criar bucket**, faça o seguinte:

   1. Para **Nome do bucket**, insira um nome para o bucket. Esse nome deve ser exclusivo entre todos os nomes de buckets existentes no Amazon S3. Em algumas regiões, talvez haja restrições adicionais quanto a nomes de buckets. Para obter mais informações, consulte [Restrições de bucket e limitações](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html) no *Guia do usuário do Amazon S3*.

   1. Em **Região da AWS **, selecione a região em que você criou seu balanceador de carga.

   1. Em **Criptografia padrão**, escolha **Chaves gerenciadas pelo Amazon S3 (SSE-S3)**.

   1. Selecione **Criar bucket**.

## Etapa 2: Anexe uma política ao seu bucket do S3
<a name="attach-bucket-policy-connection"></a>

O bucket do S3 deve ter uma política de bucket que conceda permissão para que o Elastic Load Balancing grave os logs de conexão no bucket. As políticas de bucket são um conjunto de instruções JSON gravadas na linguagem de políticas de acesso para definir permissões de acesso para o seu bucket. Cada instrução inclui informações sobre uma única permissão e contém uma série de elementos.

Se estiver usando um bucket existente que já tenha uma política anexada, você poderá adicionar a instrução para os logs de conexão do Elastic Load Balancing à política. Se você fizer isso, recomendamos que avalie o conjunto resultante de permissões para garantir que sejam apropriadas para os usuários que precisam de acesso ao bucket para logs de conexão.

### Política de bucket
<a name="bucket-policy-logdelivery-connection"></a>

Esta política concede permissões ao serviço de entrega de logs especificado.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "logdelivery.elasticloadbalancing.amazonaws.com"
      },
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*"
    }
  ]
}
```

Para `Resource`, insira o ARN do local para os logs de acesso, usando o formato demonstrado no exemplo de política. Sempre inclua o ID da conta com o balanceador de carga no caminho do recurso do ARN do bucket do S3. Isso garante que somente os balanceadores de carga da conta especificada possam gravar logs de acesso no bucket do S3.

O ARN especificado dependerá de você planejar ou não incluir um prefixo ao habilitar os logs de acesso na [etapa 3](enable-access-logging.md#enable-access-logs).

**Exemplo de ARN do bucket do S3 com um prefixo**  
O nome do bucket do S3 é amzn-s3-demo-logging-bucket e o prefixo é logging-prefix.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**AWS GovCloud (US)** — O exemplo a seguir usa a sintaxe ARN para as AWS GovCloud (US) Regions.

```
arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**Exemplo de ARN do bucket do S3 sem prefixo**  
O nome do bucket do S3 é amzn-s3-demo-logging-bucket. Não há parte do prefixo no ARN do bucket do S3.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

**AWS GovCloud (US)** — O exemplo a seguir usa a sintaxe ARN para as AWS GovCloud (US) Regions.

```
arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

### Política de bucket legada
<a name="legacy-bucket-policy"></a>

No passado, para regiões disponíveis antes de agosto de 2022, exigíamos uma política que concedesse permissões a uma conta do Elastic Load Balancing específica para a região. Embora essa política legada ainda seja compatível, recomendamos que você a substitua pela política mais recente acima. Se preferir, você pode continuar usando a política legada, que não é mostrada aqui.

 Para referência, aqui estão as contas IDs do Elastic Load Balancing a serem especificadas `Principal` na política legada. Note que as regiões que não aparecem nessa lista não oferecem suporte à política legada.
+ Leste dos EUA (N. da Virgínia): 127311923021
+ Leste os EUA (Ohio): 033677994240
+ Oeste dos EUA (N. da Califórnia): 027434742980
+ Oeste dos EUA (Oregon): 797873946194
+ África (Cidade do Cabo): 098369216593
+ Ásia-Pacífico (Hong Kong): 754344448648
+ Ásia-Pacífico (Jacarta) — 589379963580
+ Ásia-Pacífico (Mumbai): 718504428378
+ Ásia-Pacífico (Osaka): 383597477331
+ Ásia-Pacífico (Seul): 600734575887
+ Ásia-Pacífico (Singapura): 114774131450
+ Ásia-Pacífico (Sydney): 783225319266
+ Ásia-Pacífico (Tóquio): 582318560864
+ Canadá (Central): 985666609251
+ Europa (Frankfurt): 054676820928
+ Europa (Irlanda): 156460612806
+ Europa (Londres): 652711504416
+ Europa (Milão): 635631232127
+ Europa (Paris): 009996457667
+ Europa (Estocolmo): 897822967062
+ Oriente Médio (Bahrein): 076674570225
+ América do Sul (São Paulo): 507241528517
+ AWS GovCloud (Leste dos EUA) — 190560391635
+ AWS GovCloud (Oeste dos EUA) — 048591011584

### Zonas de Outposts
<a name="bucket-policy-outposts"></a>

A política a seguir concede permissões ao serviço de entrega de logs especificado. Use essa política para balanceadores de carga em zonas de Outposts.

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "logdelivery.elb.amazonaws.com"
    },
    "Action": "s3:PutObject",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*"
    "Condition": {
        "StringEquals": {
            "s3:x-amz-acl": "bucket-owner-full-control"
        }
    }
}
```

Para `Resource`, insira o ARN do local para os logs de acesso. Sempre inclua o ID da conta com o balanceador de carga no caminho do recurso do ARN do bucket do S3. Isso garante que somente os balanceadores de carga da conta especificada possam gravar logs de acesso no bucket do S3.

O ARN especificado dependerá de você planejar ou não incluir um prefixo ao habilitar os logs de acesso na [etapa 3](enable-access-logging.md#enable-access-logs).

**Exemplo de ARN do bucket do S3 com um prefixo**  
O nome do bucket do S3 é amzn-s3-demo-logging-bucket e o prefixo é logging-prefix.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**Exemplo de ARN do bucket do S3 sem prefixo**  
O nome do bucket do S3 é amzn-s3-demo-logging-bucket. Não há parte do prefixo no ARN do bucket do S3.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

### Práticas recomendadas de segurança
<a name="bucket-policy-security-best-practices"></a>

Para aumentar a segurança, use um bucket ARNs S3 preciso.
+ Use o caminho completo do recurso, não apenas o ARN do bucket do S3.
+ Inclua a parte do ID da conta do ARN do bucket do S3.
+ Não use curingas (\$1) na parte do ID da conta do ARN do bucket do S3.

Depois de criar sua política de bucket, use uma interface do Amazon S3, como o console AWS CLI ou os comandos do Amazon S3, para anexar sua política de bucket ao bucket do S3.

------
#### [ Console ]

**Para anexar sua política de bucket ao seu bucket do S3**

1. Abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Selecione o nome do bucket para abrir sua página de detalhes.

1. Escolha **Permissions** (Permissões) e, em seguida, escolha **Bucket policy** (Política de bucket), **Edit** (Editar).

1. Crie ou atualize a política de bucket para conceder as permissões necessárias.

1. Escolha **Salvar alterações**.

------
#### [ AWS CLI ]

**Para anexar sua política de bucket ao seu bucket do S3**  
Use o comando [put-bucket-policy](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-policy.html). Neste exemplo, a política de bucket foi salva no arquivo .json especificado.

```
aws s3api put-bucket-policy \
    --bucket amzn-s3-demo-bucket \
    --policy file://access-log-policy.json
```

------

## Etapa 3: configurar logs de conexão
<a name="enable-connection-logs"></a>

Siga o procedimento a seguir para configurar logs de conexão a fim de capturar e entregar arquivos de log ao bucket do S3.

**Requisitos**  
O bucket deverá atender aos requisitos descritos na [etapa 1](#connection-log-create-bucket) e você deverá anexar uma política de bucket, conforme descrito na [etapa 2](#attach-bucket-policy-connection). Se você especificar um prefixo, ele não deverá incluir a string "AWSLogs”.

**Para gerenciar o bucket do S3 para os logs de conexão**  
Certifique-se de desabilitar os logs de conexão antes de excluir o bucket que você configurou para os logs de conexão. Caso contrário, se houver um novo bucket com o mesmo nome e a política de bucket necessária, mas criado em uma Conta da AWS que não seja de sua propriedade, o Elastic Load Balancing poderá gravar os logs de conexão do balanceador de carga nesse novo bucket.

------
#### [ Console ]

**Para habilitar logs de conexão**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, selecione **Load Balancers**.

1. Selecione o nome do balanceador de carga para abrir sua página de detalhes.

1. Na guia **Atributos**, escolha **Editar**.

1. Em **Monitoramento**, ative os **Logs de conexão**.

1. Para **URI do S3**, insira o URI do S3 para seus arquivos de log. O URI especificado dependerá de você estar ou não usando um prefixo.
   + URI com um prefixo: `s3://bucket-name/prefix`
   + URI sem prefixo: `s3://bucket-name`

1. Escolha **Salvar alterações**.

------
#### [ AWS CLI ]

**Para habilitar logs de conexão**  
Use o [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html)comando com os atributos relacionados.

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn load-balancer-arn \
    --attributes \
        Key=connection_logs.s3.enabled,Value=true \
        Key=connection_logs.s3.bucket,Value=amzn-s3-demo-logging-bucket \
        Key=connection_logs.s3.prefix,Value=logging-prefix
```

------
#### [ CloudFormation ]

**Para habilitar logs de conexão**  
Atualize o [AWS::ElasticLoadBalancingV2::LoadBalancer](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-loadbalancer.html)recurso para incluir os atributos relacionados.

```
Resources:
  myLoadBalancer:
    Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
    Properties:
      Name: my-alb
      Type: application
      Scheme: internal
      Subnets: 
        - !Ref subnet-AZ1
        - !Ref subnet-AZ2
      SecurityGroups: 
        - !Ref mySecurityGroup
      LoadBalancerAttributes: 
        - Key: "connection_logs.s3.enabled"
          Value: "true"
        - Key: "connection_logs.s3.bucket"
          Value: "amzn-s3-demo-logging-bucket"
        - Key: "connection_logs.s3.prefix"
          Value: "logging-prefix"
```

------

## Etapa 4: Verificar permissões do bucket
<a name="verify-bucket-permissions-connection"></a>

Depois que os logs de conexão são habilitados para o balanceador de carga, o Elastic Load Balancing validará o bucket do S3 e criará um arquivo de teste para garantir que a política do bucket especifique as permissões necessárias. Você pode usar o console do Amazon S3 para verificar se o arquivo de teste foi criado. O arquivo de teste não é um arquivo de log de conexão real; ele não contêm registros de exemplo.

**Para verificar se o Elastic Load Balancing criou um arquivo de teste no seu bucket do S3**

1. Abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Selecione o nome do bucket que você especificou para os logs de conexão.

1. Localize o arquivo de teste, `ELBConnectionLogTestFile`. O local dependerá de você estar ou não usando um prefixo.
   + Localização com um prefixo:*amzn-s3-demo-logging-bucket*//*prefix*/AWSLogs/*123456789012*ELBConnectionLogTestFile
   + Localização sem prefixo:*amzn-s3-demo-logging-bucket*//AWSLogs/*123456789012*ELBConnectionLogTestFile

## Solução de problemas
<a name="bucket-permissions-troubleshooting-connection"></a>

Se você receber um erro de acesso negado, as possíveis causas serão:
+ A política do bucket não concede ao Elastic Load Balancing permissão para gravar logs de conexão no bucket. Confira se está usando a política de bucket correta para a região. Confira se o ARN do recurso usa o mesmo nome de bucket que você especificou ao habilitar os logs de conexão. Confira se o ARN do recurso não inclui um prefixo se você não tiver especificado um ao habilitar os logs de conexão.
+ O bucket usa uma opção de criptografia que não é aceita no lado do servidor. O bucket deve usar chaves gerenciadas pelo Amazon S3 (SSE-S3).

# Desabilitar os logs de conexão para o Application Load Balancer
<a name="disable-connection-logging"></a>

Você pode desabilitar logs de conexão para o balanceador de carga a qualquer momento. Depois de desabilitar os logs de conexão, eles permanecerão no bucket do S3 até que você os exclua. Para obter mais informações, consulte [Criação, configuração e trabalho com buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) no *Guia do usuário do Amazon S3*.

------
#### [ Console ]

**Para desabilitar logs de conexão**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, selecione **Load Balancers**.

1. Selecione o nome do balanceador de carga para abrir sua página de detalhes.

1. Na guia **Atributos**, escolha **Editar**.

1. Em **Monitoramento**, desative os **Logs de conexão**.

1. Escolha **Salvar alterações**.

------
#### [ AWS CLI ]

**Para desabilitar logs de conexão**  
Use o comando [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html).

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn load-balancer-arn \
    --attributes Key=connection_logs.s3.enabled,Value=false
```

------

# Registros de verificação de saúde
<a name="load-balancer-health-check-logs"></a>

O Elastic Load Balancing fornece registros de verificação de saúde que capturam informações detalhadas sobre o status da verificação de saúde de seus alvos registrados, incluindo motivos de falha quando as verificações de saúde falham. Os registros de verificação de integridade são compatíveis com instâncias do EC2, endereço IP e destinos de funções Lambda. Cada entrada de registro contém informações como o tipo de solicitação de verificação de saúde ou conexão, data e hora, endereço de destino, ID do grupo-alvo, status de saúde e código do motivo. Você pode usar esses registros de verificação de integridade para analisar os padrões de integridade desejados, monitorar as transições de integridade e solucionar problemas.

Os registros de verificação de saúde são um recurso opcional que está desativado por padrão. Depois de habilitar os registros de verificação de integridade para seu load balancer, o Elastic Load Balancing captura os logs e os armazena como arquivos compactados no bucket do Amazon S3 que você especificar. Você pode desativar os registros de verificação de saúde a qualquer momento.

Você receberá cobranças pelos custos de armazenamento do Amazon S3, mas não haverá cobranças pela largura de banda usada pelo Elastic Load Balancing para enviar arquivos de log para o Amazon S3. Para obter mais informações sobre os custos de armazenamento, consulte [Preços do Amazon S3](https://aws.amazon.com/s3/pricing/).

**Topics**
+ [Arquivos de log de verificação de saúde](#health-check-log-file-format)
+ [Entradas do registro de verificação de saúde](#health-check-log-entry-format)
+ [Exemplo de entradas de log do](#health-check-log-file-entries)
+ [Configurar notificações de entrega de logs](#health-check-log-event-notifications)
+ [Processando arquivos de log de verificação de integridade](#health-check-log-processing-tools)
+ [Ative os registros de verificação de integridade do seu Application Load Balancer](enable-health-check-logging.md)
+ [Desative os registros de verificação de integridade do seu Application Load Balancer](disable-health-check-logging.md)

## Arquivos de log de verificação de saúde
<a name="health-check-log-file-format"></a>

O Elastic Load Balancing publica um arquivo de log para cada nó do balanceador de carga a cada 5 minutos. O balanceador de carga pode fornecer vários registros para o mesmo período quando um grande número de destinos é anexado ao balanceador de carga ou um pequeno intervalo de verificação de integridade é configurado (por exemplo, a cada 5 segundos).

Os nomes dos arquivos dos registros de verificação de saúde usam o seguinte formato:

```
bucket[/prefix]/AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/health_check_log_aws-account-id_elasticloadbalancing_region_app.load-balancer-id_end-time_ip-address_random-string.log.gz
```

*bucket*  
O nome do bucket do S3.

*prefix*  
(Opcional) O prefixo (hierarquia lógica) no bucket. O prefixo especificado não pode incluir a string `AWSLogs`. Para mais informações, consulte [Organizar objetos usando prefixos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html).

`AWSLogs`  
Adicionamos a parte do nome do arquivo que começa com `AWSLogs` após o nome do bucket e o prefixo opcional que você especificar.

*aws-account-id*  
O ID da AWS conta do proprietário.

*region*  
A Região para seu load balancer e o bucket do S3.

*aaaa*/*mm*/*dd*  
A data em que o log foi entregue.

*load-balancer-id*  
O ID de recursos do load balancer. Se o ID de recursos contiver barras (/), elas são substituídos por pontos (.).

*end-time*  
A data e a hora em que o intervalo de registro terminou. Por exemplo, a hora final de 20140215T2340Z contém entradas para solicitações feitas entre 23h35 e 23h40 no horário UTC ou Zulu.

*ip-address*  
O endereço IP do nó do load balancer que processou a solicitação. Para um load balancer interno, esse é um endereço IP privado.

*random-string*  
Uma string aleatória gerada pelo sistema.

Veja um exemplo de um nome de arquivo de log com um prefixo:

```
s3://amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/health_check_log_123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz
```

Veja um exemplo de um nome de arquivo de log sem um prefixo:

```
s3://amzn-s3-demo-logging-bucket/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/health_check_log_123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz
```

Você pode armazenar os arquivos de log no bucket pelo tempo que desejar, mas também pode definir regras do ciclo de vida do Amazon S3 para arquivar ou excluir os arquivos de log automaticamente. Para obter mais informações, consulte o [Gerenciamento do ciclo de vida do objeto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) no *Guia do usuário do Amazon S3*.

## Entradas do registro de verificação de saúde
<a name="health-check-log-entry-format"></a>

Os registros do Elastic Load Balancing visam os resultados da verificação de integridade, incluindo os motivos da falha para todos os destinos registrados desse balanceador de carga. Cada entrada de registro contém os detalhes de um único resultado de verificação de saúde feito no alvo registrado.

**Topics**
+ [Sintaxe](#health-check-log-entry-syntax)
+ [Códigos de motivo de erro](#health-check-error-reason-codes)

### Sintaxe
<a name="health-check-log-entry-syntax"></a>

A tabela a seguir descreve os campos de uma entrada de registro de verificação de saúde, em ordem. Todos os campos são delimitados por espaços. Quando adicionamos um novo campo, o adicionamos ao final da entrada de log. Enquanto preparamos o lançamento de um novo campo, você pode ver um “-” adicional no final antes que o campo seja lançado. Certifique-se de configurar a análise de log para que pare após o último campo documentado e para que atualize a análise de log após o lançamento de um novo campo.


| Campo (posição) | Description | 
| --- | --- | 
|  type (1)  |  O tipo de solicitação ou conexão de verificação de saúde. Os valores possíveis são as seguintes (ignorar todos os outros valores): [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-health-check-logs.html)  | 
|  time (2)  |  Registro de data e hora de quando a verificação de integridade é iniciada em um destino, no formato ISO 8601.  | 
|  latência (3)  |  Tempo total decorrido (em segundos) para concluir a verificação de saúde atual.  | 
|  endereço\$1alvo (4)  |  Endereço IP e porta do destino no formato IP:porta. O ARN do Lambda se o destino for uma função do Lambda.  | 
|  target\$1group\$1id (5)  |  Nome do grupo-alvo ao qual o alvo está associado.  | 
|  status (6)  |  O status da verificação de saúde. Esse valor é `PASS` se a verificação de saúde for bem-sucedida. Em uma verificação de saúde malsucedida, o valor é `FAIL`  | 
|  código\$1de\$1status (7)  |  O código de resposta recebido do alvo para a solicitação de verificação de integridade.  | 
|  código\$1motivo (8)  |  O motivo da falha se a verificação de saúde falhar. Consulte [Códigos de motivo de erro](#health-check-error-reason-codes)  | 

### Códigos de motivo de erro
<a name="health-check-error-reason-codes"></a>

Se a verificação de integridade de destino falhar, o balanceador de carga registrará um dos seguintes códigos de motivo no registro de verificação de integridade. 


| Código | Description | 
| --- | --- | 
|  `RequestTimedOut`  |  A solicitação de verificação de saúde atingiu o tempo limite enquanto aguardava a resposta  | 
|  `ConnectionTimedOut`  |  A verificação de saúde falhou porque a tentativa de conexão TCP atingiu o tempo limite  | 
|  `ConnectionReset`  |  A verificação de saúde falhou devido à redefinição da conexão  | 
|  `ResponseCodeMismatch`  |  O código de status HTTP da resposta do alvo à solicitação de verificação de integridade não corresponde ao código de status configurado  | 
|  `ResponseStringMismatch`  |  O corpo da resposta retornado pelo destino não continha a string configurada na configuração da verificação de integridade do grupo de destino  | 
|  `InternalError`  |  Erro interno do balanceador de carga  | 
|  `TargetError`  |  O Target retorna o código de erro 5xx em resposta à solicitação de verificação de integridade  | 
|  `GRPCStatusHeaderEmpty`  |  A resposta de destino do GRPC tem um cabeçalho grpc-status sem valor  | 
|  `GRPCUnexpectedStatus`  |  O alvo GRPC responde com um status grpc inesperado  | 

## Exemplo de entradas de log do
<a name="health-check-log-file-entries"></a>

Veja a seguir exemplos de entradas de registro de verificação de integridade. Observe que o texto de exemplo aparece em várias linhas apenas para facilitar a leitura.

Veja a seguir um exemplo de entrada de registro para uma verificação de saúde bem-sucedida.

```
http 2025-10-31T12:44:59.875678Z 0.019584011 172.31.20.97:80 HCLogsTestIPs PASS 200 -
```

Veja a seguir um exemplo de entrada de registro para uma falha na verificação de saúde.

```
http 2025-10-31T12:44:58.901409Z 1.121980746 172.31.31.9:80 HCLogsTestIPs FAIL 502 TargetError
```

## Configurar notificações de entrega de logs
<a name="health-check-log-event-notifications"></a>

Para receber notificações quando o Elastic Load Balancing entregar logs ao seu bucket do S3, use Notificações de eventos do Amazon S3. O Elastic Load Balancing usa [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html), [CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html), e o [objeto POST](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) para entregar registros para o Amazon S3. Para ter certeza de que você receberá todas as notificações de entrega de logs, inclua todos esses eventos de criação de objetos em sua configuração.

Para obter mais informações, consulte [Notificações de eventos do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventNotifications.html) no *Guia do usuário do Amazon Simple Storage Service*.

## Processando arquivos de log de verificação de integridade
<a name="health-check-log-processing-tools"></a>

Os arquivos de log da verificação de integridade são compactados. Se você baixar os arquivos, deverá descompactá-los para visualizar as informações.

Se houver uma grande demanda no seu site, o load balancer poderá gerar arquivos de log com gigabytes de dados. Talvez você não consiga processar uma quantidade tão grande de dados usando o line-by-line processamento. Assim, pode ter de usar ferramentas analíticas que forneçam soluções de processamento paralelo. Por exemplo, você pode usar as seguintes ferramentas analíticas para analisar e processar registros de verificação de integridade:
+ O Amazon Athena é um serviço de consultas interativas que facilita a análise de dados no Amazon S3 usando SQL padrão.
+ [Loggly](https://documentation.solarwinds.com/en/success_center/loggly/content/admin/s3-ingestion-auto.htm)
+ [Splunk](https://splunk.github.io/splunk-add-on-for-amazon-web-services/)
+ [Sumo logic](https://www.sumologic.com/application/elb/)

# Ative os registros de verificação de integridade do seu Application Load Balancer
<a name="enable-health-check-logging"></a>

Ao habilitar os registros de verificação de integridade para seu balanceador de carga, você deve especificar o nome do bucket do S3 em que o balanceador de carga armazenará os registros. O bucket deve ter uma política de bucket que conceda permissão para o Elastic Load Balancing gravar no bucket.

**Topics**
+ [Etapa 1: Crie um bucket do S3](#health-check-log-create-bucket)
+ [Etapa 2: Anexe uma política ao seu bucket do S3](#attach-bucket-policy-health-check)
+ [Etapa 3: Configurar registros de verificação de integridade](#enable-health-check-logs)
+ [Etapa 4: Verificar permissões do bucket](#verify-bucket-permissions-health-check)
+ [Solução de problemas](#bucket-permissions-troubleshooting-health-check)

## Etapa 1: Crie um bucket do S3
<a name="health-check-log-create-bucket"></a>

Ao habilitar os registros de verificação de integridade, você deve especificar um bucket do S3 para os registros de verificação de integridade. Você pode usar um bucket existente ou criar um bucket especificamente para registros de verificação de integridade. O bucket deve atender aos seguintes requisitos:

**Requisitos**
+ O bucket deve estar localizado na mesma região que o load balancer. O bucket e o balanceador de carga podem pertencer a contas diferentes.
+ A única opção de criptografia compatível no lado do servidor são as chaves gerenciadas pelo Amazon S3 (SSE-S3). Para obter mais informações, consulte [Chaves de criptografia gerenciadas pelo Amazon S3 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html).

**Para criar um bucket do S3 usando o console do Amazon S3**

1. Abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Selecione **Criar bucket**.

1. Na página **Criar bucket**, faça o seguinte:

   1. Para **Nome do bucket**, insira um nome para o bucket. Esse nome deve ser exclusivo entre todos os nomes de buckets existentes no Amazon S3. Em algumas regiões, talvez haja restrições adicionais quanto a nomes de buckets. Para obter mais informações, consulte [Restrições de bucket e limitações](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html) no *Guia do usuário do Amazon S3*.

   1. Em **Região da AWS **, selecione a região em que você criou seu balanceador de carga.

   1. Em **Criptografia padrão**, escolha **Chaves gerenciadas pelo Amazon S3 (SSE-S3)**.

   1. Selecione **Criar bucket**.

## Etapa 2: Anexe uma política ao seu bucket do S3
<a name="attach-bucket-policy-health-check"></a>

Seu bucket do S3 deve ter uma política de bucket que conceda permissão ao Elastic Load Balancing para gravar os registros de verificação de saúde no bucket. As políticas de bucket são um conjunto de instruções JSON gravadas na linguagem de políticas de acesso para definir permissões de acesso para o seu bucket. Cada instrução inclui informações sobre uma única permissão e contém uma série de elementos.

Se você estiver usando um bucket existente que já tenha uma política anexada, você pode adicionar a declaração dos registros de verificação de integridade do Elastic Load Balancing à política. Se você fizer isso, recomendamos que você avalie o conjunto de permissões resultante para garantir que elas sejam apropriadas para os usuários que precisam acessar o bucket para registros de verificação de saúde.

### Política de bucket
<a name="bucket-policy-logdelivery-health-check"></a>

Esta política concede permissões ao serviço de entrega de logs especificado.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "logdelivery.elasticloadbalancing.amazonaws.com"
      },
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*"
    }
  ]
}
```

Para `Resource`, insira o ARN do local para os logs de acesso, usando o formato demonstrado no exemplo de política. Sempre inclua o ID da conta com o balanceador de carga no caminho do recurso do ARN do bucket do S3. Isso garante que somente os balanceadores de carga da conta especificada possam gravar logs de acesso no bucket do S3.

O ARN especificado dependerá de você planejar ou não incluir um prefixo ao habilitar os logs de acesso na [etapa 3](enable-access-logging.md#enable-access-logs).

**Exemplo de ARN do bucket do S3 com um prefixo**  
O nome do bucket do S3 é amzn-s3-demo-logging-bucket e o prefixo é logging-prefix.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**AWS GovCloud (US)** — O exemplo a seguir usa a sintaxe ARN para as AWS GovCloud (US) Regions.

```
arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**Exemplo de ARN do bucket do S3 sem prefixo**  
O nome do bucket do S3 é amzn-s3-demo-logging-bucket. Não há parte do prefixo no ARN do bucket do S3.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

**AWS GovCloud (US)** — O exemplo a seguir usa a sintaxe ARN para as AWS GovCloud (US) Regions.

```
arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

### Política de bucket legada
<a name="legacy-bucket-policy"></a>

No passado, para regiões disponíveis antes de agosto de 2022, exigíamos uma política que concedesse permissões a uma conta do Elastic Load Balancing específica para a região. Embora essa política legada ainda seja compatível, recomendamos que você a substitua pela política mais recente acima. Se preferir, você pode continuar usando a política legada, que não é mostrada aqui.

 Para referência, aqui estão as contas IDs do Elastic Load Balancing a serem especificadas `Principal` na política legada. Note que as regiões que não aparecem nessa lista não oferecem suporte à política legada.
+ Leste dos EUA (N. da Virgínia): 127311923021
+ Leste os EUA (Ohio): 033677994240
+ Oeste dos EUA (N. da Califórnia): 027434742980
+ Oeste dos EUA (Oregon): 797873946194
+ África (Cidade do Cabo): 098369216593
+ Ásia-Pacífico (Hong Kong): 754344448648
+ Ásia-Pacífico (Jacarta) — 589379963580
+ Ásia-Pacífico (Mumbai): 718504428378
+ Ásia-Pacífico (Osaka): 383597477331
+ Ásia-Pacífico (Seul): 600734575887
+ Ásia-Pacífico (Singapura): 114774131450
+ Ásia-Pacífico (Sydney): 783225319266
+ Ásia-Pacífico (Tóquio): 582318560864
+ Canadá (Central): 985666609251
+ Europa (Frankfurt): 054676820928
+ Europa (Irlanda): 156460612806
+ Europa (Londres): 652711504416
+ Europa (Milão): 635631232127
+ Europa (Paris): 009996457667
+ Europa (Estocolmo): 897822967062
+ Oriente Médio (Bahrein): 076674570225
+ América do Sul (São Paulo): 507241528517
+ AWS GovCloud (Leste dos EUA) — 190560391635
+ AWS GovCloud (Oeste dos EUA) — 048591011584

### Zonas de Outposts
<a name="bucket-policy-outposts"></a>

A política a seguir concede permissões ao serviço de entrega de logs especificado. Use essa política para balanceadores de carga em zonas de Outposts.

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "logdelivery.elb.amazonaws.com"
    },
    "Action": "s3:PutObject",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*"
    "Condition": {
        "StringEquals": {
            "s3:x-amz-acl": "bucket-owner-full-control"
        }
    }
}
```

Para `Resource`, insira o ARN do local para os logs de acesso. Sempre inclua o ID da conta com o balanceador de carga no caminho do recurso do ARN do bucket do S3. Isso garante que somente os balanceadores de carga da conta especificada possam gravar logs de acesso no bucket do S3.

O ARN especificado dependerá de você planejar ou não incluir um prefixo ao habilitar os logs de acesso na [etapa 3](enable-access-logging.md#enable-access-logs).

**Exemplo de ARN do bucket do S3 com um prefixo**  
O nome do bucket do S3 é amzn-s3-demo-logging-bucket e o prefixo é logging-prefix.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**Exemplo de ARN do bucket do S3 sem prefixo**  
O nome do bucket do S3 é amzn-s3-demo-logging-bucket. Não há parte do prefixo no ARN do bucket do S3.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

### Práticas recomendadas de segurança
<a name="bucket-policy-security-best-practices"></a>

Para aumentar a segurança, use um bucket ARNs S3 preciso.
+ Use o caminho completo do recurso, não apenas o ARN do bucket do S3.
+ Inclua a parte do ID da conta do ARN do bucket do S3.
+ Não use curingas (\$1) na parte do ID da conta do ARN do bucket do S3.

Depois de criar sua política de bucket, use uma interface do Amazon S3, como o console AWS CLI ou os comandos do Amazon S3, para anexar sua política de bucket ao bucket do S3.

------
#### [ Console ]

**Para anexar sua política de bucket ao seu bucket do S3**

1. Abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Selecione o nome do bucket para abrir sua página de detalhes.

1. Escolha **Permissions** (Permissões) e, em seguida, escolha **Bucket policy** (Política de bucket), **Edit** (Editar).

1. Crie ou atualize a política de bucket para conceder as permissões necessárias.

1. Escolha **Salvar alterações**.

------
#### [ AWS CLI ]

**Para anexar sua política de bucket ao seu bucket do S3**  
Use o comando [put-bucket-policy](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-policy.html). Neste exemplo, a política de bucket foi salva no arquivo .json especificado.

```
aws s3api put-bucket-policy \
    --bucket amzn-s3-demo-bucket \
    --policy file://access-log-policy.json
```

------

## Etapa 3: Configurar registros de verificação de integridade
<a name="enable-health-check-logs"></a>

Use o procedimento a seguir para configurar registros de verificação de integridade para capturar e entregar arquivos de log ao seu bucket do S3.

**Requisitos**  
O bucket deverá atender aos requisitos descritos na [etapa 1](#health-check-log-create-bucket) e você deverá anexar uma política de bucket, conforme descrito na [etapa 2](#attach-bucket-policy-health-check). Se você especificar um prefixo, ele não deverá incluir a string "AWSLogs”.

**Para gerenciar o bucket do S3 para seus registros de verificação de saúde**  
Certifique-se de desativar os registros de verificação de saúde antes de excluir o bucket que você configurou para registros de verificação de saúde. Caso contrário, se houver um novo bucket com o mesmo nome e a política de bucket necessária, mas criado em um Conta da AWS que você não possui, o Elastic Load Balancing poderá gravar os registros de verificação de integridade do seu load balancer nesse novo bucket.

------
#### [ Console ]

**Para habilitar registros de verificação de saúde**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, selecione **Load Balancers**.

1. Selecione o nome do balanceador de carga para abrir sua página de detalhes.

1. Na guia **Atributos**, escolha **Editar**.

1. Para **Monitoramento**, ative os **registros do Health Check**.

1. Para **URI do S3**, insira o URI do S3 para seus arquivos de log. O URI especificado dependerá de você estar ou não usando um prefixo.
   + URI com um prefixo: `s3://bucket-name/prefix`
   + URI sem prefixo: `s3://bucket-name`

1. Escolha **Salvar alterações**.

------
#### [ AWS CLI ]

**Para habilitar registros de verificação de saúde**  
Use o [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html)comando com os atributos relacionados.

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn load-balancer-arn \
    --attributes \
        Key=health_check_logs.s3.enabled,Value=true \
        Key=health_check_logs.s3.bucket,Value=amzn-s3-demo-logging-bucket \
        Key=health_check_logs.s3.prefix,Value=logging-prefix
```

------
#### [ CloudFormation ]

**Para habilitar registros de verificação de saúde**  
Atualize o [AWS::ElasticLoadBalancingV2::LoadBalancer](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-loadbalancer.html)recurso para incluir os atributos relacionados.

```
Resources:
  myLoadBalancer:
    Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
    Properties:
      Name: my-alb
      Type: application
      Scheme: internal
      Subnets: 
        - !Ref subnet-AZ1
        - !Ref subnet-AZ2
      SecurityGroups: 
        - !Ref mySecurityGroup
      LoadBalancerAttributes: 
        - Key: "health_check_logs.s3.enabled"
          Value: "true"
        - Key: "health_check_logs.s3.bucket"
          Value: "amzn-s3-demo-logging-bucket"
        - Key: "health_check_logs.s3.prefix"
          Value: "logging-prefix"
```

------

## Etapa 4: Verificar permissões do bucket
<a name="verify-bucket-permissions-health-check"></a>

Depois que os registros de verificação de saúde são habilitados para seu balanceador de carga, o Elastic Load Balancing valida o bucket do S3 e cria um arquivo de teste para garantir que a política do bucket especifique as permissões necessárias. Você pode usar o console do Amazon S3 para verificar se o arquivo de teste foi criado. O arquivo de teste não é um arquivo real de registro de verificação de saúde; ele não contém registros de exemplo.

**Para verificar se o Elastic Load Balancing criou um arquivo de teste no seu bucket do S3**

1. Abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Selecione o nome do bucket que você especificou para os registros de verificação de saúde.

1. Localize o arquivo de teste, `ELBHealthCheckLogTestFile`. O local dependerá de você estar ou não usando um prefixo.
   + Localização com um prefixo:*amzn-s3-demo-logging-bucket*//*prefix*/AWSLogs/*123456789012*ELBHealthCheckLogTestFile
   + Localização sem prefixo:*amzn-s3-demo-logging-bucket*//AWSLogs/*123456789012*ELBHealthCheckLogTestFile

## Solução de problemas
<a name="bucket-permissions-troubleshooting-health-check"></a>

Se você receber um erro de acesso negado, as possíveis causas serão:
+ A política do bucket não concede permissão ao Elastic Load Balancing para gravar registros de verificação de saúde no bucket. Confira se está usando a política de bucket correta para a região. Verifique se o ARN do recurso usa o mesmo nome de bucket que você especificou ao habilitar os registros de verificação de saúde. Verifique se o ARN do recurso não inclui um prefixo se você não especificou um prefixo ao habilitar os registros de verificação de saúde.
+ O bucket usa uma opção de criptografia que não é aceita no lado do servidor. O bucket deve usar chaves gerenciadas pelo Amazon S3 (SSE-S3).

# Desative os registros de verificação de integridade do seu Application Load Balancer
<a name="disable-health-check-logging"></a>

Você pode desativar os registros de verificação de integridade do seu balanceador de carga a qualquer momento. Depois de desativar os registros de verificação de saúde, eles permanecem no bucket do S3 até que você os exclua. Para obter mais informações, consulte [Criação, configuração e trabalho com buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) no *Guia do usuário do Amazon S3*.

------
#### [ Console ]

**Para desativar os registros de verificação de saúde**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, selecione **Load Balancers**.

1. Selecione o nome do balanceador de carga para abrir sua página de detalhes.

1. Na guia **Atributos**, escolha **Editar**.

1. Para **Monitoramento**, desative os **registros de verificação de saúde**.

1. Escolha **Salvar alterações**.

------
#### [ AWS CLI ]

**Para desativar os registros de verificação de saúde**  
Use o comando [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html).

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn load-balancer-arn \
    --attributes Key=health_check_logs.s3.enabled,Value=false
```

------

# Solicitar rastreamento para seu Application Load Balancer
<a name="load-balancer-request-tracing"></a>

Quando o load balancer recebe uma solicitação de um cliente, ele adiciona ou atualiza o cabeçalho **X-Amzn-Trace-Id**, antes de enviar a solicitação ao destino. Todos os serviços ou aplicativos entre o load balancer e o destino também podem adicionar ou atualizar esse cabeçalho.

Você pode usar o rastreamento de solicitação para rastrear solicitações HTTP de clientes para destinos ou outros serviços. Se você habilitar os logs de acesso, o conteúdo do cabeçalho **X-Amzn-Trace-Id** será registrado. Para obter mais informações, consulte [Logs de acesso para seu Application Load Balancer](load-balancer-access-logs.md).

## Sintaxe
<a name="request-tracing-syntax"></a>

O cabeçalho **X-Amzn-Trace-Id** contém campos com o seguinte formato:

```
Field=version-time-id
```

*Campo*  
O nome do campo. Os valores suportados são `Root` e `Self`.  
um aplicativo pode adicionar campos arbitrários para as suas próprias finalidades. O load balancer preserva esses campos, mas não os usa.

*version*  
O número da versão. Este valor é 1.

*horário*  
A hora de referência (epoch), em segundos. Esse valor tem 8 dígitos hexadecimais.

*id*  
O identificador de rastreamento. Esse valor tem 24 dígitos hexadecimais.

**Exemplos**  
Se o cabeçalho **X-Amzn-Trace-Id** não estiver presente em uma solicitação de entrada, o load balancer deverá gerar um cabeçalho com o campo `Root` e encaminhar a solicitação. Por exemplo:

```
X-Amzn-Trace-Id: Root=1-67891233-abcdef012345678912345678
```

Se o cabeçalho **X-Amzn-Trace-Id** estiver presente e contiver um campo `Root`, o load balancer inserirá um campo `Self` e encaminhará a solicitação. Por exemplo:

```
X-Amzn-Trace-Id: Self=1-67891233-12456789abcdef012345678;Root=1-67891233-abcdef012345678912345678
```

Se um aplicativo adicionar um cabeçalho com um campo `Root` e um campo personalizado, o load balancer preservará os dois campos, inserirá um campo `Self` e encaminhará a solicitação:

```
X-Amzn-Trace-Id: Self=1-67891233-12456789abcdef012345678;Root=1-67891233-abcdef012345678912345678;CalledFrom=app
```

Se o cabeçalho **X-Amzn-Trace-Id** estiver presente e contiver um campo `Self`, o load balancer atualizará o valor do campo `Self`.

## Limitações
<a name="request-tracing-limits"></a>
+ O load balancer atualiza o cabeçalho quando recebe uma solicitação recebida, não quando recebe uma resposta.
+ Se os cabeçalhos HTTP tiverem mais de 7 KB, o load balancer reescreverá o cabeçalho **X-Amzn-Trace-Id** com um campo `Root`.
+ Com WebSockets, você pode rastrear somente até que a solicitação de upgrade seja bem-sucedida.