Logs de acesso do Network Load Balancer - Elastic Load Balancing

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

Logs de acesso do Network Load Balancer

O Elastic Load Balancing fornece registros de acesso que capturam informações detalhadas sobre as TLS conexões estabelecidas com seu Network Load Balancer. Você pode usar esses logs de acesso para analisar padrões de tráfego e solucionar problemas.

Importante

Os registros de acesso são criados somente se o balanceador de carga tiver um TLS ouvinte e contiverem informações somente sobre TLS solicitações. Os logs de acesso registram as solicitações com base no 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.

O registro de logs de acesso é um recurso opcional do Elastic Load Balancing e é desabilitado por padrão. Depois de habilitar o registro de logs de acesso para o balanceador de carga, o Elastic Load Balancing captura os logs como arquivos compactados e os armazena no bucket do Amazon S3 que você especificar. Você pode desativar o registro de acesso a qualquer momento.

Você pode habilitar a criptografia do lado do servidor com chaves de criptografia gerenciadas pelo Amazon S3 (SSE-S3) ou usando o Serviço de Gerenciamento de Chaves com Chaves Gerenciadas pelo Cliente (SSE-) para seu bucket do S3. KMS CMK Cada arquivo de log de acesso é automaticamente criptografado antes de ser armazenado no seu bucket do S3 e descriptografado quando você o acessar. Você não precisa tomar nenhuma ação, pois não há diferença na forma como você acessa arquivos de log criptografados ou não criptografados. Cada arquivo de log é criptografado com uma chave exclusiva, que por sua vez é criptografada com uma KMS chave que é rotacionada regularmente. Para obter mais informações, consulte Especificação da criptografia do Amazon S3 SSE (-S3) e Especificação da criptografia do lado do servidor com ( AWS KMS -SSE) KMS no Guia do usuário do Amazon S3.

Não há cobrança adicional pelos logs de acesso. Os custos de armazenamento do Amazon S3 são cobrados de você, mas não é cobrada a 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 Definição de preço do Amazon S3.

Arquivos do log de acesso

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_net.load-balancer-id_end-time_random-string.log.gz
bucket

O nome do bucket do S3.

prefix

O prefixo (hierarquia lógica) no bucket. Se você não especificar um prefixo, os logs serão colocados no nível raiz do bucket.

aws-account-id

O Conta da AWS ID do proprietário.

região

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, um horário de término de 20181220T2340Z contém entradas para solicitações feitas entre 23:35 e 23:40.

random-string

Uma string aleatória gerada pelo sistema.

A seguir está um exemplo de nome de arquivo de log:

s3://my-bucket/prefix/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2020/05/01/123456789012_elasticloadbalancing_us-east-2_net.my-loadbalancer.1234567890abcdef_20200501T0000Z_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 Gerenciar o ciclo de vida de armazenamento no Guia do usuário do Amazon S3.

Entradas do log de acesso

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 novos campos são introduzidos, eles são adicionados no final da entrada de log. Ao processar os arquivos de log, você deverá ignorar quaisquer campos no final da entrada de log que não sejam esperados.

Campo Descrição

tipo

O tipo de listener. O valor suportado é tls.

versão

A versão da entrada de log. A versão atual é 2.0.

horário

A hora registrada no final da TLS conexão, no formato ISO 8601.

elb

O ID de recursos do load balancer.

listener

O ID do recurso do TLS ouvinte para a conexão.

client:port

O endereço IP e a porta do cliente.

destination:port

O endereço IP e a porta do destino. Se o cliente se conectar diretamente ao load balancer, o destino será o listener. Se o cliente se conectar usando um serviço de VPC endpoint, o destino será o VPC endpoint.

connection_time

O tempo total para a conexão ser concluída, do início ao encerramento, em milissegundos.

tls_handshake_time

O tempo total para a conclusão do TLS handshake após o estabelecimento da TCP conexão, incluindo atrasos do lado do cliente, em milissegundos. Esse tempo está incluído no campo connection_time.

received_bytes

