View a markdown version of this page

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 las tiendas de Apache. Iceberg-compatible Esta integración le permite realizar un análisis exhaustivo de los registros con las herramientas que prefiera y correlacionar los datos de los CloudWatch registros con los que no son datos. 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. Esta función está disponible sin coste adicional.

Componentes básicos

Tablas de Apache Iceberg

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

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.

Flujo de datos a tablas de S3

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

Al crear una asociación, CloudWatch Logs envía automáticamente nuevos eventos de registro que coinciden con el nombre y el tipo de la fuente de datos asociada a un depósito de tabla de CloudWatch-managed S3. Estos eventos aparecen 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 recibidos una vez creada la asociación. Los datos de registro existentes no se rellenan. Al crear una integración de tablas de S3, si deja seleccionada la casilla de verificación Habilitar todos los tipos y fuentes de registro disponibles en la tabla de S3, todas las fuentes de datos de su cuenta se asocian automáticamente y se envían a las tablas de S3 de forma predeterminada, incluidas las fuentes de datos que se agreguen en el futuro. Para enviar solo fuentes de datos específicas a las tablas de S3, desactive esta casilla de verificación durante la creación de la integración y, a continuación, asocie individualmente las fuentes de datos que desee incluir.

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 SQL-like consultas complejas 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. Si desea que todas las fuentes de datos se asocien automáticamente a la integración, deje seleccionada la casilla Habilitar que todos los tipos y fuentes de registro estén disponibles en la tabla de S3 (está seleccionada de forma predeterminada). Si desea asociar solo fuentes de datos específicas, desactive esta casilla de verificación.

  5. Seleccione Crear integración de tablas S3.

nota

Si seleccionó Habilitar todas las fuentes y tipos de registro para que estén disponibles en la tabla S3 durante la creación, todas las fuentes de datos se asociarán automáticamente, incluidas las que se agreguen en el futuro. Puedes detenerte aquí. Los siguientes pasos solo son necesarios si ha desactivado la casilla de verificación y desea asociar fuentes de datos específicas.

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.

Antes de poder utilizar los datos, debe realizar los siguientes 3 pasos:

  1. Integración de las tablas de Amazon S3 con los servicios de AWS análisis: uso de la consola de Amazon S3

  2. Configurar los permisos de Lake Formation

  3. Conéctese con las herramientas de análisis

Integración de las tablas de Amazon S3 con AWS servicios de análisis: uso de la consola Amazon S3 (Link)

Para habilitar la integración de las tablas S3 mediante la consola S3
  1. Abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En el panel de navegación izquierdo, elija Buckets de tablas.

  3. Selecciona Activar la integración en la parte superior.

  4. La primera vez que integra grupos de tablas en una región, Amazon S3 crea un nuevo rol de servicio de IAM en su nombre. Esta función permite a Lake Formation acceder a todos los grupos de tablas de tu cuenta y federar el acceso a tus tablas en AWS Glue Data Catalog.

Configurar los permisos de Lake Formation

Si bien CloudWatch Logs tiene permiso para escribir en la tabla (configurado en los pasos anteriores), los usuarios y los roles de análisis no tienen permiso automáticamente para leer los datos. Debe conceder el acceso de forma explícita mediante AWS Lake Formation. Debe hacer esto para cada director de IAM al que desee dar acceso a la tabla.

Para conceder acceso a las consultas a los usuarios o roles

Debe conceder los permisos SELECT y DESCRIBE a los principales de IAM (usuarios o roles) que ejecutarán las consultas en Athena o Redshift.

  1. Abre la consola de AWS Lake Formation.

  2. En el panel de navegación, en Permisos, seleccione Permisos de lago de datos.

  3. Elija Conceder.

  4. Responsables: seleccione los usuarios o las funciones de IAM a las que es necesario acceder (p. ej., sus analistas de datos o la función de administrador que utiliza actualmente).

  5. LF-Tags o recursos del catálogo: seleccione los recursos del catálogo de datos con nombre asignado.

  6. Bases de datos y tablas:

    • Seleccione el depósito de tablas de S3 creado por la CloudWatch integración (aws-cloudwatch).

    • Seleccione la tabla específica asociada a su fuente de datos (opcional).

  7. Permisos de tabla: seleccione Seleccionar y describir.

  8. Elija Conceder.

nota

Si encuentra errores de «Acceso denegado» al consultar los registros en Athena, asegúrese de que el usuario que ejecuta la consulta tenga los permisos de IAM adecuados para Athena y los permisos de Lake Formation definidos anteriormente.

Obtenga más información sobre los permisos de Lake Formation en https://docs.aws.amazon.com/lake-formation/latest/dg/granting-catalog-permissions.html.

Conéctese con las herramientas de análisis

Una vez concedidos los permisos, puede configurar su servicio de análisis preferido para consultar las tablas de S3. Las tablas S3 utilizan el formato Apache Iceberg, que Amazon Athena, Amazon Redshift y Amazon EMR admiten de forma nativa.

Para consultar datos de registro en Amazon Athena

Amazon Athena interactúa con S3 Tables a través del catálogo de Amazon S3 Tables.

Para configurar Athena para que consulte sus datos de registro
  1. Abra la consola de Amazon Athena en. https://console.aws.amazon.com/athena/

  2. En el editor de consultas, seleccione el catálogo de Amazon S3 Tables en el menú desplegable de fuentes de datos.

  3. Si no ve el catálogo, asegúrese de haber completado los pasos de permiso de Lake Formation anteriores para su función de usuario específica.

  4. Una vez seleccionado el catálogo, las tablas de registro aparecerán en la lista de bases de datos. Ahora puede ejecutar consultas SQL estándar con sus datos de registro.

Ejemplo de consulta: SELECT * FROM "amazon_vpc__flow" LIMIT 100;

Obtenga más información sobre cómo conectar los servicios de análisis con las tablas de S3 en https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html.