Exportar datos de registro a Simple Storage Service (Amazon S3) utilizando la consola - Amazon CloudWatch Logs

Exportar datos de registro a Simple Storage Service (Amazon S3) utilizando la consola

En los siguientes ejemplos, utilizará la consola de Amazon CloudWatch para exportar todos los datos de un grupo de registro de Registros de Amazon CloudWatch denominado my-log-group a un bucket de Amazon S3 denominado my-exported-logs.

Se admite la exportación de datos de registro a buckets de S3 cifrados por SSE-KMS. No se admite la exportación a buckets que están cifrados con DSSE-KMS.

Los detalles de cómo configurar la exportación dependen de si el bucket de Amazon S3 al que desea exportar está en la misma cuenta que los registros que se están exportando o en una diferente.

Exportación en la misma cuenta

Si el bucket de Amazon S3 está en la misma cuenta que los registros que se exportan, siga las instrucciones de esta sección.

Paso 1: Crear un bucket de Amazon S3

Recomendamos que utilice un bucket creado específicamente para Registros de CloudWatch. Sin embargo, si desea utilizar un bucket existente, puede pasar al paso 2.

nota

El bucket de Amazon S3 debe residir en la misma región que los datos de registro para exportar. CloudWatch Logs no admite la exportación de datos a buckets de Amazon S3 en una región distinta.

Para crear un bucket de Amazon S3
  1. Abra la consola de Amazon S3 en https://console.aws.amazon.com/s3.

  2. De ser necesario, cambie la región. En la barra de navegación, seleccione la región donde reside su Registros de CloudWatch.

  3. Seleccione la opción Crear bucket.

  4. En Bucket Name (Nombre del bucket), escriba un nombre para el bucket.

  5. En Region (Región), seleccione la región en la que residen los datos de Registros de CloudWatch.

  6. Seleccione Crear.

Paso 2: Configurar los permisos de acceso

Para crear la tarea de exportación del paso 5, tendrá que iniciar sesión con el rol de IAM AmazonS3ReadOnlyAccess y con los siguientes permisos:

  • logs:CreateExportTask

  • logs:CancelExportTask

  • logs:DescribeExportTasks

  • logs:DescribeLogStreams

  • logs:DescribeLogGroups

Para dar acceso, agregue permisos a los usuarios, grupos o roles:

Paso 3: configurar permisos en un bucket de Simple Storage Service (Amazon S3)

De forma predeterminada, todos los buckets y objetos de Amazon S3 son privados. Solo el propietario del recurso, la Cuenta de AWS que creó el bucket, puede tener acceso a ese bucket y a los objetos que contiene. No obstante, el propietario del recurso puede elegir conceder permisos de acceso a otros recursos y usuarios escribiendo una política de acceso.

Cuando establezca la política, le recomendamos que incluya una cadena generada aleatoriamente como prefijo para el bucket, de manera que solo se exporten al bucket los flujos de registros deseados.

importante

Para que las exportaciones a los buckets de Amazon S3 sean más seguras, ahora debe especificar la lista de cuentas de origen que pueden exportar datos de registro a su bucket de S3.

En el siguiente ejemplo, la lista de ID de cuenta de la clave aws:SourceAccount serían las cuentas desde las que un usuario puede exportar los datos de registro a su bucket de Amazon S3. La clave aws:SourceArn sería el recurso para el que se está tomando la acción. Puede restringirla a un grupo de registro específico o utilizar un comodín como se muestra en este ejemplo.

Le recomendamos que también incluya el ID de cuenta de la cuenta en la que se creó el bucket de S3 para permitir la exportación dentro de la misma cuenta.