A contagem de bytes recebidos pelo load balancer do cliente, após a descriptografia.

sent_bytes

A contagem de bytes enviados pelo load balancer para o cliente, antes da criptografia.

incoming_tls_alert

O valor inteiro dos TLS alertas recebidos pelo balanceador de carga do cliente, se presente. Caso contrário, o valor será definido como -.

chosen_cert_arn

O ARN do certificado entregue ao cliente. Se nenhuma mensagem Hello válida do cliente for enviada, esse valor será definido como -.

chosen_cert_serial

Reservado para uso futuro. Esse valor é sempre definido como -.

tls_cipher

O pacote de cifras negociado com o cliente, em formato aberto. SSL Se TLS a negociação não for concluída, esse valor será definido como -.

tls_protocol_version

O TLS protocolo negociado com o cliente, em formato de string. Os valores possíveis são tlsv10, tlsv11, tlsv12 e tlsv13. Se TLS a negociação não for concluída, esse valor será definido como -.

tls_named_group

Reservado para uso futuro. Esse valor é sempre definido como -.

domain_name

O valor da extensão do cliente server_name na mensagem Hello. Esse valor é URL codificado em -. Se nenhuma mensagem Hello válida do cliente for enviada ou a extensão não estiver presente, esse valor será definido como -.

alpn_fe_protocol

O protocolo de aplicativo negociado com o cliente, no formato de string. Os valores possíveis são h2, http/1.1 e http/1.0. Se nenhuma ALPN política for configurada no TLS ouvinte, nenhum protocolo correspondente for encontrado ou nenhuma lista de protocolos válida for enviada, esse valor será definido como -.

alpn_be_protocol

O protocolo de aplicativo negociado com o destino, no formato de string. Os valores possíveis são h2, http/1.1 e http/1.0. Se nenhuma ALPN política for configurada no TLS ouvinte, nenhum protocolo correspondente for encontrado ou nenhuma lista de protocolos válida for enviada, esse valor será definido como -.

alpn_client_preference_list

O valor da extensão application_layer_protocol_negotiation na mensagem Hello do cliente. Esse valor é URL codificado em -. Cada protocolo está entre aspas duplas, e os protocolos são separados por uma vírgula. Se nenhuma ALPN política estiver configurada no TLS ouvinte, nenhuma mensagem de saudação do cliente válida for enviada ou a extensão não estiver presente, esse valor será definido como -. A string será truncada se for maior do que 256 bytes.

tls_connection_creation_time

A hora registrada no início da TLS conexão, no formato ISO 8601.

Exemplo de entradas de log

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

Veja a seguir um exemplo de um TLS ouvinte sem uma ALPN política.

tls 2.0 2018-12-20T02:59:40 net/my-network-loadbalancer/c6e77e28c25b2234 g3d4b5e8bb8464cd 72.21.218.154:51341 172.100.100.185:443 5 2 98 246 - arn:aws:acm:us-east-2:671290407336:certificate/2a108f19-aded-46b0-8493-c63eb1ef4a99 - ECDHE-RSA-AES128-SHA tlsv12 - my-network-loadbalancer-c6e77e28c25b2234.elb.us-east-2.amazonaws.com - - - 2018-12-20T02:59:30

Veja a seguir um exemplo de um TLS ouvinte com uma ALPN política.

tls 2.0 2020-04-01T08:51:42 net/my-network-loadbalancer/c6e77e28c25b2234 g3d4b5e8bb8464cd 72.21.218.154:51341 172.100.100.185:443 5 2 98 246 - arn:aws:acm:us-east-2:671290407336:certificate/2a108f19-aded-46b0-8493-c63eb1ef4a99 - ECDHE-RSA-AES128-SHA tlsv12 - my-network-loadbalancer-c6e77e28c25b2234.elb.us-east-2.amazonaws.com h2 h2 "h2","http/1.1" 2020-04-01T08:51:20

Processar arquivos de log de acesso

Os arquivos de log de acesso 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 ferramentas analíticas a seguir para analisar e processar logs de acesso: