Habilitar os logs de acesso para seu Application 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á.

Habilitar os logs de acesso para seu Application Load Balancer

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.

Etapa 1: Crie um bucket do S3

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

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

  2. Selecione Criar bucket.

  3. 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 e limitações de bucket no Manual do usuário do Amazon Simple Storage Service.

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

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

    4. Selecione Criar bucket.

Etapa 2: Anexe uma política ao seu bucket do S3

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íticas de bucket disponíveis

A política de bucket que você usará depende da Região da AWS e do tipo de zona. Cada seção expansível abaixo contém uma política de bucket e informações sobre quando usar essa política.

Esta política concede permissões ao serviço de entrega de logs especificado. Use essa política para balanceadores de carga em zonas de disponibilidade e zonas locais nas seguintes regiões:

  • Ásia-Pacífico (Hyderabad)

  • Ásia-Pacífico (Melbourne)

  • Oeste do Canadá (Calgary)

  • Europa (Espanha)

  • Europa (Zurique)

  • Israel (Tel Aviv)

  • Oriente Médio (Emirados Árabes Unidos)

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logdelivery.elasticloadbalancing.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "my-s3-arn" } ] }

Substitua my-s3-arn pelo ARN do local de seus logs de acesso. O ARN especificado dependerá de você planejar ou não especificar um prefixo ao habilitar os registros de acesso na etapa 3.

  • Formato ARN com um prefixo

    arn:aws:s3:::bucket-name/prefix/AWSLogs/aws-account-id/*

    Exemplo de ARN, em que o nome do bucket émy-s3-bucket, o prefixo é e é my-prefix aws-account-id1111-2222-3333

    arn:aws:s3:::my-s3-bucket/my-prefix/AWSLogs/1111-2222-3333/*
  • Formato ARN sem prefixo

    arn:aws:s3:::bucket-name/AWSLogs/aws-account-id/*

    Exemplo de ARN, onde o nome do bucket é, e é my-s3-bucket aws-account-id1111-2222-3333

    arn:aws:s3:::my-s3-bucket/AWSLogs/1111-2222-3333/*
Usando NotPrincipal quando Effect éDeny.

Se a política de bucket do Amazon S3 for usada Effect com o valor Deny e incluir, NotPrincipal conforme mostrado no exemplo abaixo, certifique-se de que ela logdelivery.elasticloadbalancing.amazonaws.com esteja incluída na Service lista.

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

Esta política concede permissões para o ID de conta do Elastic Load Balancing especificado. Use essa política para balanceadores de carga em zonas de disponibilidade e zonas locais nas regiões na lista abaixo:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::elb-account-id:root" }, "Action": "s3:PutObject", "Resource": "my-s3-arn" } ] }

elb-account-idSubstitua pelo ID do Conta da AWS para o Elastic Load Balancing da sua região:

  • 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

Substitua my-s3-arn pelo ARN do local de seus logs de acesso. O ARN especificado dependerá de você planejar ou não especificar um prefixo ao habilitar os registros de acesso na etapa 3.

  • Formato ARN com um prefixo

    arn:aws:s3:::bucket-name/prefix/AWSLogs/aws-account-id/*

    Exemplo de ARN, em que o nome do bucket émy-s3-bucket, o prefixo é e é my-prefix aws-account-id1111-2222-3333

    arn:aws:s3:::my-s3-bucket/my-prefix/AWSLogs/1111-2222-3333/*
  • Formato ARN sem prefixo

    arn:aws:s3:::bucket-name/AWSLogs/aws-account-id/*

    Exemplo de ARN, onde o nome do bucket é, e é my-s3-bucket aws-account-id1111-2222-3333

    arn:aws:s3:::my-s3-bucket/AWSLogs/1111-2222-3333/*
Usando NotPrincipal quando Effect éDeny.

Se a política de bucket do Amazon S3 for usada Effect com o valor Deny e incluir, NotPrincipal conforme mostrado no exemplo abaixo, certifique-se de que ela logdelivery.elasticloadbalancing.amazonaws.com esteja incluída na Service lista.

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

Esta política concede permissões para o ID de conta do Elastic Load Balancing especificado. Use essa política para balanceadores de carga em Zonas de Disponibilidade ou Zonas AWS GovCloud (US) Locais nas Regiões na lista abaixo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws-us-gov:iam::elb-account-id:root" }, "Action": "s3:PutObject", "Resource": "my-s3-arn" } ] }

elb-account-idSubstitua pelo ID do Conta da AWS para o Elastic Load Balancing da sua AWS GovCloud (US) região:

  • AWS GovCloud (Oeste dos EUA) — 048591011584

  • AWS GovCloud (Leste dos EUA) — 190560391635

Substitua my-s3-arn pelo ARN do local de seus logs de acesso. O ARN especificado dependerá de você planejar ou não especificar um prefixo ao habilitar os registros de acesso na etapa 3.

  • Formato ARN com um prefixo

    arn:aws-us-gov:s3:::bucket-name/prefix/AWSLogs/aws-account-id/*

    Exemplo de ARN, em que o nome do bucket émy-s3-bucket, o prefixo é e é my-prefix aws-account-id1111-2222-3333

    arn:aws-us-gov:s3:::my-s3-bucket/my-prefix/AWSLogs/1111-2222-3333/*
  • Formato ARN sem prefixo

    arn:aws-us-gov:s3:::bucket-name/AWSLogs/aws-account-id/*

    Exemplo de ARN, onde o nome do bucket é, e é my-s3-bucket aws-account-id1111-2222-3333

    arn:aws-us-gov:s3:::my-s3-bucket/AWSLogs/1111-2222-3333/*
Usando NotPrincipal quando Effect éDeny.

Se a política de bucket do Amazon S3 for usada Effect com o valor Deny e incluir, NotPrincipal conforme mostrado no exemplo abaixo, certifique-se de que ela logdelivery.elasticloadbalancing.amazonaws.com esteja incluída na Service lista.

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

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": "my-s3-arn, "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } }

Substitua my-s3-arn pelo ARN do local de seus logs de acesso. O ARN especificado dependerá de você planejar ou não especificar um prefixo ao habilitar os registros de acesso na etapa 3.

  • Formato ARN com um prefixo

    arn:aws:s3:::bucket-name/prefix/AWSLogs/aws-account-id/*

    Exemplo de ARN, em que o nome do bucket émy-s3-bucket, o prefixo é e é my-prefix aws-account-id1111-2222-3333

    arn:aws:s3:::my-s3-bucket/my-prefix/AWSLogs/1111-2222-3333/*
  • Formato ARN sem prefixo

    arn:aws:s3:::bucket-name/AWSLogs/aws-account-id/*

    Exemplo de ARN, onde o nome do bucket é, e é my-s3-bucket aws-account-id1111-2222-3333

    arn:aws:s3:::my-s3-bucket/AWSLogs/1111-2222-3333/*
Usando NotPrincipal quando Effect éDeny.

Se a política de bucket do Amazon S3 for usada Effect com o valor Deny e incluir, NotPrincipal conforme mostrado no exemplo abaixo, certifique-se de que ela logdelivery.elasticloadbalancing.amazonaws.com esteja incluída na Service lista.

{ "Effect": "Deny", "NotPrincipal": { "Service": [ "logdelivery.elasticloadbalancing.amazonaws.com", "example.com" ] } },
Para anexar uma política de bucket para logs de acesso ao seu bucket usando o console do Amazon S3
  1. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

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

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

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

  5. Escolha Salvar alterações.

Etapa 3: Configurar logs de acesso

Siga este procedimento para configurar logs de acesso a fim de capturar e entregar arquivos de log ao seu bucket do S3.

Requisitos

O bucket deverá atender aos requisitos descritos na etapa 1 e você deverá anexar uma política de bucket, conforme descrito na etapa 2. Se você especificar um prefixo, ele não deverá incluir a string "AWSLogs”.

Para habilitar os logs de acesso ao seu load balancer usando o console
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

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

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

  4. Na guia Atributos, escolha Editar.

  5. Em Monitoramento, ative os Logs de acesso.

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

  7. Escolha Salvar alterações.

Para habilitar os registros de acesso usando o AWS CLI

Use o comando modify-load-balancer-attributes.

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.

Etapa 4: Verificar permissões do bucket

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 em seu bucket usando o console do Amazon S3
  1. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

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

  3. Localize o arquivo de teste, ELBAccessLogTestFile. O local dependerá de você estar ou não usando um prefixo.

    • Local com um prefixo: my-bucket/prefix/AWSLogs/123456789012/ELBAccessLogTestFile

    • Local sem prefixo: my-bucket/AWSLogs/123456789012/ELBAccessLogTestFile

Solução de problemas

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