Acceda a los registros con la integración de tablas S3 - Amazon CloudWatch Logs

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Acceda a los registros con la integración de tablas S3

La integración de S3 Tables con CloudWatch le permite acceder a los datos de registro ingeridos CloudWatch mediante motores de análisis como Amazon Athena, Amazon Redshift y herramientas de terceros que admiten la conexión a tiendas compatibles con Apache Iceberg. Esta integración le permite realizar un análisis exhaustivo de los registros con las herramientas que prefiera y correlacionar los datos de los registros con los que no son datos. CloudWatch CloudWatch

Comprensión de la integración de tablas de S3

Amazon S3 Tables Integration es una solución totalmente gestionada que permite que los registros de los CloudWatch registros estén disponibles como tablas de Amazon S3 gestionadas. Con esta integración, obtiene una mayor flexibilidad a la hora de analizar sus registros, además de las funciones de CloudWatch Logs.

La integración funciona mediante la creación de un bucket de tablas de Amazon S3 gestionado (aws-cloudwatch) y la asociación de fuentes de registro específicas con tablas de Amazon S3 en función del nombre y el tipo de fuente de datos (que se pueden gestionar desde la pestaña Administración de CloudWatch registros > Fuentes de datos de Logs Console). Una vez asociados, se puede acceder a los datos de CloudWatch Logs a través de las tablas de Amazon S3 que utilizan el formato Apache Iceberg. Este formato proporciona una forma estandarizada para que varios motores de análisis consulten los datos de manera eficiente.

Componentes básicos

Asociación de fuentes de datos

El proceso de vincular fuentes de CloudWatch registros específicas a la integración de S3 Tables en función de la fuente de datos y los criterios de tipo.

Tablas de Apache Iceberg

El formato de tabla subyacente utilizado por S3 Tables, que proporciona un almacenamiento de datos estructurado y permite la compatibilidad con varios motores de análisis.

Flujo de datos a las tablas de S3

Entender cómo fluyen los datos entre CloudWatch los registros y las tablas de S3 le ayuda a planificar la integración y gestionar los datos de registro de forma eficaz.

Al crear una asociación, CloudWatch Logs envía automáticamente los nuevos eventos de registro que coinciden con el nombre y el tipo de la fuente de datos asociada a un depósito de tablas de S3 CloudWatch administrado. Puedes encontrar estos eventos en el espacio de nombres de los registros, en la tabla correspondiente a esa fuente de datos. Los procesos de integración solo registran los eventos que se agregan después de crear la asociación y no rellenan los registros anteriores a la creación de la asociación.

La retención de datos en el depósito de tablas de S3 coincide con la política de retención establecida para el grupo de registros. Por ejemplo, si estableces un grupo de registros con una retención de 1 día, CloudWatch Logs elimina los datos tanto de los CloudWatch registros como de la tabla de S3 al cabo de un día. Al eliminar un grupo de registros o un flujo de CloudWatch registros, Logs también elimina los datos del depósito de tablas de S3.

Cuándo usar la integración de tablas de S3

Considere la posibilidad de utilizar la integración de S3 Tables para correlacionar los datos de registro con otros datos externos o que no sean CloudWatch datos o cuando prefiera utilizar otras herramientas de análisis, como Amazon Athena, para realizar análisis CloudWatch de los datos de Logs. Utilice esta integración cuando necesite funciones que vayan más allá de las disponibles en CloudWatch Logs. Esta integración es especialmente valiosa cuando:

  • Necesita ejecutar consultas complejas tipo SQL en grandes volúmenes de datos de registro

  • Desea integrar el análisis de registros con los flujos de trabajo y las herramientas de análisis existentes

  • Necesita capacidades integrales de análisis de registros que abarquen múltiples fuentes de datos

Las tablas de S3 creadas mediante esta integración no conllevan cargos adicionales de almacenamiento o mantenimiento de tablas, aparte de los precios actuales de CloudWatch ingesta y almacenamiento.

Requisitos previos

Antes de implementar la integración, asegúrese de disponer de lo siguiente:

  • Datos CloudWatch de registros existentes

  • Los permisos de IAM adecuados para el acceso entre servicios entre CloudWatch registros y tablas de S3, tal y como se describe en la siguiente sección

Permisos de IAM

