Journaux d'accès avec intégration des tables S3 - Amazon CloudWatch Logs

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Journaux d'accès avec intégration des tables S3

L'intégration de S3 Tables vous CloudWatch permet d'accéder aux données des journaux ingérées à CloudWatch l'aide de moteurs d'analyse tels qu'Amazon Athena, Amazon Redshift et d'outils tiers prenant en charge la connexion à des boutiques compatibles avec Apache Iceberg. Cette intégration vous permet d'effectuer une analyse complète des journaux à l'aide des outils de votre choix et de corréler les données des CloudWatch journaux avec celles qui ne le sont pasCloudWatch.

Comprendre l'intégration des tables S3

Amazon S3 Tables Integration est une solution entièrement gérée qui rend vos journaux de CloudWatch connexion disponibles sous forme de tables Amazon S3 gérées. Grâce à cette intégration, vous bénéficiez d'une plus grande flexibilité quant à la manière dont vous analysez vos journaux, en plus des fonctionnalités CloudWatch des journaux.

L'intégration fonctionne en créant un compartiment de table Amazon S3 géré (aws-cloudwatch) et en associant des sources de journaux spécifiques aux tables Amazon S3 en fonction du nom et du type de source de données (qui peuvent être gérés depuis l'onglet Gestion des CloudWatch journaux > Sources de données de la console Logs). Une fois associées, CloudWatch les données des journaux sont accessibles via les tables Amazon S3 au format Apache Iceberg. Ce format fournit un moyen standardisé aux différents moteurs d'analyse d'interroger les données de manière efficace.

Composants de base

Association de sources de données

Processus consistant à lier des sources de CloudWatch journaux spécifiques à l'intégration des tables S3 en fonction de critères de source et de type de données.

Tables Apache Iceberg

Format de table sous-jacent utilisé par S3 Tables qui fournit un stockage de données structuré et assure la compatibilité avec plusieurs moteurs d'analyse.

Flux de données vers les tables S3

Comprendre comment les données circulent entre les CloudWatch journaux et les tables S3 vous aide à planifier votre intégration et à gérer efficacement les données de vos journaux.

Lorsque vous créez une association, CloudWatch Logs envoie automatiquement les nouveaux événements de journal correspondant au nom et au type de source de données associés à un compartiment de table S3 CloudWatch géré. Vous pouvez trouver ces événements dans l'espace de noms des journaux sous le tableau correspondant à cette source de données. Les processus d'intégration enregistrent uniquement les événements ajoutés après la création de l'association et ne remplacent pas les journaux antérieurs à la création de l'association.

La conservation des données dans le compartiment de table S3 correspond à la politique de rétention définie pour le groupe de journaux. Par exemple, si vous définissez un groupe de journaux pour une durée de conservation d'un jour, CloudWatch Logs supprime les données des CloudWatch journaux et de la table S3 au bout d'un jour. Lorsque vous supprimez un groupe de journaux ou un flux de CloudWatch journaux, Logs supprime également les données du compartiment de table S3.

Quand utiliser l'intégration des tables S3

Envisagez d'utiliser l'intégration des tables S3 pour corréler les données des journaux avec d'autres CloudWatch données externes ou non, ou lorsque vous préférez utiliser d'autres outils d'analyse tels qu'Amazon Athena pour effectuer des analyses CloudWatch sur les données des journaux. Utilisez cette intégration lorsque vous avez besoin de fonctionnalités allant au-delà de ce qui est disponible dans CloudWatch Logs. Cette intégration est particulièrement utile lorsque :

  • Vous devez exécuter des requêtes complexes de type SQL sur de grands volumes de données de journal

  • Vous souhaitez intégrer l'analyse des journaux aux flux de travail et outils d'analyse existants

  • Vous avez besoin de fonctionnalités complètes d'analyse des journaux couvrant plusieurs sources de données

Il n'y a aucun frais de stockage ou de maintenance des tables supplémentaires pour les tables S3 créées grâce à cette intégration, au-delà des tarifs CloudWatch d'ingestion et de stockage existants.

Prérequis