Para configurar permisos en un bucket de Amazon S3
  1. En la consola de Amazon S3, elija el bucket que creó en el paso 1.

  2. Elija Permissions (Permisos), Bucket policy (Política de bucket).

  3. En el Bucket Policy Editor (Editor de políticas de bucket), agregue la siguiente política. Cambie my-exported-logs por el nombre de su bucket de S3. Asegúrese de especificar el punto de conexión de la región correcta, como us-west-1, en Entidad principal.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "AllowCloudWatchLogsGetBucketAcl", "Action": "s3:GetBucketAcl", "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Principal": { "Service": "logs.us-east-1.amazonaws.com" }, "Condition": { "StringEquals": { "aws:SourceAccount": [ "123456789012", "111122223333" ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:us-east-1:123456789012:log-group:*", "arn:aws:logs:us-east-1:111122223333:log-group:*" ] } } }, { "Sid": "AllowCloudWatchLogsPutObject", "Action": "s3:PutObject", "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Principal": { "Service": "logs.us-east-1.amazonaws.com" }, "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": [ "123456789012", "111122223333" ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:us-east-1:123456789012:log-group:*", "arn:aws:logs:us-east-1:111122223333:log-group:*" ] } } } ] }
  4. Elija Save para definir la política que acaba de añadir como política de acceso en su bucket. Esta política permite a CloudWatch Logs exportar datos de registro a su bucket de Amazon S3. El propietario del bucket tiene permisos completos en todos los objetos exportados.

    aviso

    Si el bucket existente ya tiene una o varias políticas asociadas, agregue las instrucciones para que Registros de CloudWatch tenga acceso a dicha política o políticas. Le recomendamos que evalúe el conjunto de permisos resultante para asegurarse de que sean adecuados para los usuarios que van a tener acceso al bucket.

(Opcional) Paso 4: exportación a un bucket cifrado con SSE-KMS

Este paso solo es necesario si va a exportar a un bucket de Amazon S3 que utilice el cifrado del servidor con AWS KMS keys. Este cifrado se conoce como SSE-KMS.

Para exportar a un bucket cifrado con SSE-KMS
  1. Abra la consola de AWS KMS en https://console.aws.amazon.com/kms.

  2. Para cambiar la Región de AWS, utilice el Selector de regiones ubicado en la esquina superior derecha de la página.

  3. En la barra de navegación izquierda, elija Customer managed keys (Claves administradas por el cliente).

    Elija Create Key (Crear clave).

  4. En Key type (Tipo de clave), elija Symmetric (Simétrica).

  5. En Key usage (Uso de clave), elija Encrypt and decrypt (Cifrar y descifrar) y, a continuación, elija Next (Siguiente).

  6. En Add labels (Agregar etiquetas), introduzca un alias para la clave y, si lo desea, una descripción o etiquetas. A continuación, elija Siguiente.

  7. En Key administrators (Administradores de claves), seleccione quién puede administrar esta clave y, a continuación, elija Next (Siguiente).

  8. En Define key usage permissions (Definir permisos de uso de claves), no realice cambios y seleccione Next (Siguiente).

  9. Revise la configuración y seleccione Finish (Finalizar).

  10. En la página Customer managed keys (Claves administradas por el cliente), elija el nombre de la clave que acaba de crear.

  11. Elija la sección Key policy (Política de claves) y luego Switch to policy view (Cambiar a la vista de política).

  12. En la sección Key policy (Política de claves), elija Edit (Editar).

  13. Agregue la siguiente declaración a la lista de declaraciones de políticas de claves. Cuando lo haga, sustituya Region (Región) por la región de sus registros y account-ARN (ARN de cuenta) por el ARN de la cuenta que posee la clave de KMS.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "Allow CWL Service Principal usage", "Effect": "Allow", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }, { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "account-ARN" }, "Action": [ "kms:GetKeyPolicy*", "kms:PutKeyPolicy*", "kms:DescribeKey*", "kms:CreateAlias*", "kms:ScheduleKeyDeletion*", "kms:Decrypt" ], "Resource": "*" } ] }
  14. Seleccione Save changes (Guardar cambios).

  15. Abra la consola de Amazon S3 en https://console.aws.amazon.com/s3.

  16. Encuentre el bucket que creó en Paso 1: crear un bucket de S3 y elija el nombre de bucket.

  17. Elija la pestaña Propiedades. Luego, en Default Encryption (Cifrado predeterminado), elija Edit (Editar).

  18. En Server-side Encryption (Cifrado del servidor), elija Enable (Habilitar).

  19. En Encryption type (Tipo de cifrado), elija AWS Key Management Service key (SSE-KMS) (Clave de KMS [SSE-KMS]).

  20. Seleccione Elegir entre sus claves de AWS KMS y busque la clave que creó.

  21. En Bucket key (Clave de bucket), seleccione Enable (Habilitar).

  22. Seleccione Save changes (Guardar cambios).