Para integrar CloudWatch los registros con las tablas de S3, debe configurar los permisos de IAM para dos entidades distintas: el usuario o la función que configura la integración y la función de servicio que CloudWatch Logs asume al escribir los datos en las tablas de S3.

Para el rol o el usuario que crea la integración

El usuario o rol que configura la integración requiere los siguientes permisos:

  • observabilityadmin:CreateS3TableIntegrationpara crear la integración y logs:AssociateSourceToS3TableIntegration añadir fuentes

  • s3tables:CreateTableBuckets3tables:PutTableBucketEncryption, y s3tables:PutTableBucketPolicy para configurar el bucket de tablas de S3

Para el rol de servicio

Adjunte la siguiente política de IAM a la función de servicio de IAM que CloudWatch Logs utiliza para escribir datos en el depósito de la tabla. Esta política otorga permiso para escribir en las tablas. Sustituya aws-region y log-group-name por su AWS región, ID de cuenta y nombre de grupo de registro. 123456789012

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:integrateWithS3Table" ], "Resource": ["arn:aws:logs:aws-region:123456789012:log-group:log-group-name"], "Condition": { "StringEquals": { "aws:ResourceAccount": "123456789012" } } } ] }

Adjunte la siguiente política de confianza a la función de servicio de IAM que asumirá CloudWatch Logs al escribir los datos de registro en las tablas de S3. Este rol se crea o selecciona durante la configuración de la integración. Las condiciones restringen la función, por lo que CloudWatch Logs solo puede asumirla para la cuenta y el grupo de registros especificados. Sustituya aws-region y log-group-name por su AWS región, ID de cuenta y nombre del grupo de registros. 123456789012

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:aws-region:123456789012:log-group:log-group-name"] } } } ] }

Política de claves de KMS (para datos cifrados)

Si utiliza una clave gestionada por el cliente para cifrar los datos de registro, debe conceder acceso a la clave al director del CloudWatch servicio y al principal del servicio de mantenimiento de S3 Tables. Añada las siguientes declaraciones a su política de claves de KMS. Sustituya los valores de los marcadores de posición por su Cuenta de AWS ID, región, ID de clave de KMS y ARN de tabla S3 o bucket de tabla.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnableSystemTablesKeyUsage", "Effect": "Allow", "Principal": { "Service": "systemtables.cloudwatch.amazonaws.com" }, "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:aws-region:123456789012:key/key-id", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } } }, { "Sid": "EnableKeyUsage", "Effect": "Allow", "Principal": { "Service": "maintenance.s3tables.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:aws-region:123456789012:key/key-id", "Condition": { "StringLike": { "kms:EncryptionContext:aws:s3:arn": "<table-or-table-bucket-arn>/*" } } } ] }

Introducción

Para empezar a integrar las tablas de S3, debe configurar la integración entre sus CloudWatch registros y las tablas de S3. Este proceso implica configurar las asociaciones de fuentes de datos y configurar los permisos de IAM adecuados.

Para crear una integración de tablas de S3
  1. Abra la consola CloudWatch de Logs en https://console.aws.amazon.com/cloudwatch/».

  2. Elija Configuración, Global, Crear integración de tablas S3.

  3. Personalice la forma en que se cifrarán los registros en las tablas de S3 y la función que CloudWatch los registros utilizarán para escribir los registros en las tablas de S3.

  4. Elija Crear integración de tablas de S3.

Para asociar fuentes a una integración de tablas de S3
  1. Abra la consola CloudWatch de registros en https://console.aws.amazon.com/cloudwatch/».

  2. Seleccione Configuración, Global y Gestione la integración de tablas de S3.

  3. Elija Asociar fuente de datos.

  4. Seleccione el nombre y el tipo de fuente de datos para los que desee habilitar la integración.

  5. Elija Asociar fuente de datos.

Para asociar fuentes a una integración de tablas de S3 desde la página de administración de registros
  1. Abra la consola CloudWatch de registros en https://console.aws.amazon.com/cloudwatch/».

  2. Seleccione Administración de registros en el panel de navegación.

  3. Seleccione la pestaña Fuentes de datos.

  4. Elija el nombre y el tipo de fuente de datos que desee integrar.

  5. Elija las acciones de la fuente de datos.

  6. Seleccione Asociar con la integración de tablas de S3.

  7. Revise las fuentes de datos y, a continuación, elija Asociar fuente de datos.