Avant de mettre en œuvre l'intégration, assurez-vous de disposer des éléments suivants :

  • Données CloudWatch des journaux existants

  • Autorisations IAM appropriées pour l'accès multiservice entre les CloudWatch journaux et les tables S3, comme décrit dans la section suivante

Autorisations IAM

Pour intégrer CloudWatch les journaux aux tables S3, vous devez configurer les autorisations IAM pour deux entités distinctes : l'utilisateur ou le rôle qui configure l'intégration et le rôle de service que CloudWatch Logs assume pour écrire des données dans les tables S3.

Pour le rôle ou l'utilisateur qui crée l'intégration

L'utilisateur ou le rôle qui configure l'intégration nécessite les autorisations suivantes :

  • observabilityadmin:CreateS3TableIntegrationpour créer l'intégration et logs:AssociateSourceToS3TableIntegration ajouter des sources

  • s3tables:CreateTableBuckets3tables:PutTableBucketEncryption, et s3tables:PutTableBucketPolicy pour configurer le compartiment de table S3

Pour le rôle de service

Associez la politique IAM suivante au rôle de service IAM que CloudWatch Logs utilise pour écrire des données dans le bucket de table. Cette politique accorde l'autorisation d'écrire dans les tables. Remplacez aws-region123456789012, et log-group-name par votre AWS région, votre identifiant de compte et le nom de votre groupe de journaux.

{ "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" } } } ] }

Associez la politique de confiance suivante au rôle de service IAM que CloudWatch Logs assumera pour écrire les données des journaux dans les tables S3. Vous créez ou sélectionnez ce rôle lors de la configuration de l'intégration. Les conditions limitent le rôle afin que CloudWatch Logs ne puisse l'assumer que pour le compte et le groupe de journaux spécifiés. Remplacez aws-region123456789012, et log-group-name par votre AWS région, votre identifiant de compte et le nom de votre groupe de journaux.

{ "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"] } } } ] }

Politique relative aux clés KMS (pour les données chiffrées)

Si vous utilisez une clé gérée par le client pour chiffrer les données de vos journaux, vous devez accorder au principal de CloudWatch service et au service de maintenance des tables S3 l'accès principal à la clé. Ajoutez les instructions suivantes à votre politique de clés KMS. Remplacez les valeurs de l'espace réservé par votre Compte AWS ID, votre région, l'ID de clé KMS et l'ARN de la table ou du bucket de table S3.

{ "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>/*" } } } ] }

Démarrage

Pour commencer à intégrer les tables S3, vous devez configurer l'intégration entre vos CloudWatch journaux et vos tables S3. Ce processus implique de configurer les associations de sources de données et de configurer les autorisations IAM appropriées.

Pour créer une intégration de tables S3
  1. Ouvrez la console CloudWatch Logs à l'https://console.aws.amazon.com/cloudwatch/adresse ».

  2. Choisissez Paramètres, Global, Créer une intégration de table S3.

  3. Personnalisez la manière dont les journaux seront chiffrés dans les tables S3 et le rôle que CloudWatch les journaux utiliseront pour écrire vos journaux dans les tables S3.

  4. Choisissez Create S3 Table Integration.

Pour associer des sources à une intégration de table S3
  1. Ouvrez la console CloudWatch Logs à l'https://console.aws.amazon.com/cloudwatch/adresse ».

  2. Choisissez Paramètres, Global, Gérer l'intégration des tables S3.

  3. Choisissez Associer une source de données.

  4. Sélectionnez le nom et le type de source de données pour lesquels vous souhaitez activer l'intégration.

  5. Choisissez Associer une source de données.

Pour associer des sources à une intégration de table S3 depuis la page de gestion des journaux
  1. Ouvrez la console CloudWatch Logs à l'https://console.aws.amazon.com/cloudwatch/adresse ».

  2. Choisissez Log Management dans le volet de navigation.

  3. Sélectionnez l'onglet Sources de données.

  4. Choisissez le nom et le type de source de données que vous souhaitez intégrer.

  5. Choisissez Actions relatives à la source de données.

  6. Sélectionnez Associer à l'intégration des tables S3.

  7. Passez en revue les sources de données, puis choisissez Associer une source de données.