Paso 5: crear una tarea de exportación

En este paso se crea la tarea de exportación para exportar los registros desde un grupo de registro.

Para exportar datos a Amazon S3 mediante la consola de CloudWatch
  1. Inicie sesión con los permisos suficientes, tal y como se indica en Paso 2: Configurar los permisos de acceso.

  2. Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/.

  3. En el panel de navegación, seleccione Grupos de registro.

  4. En la pantalla Log Groups (Grupos de registro) elija el nombre del grupo de registro.

  5. En Actions (Acciones), seleccione Export to Amazon S3 (Exportar datos a Amazon S3).

  6. En la pantalla Export data to Amazon S3 (Exportar datos a Amazon S3) , debajo de Define data export (Definir datos para exportar), defina el intervalo de tiempo para los datos a exportar mediante From (Desde) y To (Hasta).

  7. Si su grupo de registro tiene varios flujos de registro, puede proporcionar un prefijo de flujo de registro para limitar los datos del grupo de registro a un flujo específico. Elija Advanced (Avanzadas) y, a continuación, en Stream prefix (Prefijo del flujo), escriba el prefijo del flujo de registros.

  8. En Choose S3 bucket (Elegir bucket de S3), elija la cuenta asociada con el bucket de S3.

  9. En S3 bucket name, elija un bucket de &S3;.

  10. En Export data to (Prefijo del bucket de S3), escriba la cadena generada aleatoriamente que especificó en la política del bucket.

  11. Elija Export (Exportar) para exportar los datos de registro a Amazon S3.

  12. Para ver el estado de los datos de registro exportados a Amazon S3, elija Actions (Acciones) y luego View all exports to Amazon S3 (Ver todas las exportaciones a Amazon S3).

Exportación entre cuentas

Si el bucket de Amazon S3 está en una cuenta diferente a la de los registros que se exportan, siga las instrucciones de esta sección.

Paso 1: Crear un bucket de Amazon S3

Recomendamos que utilice un bucket creado específicamente para Registros de CloudWatch. Sin embargo, si desea utilizar un bucket existente, puede pasar al paso 2.

nota

El bucket de Amazon S3 debe residir en la misma región que los datos de registro para exportar. CloudWatch Logs no admite la exportación de datos a buckets de Amazon S3 en una región distinta.

Para crear un bucket de Amazon S3
  1. Abra la consola de Amazon S3 en https://console.aws.amazon.com/s3.

  2. De ser necesario, cambie la región. En la barra de navegación, seleccione la región donde reside su Registros de CloudWatch.

  3. Seleccione la opción Crear bucket.

  4. En Bucket Name (Nombre del bucket), escriba un nombre para el bucket.

  5. En Region (Región), seleccione la región en la que residen los datos de Registros de CloudWatch.

  6. Seleccione Crear.

Paso 2: Configurar los permisos de acceso

En primer lugar, debe crear una nueva política de IAM para permitir que Registros de CloudWatch tenga la acción s3:PutObject para el bucket de Amazon S3 de destino en la cuenta de destino.

Las acciones adicionales incluidas en la política dependen de si el bucket de destino utiliza el cifrado AWS KMS o si tiene las ACL habilitadas mediante la configuración de propiedad de objetos de S3.

  • Si utiliza el cifrado de KMS, añada las acciones GenerateDataKey y Decrypt para el recurso clave

  • Si las ACL están habilitadas en el bucket, añada la acción s3:PutObjectAcl para el recurso del bucket

