Ative os registros de verificação de integridade do 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á.

Ative os registros de verificação de integridade do seu Application Load Balancer

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.

Etapa 1: Crie um bucket do S3

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

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 de bucket e limitações no Guia do usuário do Amazon S3.

    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

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.

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.

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

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

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.

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

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 (*) 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/.

  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.

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

Use o comando put-bucket-policy. 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

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

  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. Para Monitoramento, ative os registros do Health Check.

  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.

AWS CLI
Para habilitar registros de verificação de saúde

Use o modify-load-balancer-attributescomando 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::LoadBalancerrecurso 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

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

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

  3. 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/123456789012ELBHealthCheckLogTestFile

    • Localização sem prefixo:amzn-s3-demo-logging-bucket//AWSLogs/123456789012ELBHealthCheckLogTestFile

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