Habilitación de los registros de acceso del equilibrador de carga de red - Elastic Load Balancing

Habilitación de los registros de acceso del equilibrador de carga de red

Al habilitar el registro de acceso del balanceador de carga, debe especificar el nombre del bucket de S3 donde el balanceador de carga almacenará los logs. El bucket debe tener una política de bucket que conceda permiso a Elastic Load Balancing para escribir en el bucket.

importante

Los registros de acceso se crean solo si el equilibrador de carga tiene un oyente TLS y si los registros contienen información acerca de las solicitudes de TLS únicamente.

Requisitos del bucket

Puede utilizar un bucket existente o crear uno específico para los registros de acceso. El bucket debe cumplir los siguientes requisitos.

Requisitos
  • El bucket debe estar ubicado en la misma región que el equilibrador de carga. El bucket y el equilibrador de carga pueden ser propiedad de diferentes cuentas.

  • El prefijo que especifique no debe incluir AWSLogs. Agregamos la parte del nombre de archivo que comienza por AWSLogs después del nombre del bucket y el prefijo que especifique.

  • El bucket debe tener una política que conceda permiso para escribir los registros de acceso en el bucket. Las políticas de bucket son colecciones de instrucciones JSON escritas en el lenguaje de la política de acceso para definir los permisos de acceso al bucket.

Ejemplo de política de bucket

A continuación, se muestra una política de ejemplo. Para los elementos Resource, sustituya amzn-s3-demo-destination-bucket con el nombre del bucket de S3 para los registros de acceso. Asegúrese de omitir Prefix/ si no utiliza un prefijo de bucket. Para aws:SourceAccount, especifique el ID de la cuenta de AWS con el equilibrador de carga. Para aws:SourceArn, sustituya region y 012345678912 con la región y el ID de cuenta del equilibrador de carga, respectivamente.

JSON
{ "Version":"2012-10-17", "Id": "AWSLogDeliveryWrite", "Statement": [ { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket", "Condition": { "StringEquals": { "aws:SourceAccount": [ "012345678912" ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:us-east-1:012345678912:*" ] } } }, { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/Prefix/AWSLogs/account-ID/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": [ "012345678912" ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:us-east-1:012345678912:*" ] } } } ] }
Cifrado

Puede habilitar el cifrado del lado del servidor para su bucket de registro de acceso a Amazon S3 de una de las siguientes maneras:

  • Claves administradas de Amazon S3 (SSE-S3)

  • Claves de AWS KMS almacenadas en AWS Key Management Service (SSE-KMS) †

† Con los registros de acceso del equilibrador de carga de red, no puede usar claves administradas por AWS, debe usar claves administradas por el cliente.

Para obtener más información, consulte Especificación del cifrado de Amazon S3 (SSE-S3) y Especificación del cifrado del servidor con AWS KMS (SSE-KMS) en la Guía del usuario de Amazon S3.

La política de claves debe permitir al servicio cifrar y descifrar los registros. A continuación, se muestra una política de ejemplo.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" } ] }

Configuración de los registros de acceso

Utilice el siguiente procedimiento para configurar los registros de acceso para capturar información de solicitudes y entregar los archivos de registro al bucket de S3.

Console
Para habilitar los registros de acceso
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, seleccione Equilibradores de carga.

  3. Seleccione el nombre del equilibrador de carga para abrir la página de detalles.

  4. En la pestaña Atributos, seleccione Editar.

  5. Para la Monitorización, active los registros de acceso.

  6. En URI de S3, ingrese el URI de S3 correspondiente a los archivos de registro. El URI que especifique depende de si utiliza un prefijo.

    • URI con un prefijo: s3://amzn-s3-demo-logging-bucket/logging-prefix

    • URI sin prefijo: s3://amzn-s3-demo-logging-bucket

  7. Seleccione Save changes (Guardar cambios).

AWS CLI
Para habilitar los registros de acceso

Use el comando modify-load-balancer-attributes con los 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
Para habilitar los registros de acceso

Actualice el recurso AWS::ElasticLoadBalancingV2::LoadBalancer para incluir los atributos relacionados.

Resources: myLoadBalancer: Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer' Properties: Name: my-nlb Type: network 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"