Para crear una política de IAM a fin de exportar registros a un bucket de Amazon S3
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación de la izquierda, elija Políticas.

  3. Seleccione Crear política.

  4. En la sección Editor de políticas, elija JSON.

  5. Si el bucket de destino no utiliza el cifrado de AWS KMS, pegue la siguiente política en el editor.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-exported-logs/*" } ] }

    Si el bucket de destino utiliza el cifrado de AWS KMS, pegue la siguiente política en el editor.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ] }
  6. Elija Siguiente.

  7. Escriba un nombre para la política. Utilizará este nombre para adjuntar la política a su rol de IAM.

  8. Elija Crear política para guardar la nueva política.

Para crear la tarea de exportación del paso 5, tendrá que iniciar sesión con el rol de IAM AmazonS3ReadOnlyAccess. También debe iniciar sesión con la política de IAM que acaba de crear y los siguientes permisos:

  • logs:CreateExportTask

  • logs:CancelExportTask

  • logs:DescribeExportTasks

  • logs:DescribeLogStreams

  • logs:DescribeLogGroups

Para dar acceso, agregue permisos a los usuarios, grupos o roles:

Paso 3: definir permisos en un bucket de S3

De forma predeterminada, los buckets y los objetos de S3 son privados. Solo el propietario del recurso, la Cuenta de AWS que creó el bucket, puede tener acceso a ese bucket y a los objetos que contiene. No obstante, el propietario del recurso puede elegir conceder permisos de acceso a otros recursos y usuarios escribiendo una política de acceso.

Cuando establezca la política, le recomendamos que incluya una cadena generada aleatoriamente como prefijo para el bucket, de manera que solo se exporten al bucket los flujos de registros deseados.

importante

Para que las exportaciones a los buckets de S3 sean más seguras, ahora debe especificar la lista de cuentas de origen que pueden exportar datos de registro a su bucket de S3.

En el siguiente ejemplo, la lista de ID de cuenta de la clave aws:SourceAccount serían las cuentas desde las que un usuario puede exportar los datos de registro a su bucket de S3. La clave aws:SourceArn sería el recurso para el que se está tomando la acción. Puede restringirla a un grupo de registro específico o utilizar un comodín como se muestra en este ejemplo.

Le recomendamos que también incluya el ID de cuenta de la cuenta en la que se creó el bucket de S3 para permitir la exportación dentro de la misma cuenta.

Para configurar permisos en un bucket de Amazon S3
  1. En la consola de Amazon S3, elija el bucket que creó en el paso 1.

  2. Elija Permissions (Permisos), Bucket policy (Política de bucket).

  3. En el Bucket Policy Editor (Editor de políticas de bucket), agregue la siguiente política. Cambie my-exported-logs por el nombre de su bucket de S3. Asegúrese de especificar el punto de conexión de la región correcta, como us-west-1, en Entidad principal.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Action": "s3:GetBucketAcl", "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Principal": { "Service": "logs.us-east-1.amazonaws.com" }, "Condition": { "StringEquals": { "aws:SourceAccount": [ "123456789012", "111122223333" ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:us-east-1:123456789012:log-group:*", "arn:aws:logs:us-east-1:111122223333:log-group:*" ] } } }, { "Action": "s3:PutObject", "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Principal": { "Service": "logs.us-east-1.amazonaws.com" }, "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": [ "123456789012", "111122223333" ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:us-east-1:123456789012:log-group:*", "arn:aws:logs:us-east-1:111122223333:log-group:*" ] } } }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/role_name" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }
  4. Elija Save para definir la política que acaba de añadir como política de acceso en su bucket. Esta política permite a Registros de CloudWatch exportar datos de registro a su bucket de S3. El propietario del bucket tiene permisos completos en todos los objetos exportados.

    aviso

    Si el bucket existente ya tiene una o varias políticas asociadas, agregue las instrucciones para que Registros de CloudWatch tenga acceso a dicha política o políticas. Le recomendamos que evalúe el conjunto de permisos resultante para asegurarse de que sean adecuados para los usuarios que van a tener acceso al bucket.

(Opcional) Paso 4: exportación a un bucket cifrado con SSE-KMS

Este paso solo es necesario si va a exportar a un bucket de S3 que utilice el cifrado del servidor con AWS KMS keys. Este cifrado se conoce como SSE-KMS.

Para exportar a un bucket cifrado con SSE-KMS
  1. Abra la consola de AWS KMS en https://console.aws.amazon.com/kms.

  2. Para cambiar la Región de AWS, utilice el Selector de regiones ubicado en la esquina superior derecha de la página.

  3. En la barra de navegación izquierda, elija Customer managed keys (Claves administradas por el cliente).

    Elija Create Key (Crear clave).

  4. En Key type (Tipo de clave), elija Symmetric (Simétrica).

  5. En Key usage (Uso de clave), elija Encrypt and decrypt (Cifrar y descifrar) y, a continuación, elija Next (Siguiente).

  6. En Add labels (Agregar etiquetas), introduzca un alias para la clave y, si lo desea, una descripción o etiquetas. A continuación, elija Siguiente.

  7. En Key administrators (Administradores de claves), seleccione quién puede administrar esta clave y, a continuación, elija Next (Siguiente).

  8. En Define key usage permissions (Definir permisos de uso de claves), no realice cambios y seleccione Next (Siguiente).

  9. Revise la configuración y seleccione Finish (Finalizar).

  10. En la página Customer managed keys (Claves administradas por el cliente), elija el nombre de la clave que acaba de crear.

  11. Elija la sección Key policy (Política de claves) y luego Switch to policy view (Cambiar a la vista de política).

  12. En la sección Key policy (Política de claves), elija Edit (Editar).

  13. Agregue la siguiente declaración a la lista de declaraciones de políticas de claves. Cuando lo haga, sustituya Region (Región) por la región de sus registros y account-ARN (ARN de cuenta) por el ARN de la cuenta que posee la clave de KMS.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "Allow CWL Service Principal usage", "Effect": "Allow", "Principal": { "Service": "logs.us-east-1.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }, { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "account-ARN" }, "Action": [ "kms:GetKeyPolicy*", "kms:PutKeyPolicy*", "kms:DescribeKey*", "kms:CreateAlias*", "kms:ScheduleKeyDeletion*", "kms:Decrypt" ], "Resource": "*" }, { "Sid": "Enable IAM Role Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/role_name" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id" } ] }
  14. Seleccione Save changes (Guardar cambios).

  15. Abra la consola de Amazon S3 en https://console.aws.amazon.com/s3.

  16. Encuentre el bucket que creó en Paso 1: crear un bucket de S3 y elija el nombre de bucket.

  17. Elija la pestaña Propiedades. Luego, en Default Encryption (Cifrado predeterminado), elija Edit (Editar).

  18. En Server-side Encryption (Cifrado del servidor), elija Enable (Habilitar).

  19. En Encryption type (Tipo de cifrado), elija AWS Key Management Service key (SSE-KMS) (Clave de KMS [SSE-KMS]).

  20. Seleccione Elegir entre sus claves de AWS KMS y busque la clave que creó.

  21. En Bucket key (Clave de bucket), seleccione Enable (Habilitar).

  22. Seleccione Save changes (Guardar cambios).

Paso 5: crear una tarea de exportación

En este paso se crea la tarea de exportación para exportar los registros desde un grupo de registro.

Para exportar datos a Amazon S3 mediante la consola de CloudWatch
  1. Inicie sesión con los permisos suficientes, tal y como se indica en Paso 2: Configurar los permisos de acceso.

  2. Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/.

  3. En el panel de navegación, seleccione Grupos de registro.

  4. En la pantalla Log Groups (Grupos de registro) elija el nombre del grupo de registro.

  5. En Actions (Acciones), seleccione Export to Amazon S3 (Exportar datos a Amazon S3).

  6. En la pantalla Export data to Amazon S3 (Exportar datos a Amazon S3) , debajo de Define data export (Definir datos para exportar), defina el intervalo de tiempo para los datos a exportar mediante From (Desde) y To (Hasta).

  7. Si su grupo de registro tiene varios flujos de registro, puede proporcionar un prefijo de flujo de registro para limitar los datos del grupo de registro a un flujo específico. Elija Advanced (Avanzadas) y, a continuación, en Stream prefix (Prefijo del flujo), escriba el prefijo del flujo de registros.

  8. En Choose S3 bucket (Elegir bucket de S3), elija la cuenta asociada con el bucket de S3.

  9. En S3 bucket name (Nombre del bucket de S3), elija un bucket de S3.

  10. En Export data to (Prefijo del bucket de S3), escriba la cadena generada aleatoriamente que especificó en la política del bucket.

  11. Elija Export (Exportar) para exportar los datos de registro a Amazon S3.

  12. Para ver el estado de los datos de registro exportados a Amazon S3, elija Actions (Acciones) y luego View all exports to Amazon S3 (Ver todas las exportaciones a Amazon S3).