翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
S3 Tables 統合によるログへのアクセス
S3 Tables Integration with CloudWatch を使用すると、Amazon Athena、Amazon Redshift、Apache Iceberg 互換ストアへの接続をサポートするサードパーティーツールなどの分析エンジンを使用して、CloudWatch に取り込まれたログデータにアクセスできます。この統合により、任意のツールを使用して包括的なログ分析を実行し、CloudWatch Logs のデータを CloudWatch 以外のデータと関連付けることができます。
S3 テーブルの統合について
Amazon S3 Tables Integration は、CloudWatch Logs のログをマネージド Amazon S3 テーブルとして利用できるようにするフルマネージドソリューションです。この統合により、CloudWatch Logs の機能に加えて、ログの分析方法の柔軟性が向上します。
統合は、マネージド Amazon S3 テーブルバケット (aws-cloudwatch) を作成し、データソース名とタイプに基づいて特定のログソースを Amazon S3 テーブルに関連付けることで機能します (CloudWatch Logs コンソールのログ管理 > データソースタブから管理できます)。関連付けられると、CloudWatch Logs データは Apache Iceberg 形式を使用して Amazon S3 Tables からアクセスできるようになります。この形式は、さまざまな分析エンジンがデータを効率的にクエリするための標準化された方法を提供します。
コアコンポーネント
- データソースの関連付け
-
データソースとタイプ基準に基づいて、特定の CloudWatch Logs ソースを S3 Tables 統合にリンクするプロセス。
- Apache Iceberg テーブル
-
構造化データストレージを提供し、複数の分析エンジンとの互換性を可能にする S3 Tables で使用される基盤となるテーブル形式。
S3 テーブルへのデータフロー
CloudWatch Logs と S3 Tables 間のデータフローを理解すると、統合を計画し、ログデータを効果的に管理できます。
関連付けを作成すると、CloudWatch Logs は、関連付けられたデータソース名とタイプに一致する新しいログイベントを CloudWatch マネージド S3 テーブルバケットに自動的に送信します。これらのイベントは、そのデータソースの対応するテーブルのログ名前空間にあります。統合は、関連付けの作成後に追加されたイベントのみをログに記録し、関連付けの作成前に からログをバックフィルしません。
S3 テーブルバケットのデータ保持は、ロググループの保持ポリシーセットと一致します。たとえば、ロググループを 1 日間の保持に設定すると、CloudWatch Logs は 1 日後に CloudWatch Logs と S3 Table の両方からデータを削除します。ロググループまたはログストリームを削除すると、CloudWatch Logs は S3 テーブルバケットからデータも削除します。
S3 テーブル統合を使用するタイミング
S3 Tables 統合を使用して、ログデータを他の外部データまたは CloudWatch 以外のデータと関連付けたり、Amazon Athena などの他の分析ツールを使用して CloudWatch Logs データに対して分析を実行したりすることを検討してください。CloudWatch Logs で利用できる機能を超える機能が必要な場合は、この統合を使用します。この統合は、次の場合に特に役立ちます。
-
大量のログデータに対して複雑な SQL のようなクエリを実行する必要があります
-
ログ分析を既存の分析ワークフローやツールと統合したい
-
複数のデータソースにまたがる包括的なログ分析機能が必要である
この統合によって作成された S3 テーブルには、既存の CloudWatch の取り込みとストレージ料金以外に、追加のストレージやテーブルのメンテナンス料金はかかりません。
前提条件
統合を実装する前に、以下があることを確認してください。
-
既存の CloudWatch Logs データ
-
次のセクションで説明するように、CloudWatch Logs と S3 Tables 間のクロスサービスアクセスのための適切な IAM アクセス許可
IAM 許可
CloudWatch Logs を S3 Tables と統合するには、統合を設定するユーザーまたはロールと、CloudWatch Logs が S3 Tables にデータを書き込むために引き受けるサービスロールの 2 つのエンティティに IAM アクセス許可を設定する必要があります。
統合を作成するロールまたはユーザーの場合
統合を設定するユーザーまたはロールには、次のアクセス許可が必要です。
-
observabilityadmin:CreateS3TableIntegration統合を作成しlogs:AssociateSourceToS3TableIntegration、ソースを追加するには -
s3tables:CreateTableBucket、s3tables:PutTableBucketEncryption、およびs3tables:PutTableBucketPolicyを使用して S3 テーブルバケットを設定する
サービスロールの場合
CloudWatch Logs がテーブルバケットへのデータの書き込みに使用する IAM サービスロールに、次の IAM ポリシーをアタッチします。このポリシーは、テーブルに書き込むアクセス許可を付与します。aws-region、123456789012、log-group-name を AWS リージョン、アカウント ID、ロググループ名に置き換えます。
{ "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" } } } ] }
CloudWatch Logs が S3 Tables にログデータを書き込むために引き受ける IAM サービスロールに、次の信頼ポリシーをアタッチします。このロールは、統合のセットアップ中に作成または選択します。条件によってロールが制限されるため、CloudWatch Logs は指定されたアカウントとロググループに対してのみロールを引き受けることができます。aws-region、123456789012、log-group-name を AWS リージョン、アカウント ID、ロググループ名に置き換えます。
{ "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"] } } } ] }
KMS キーポリシー (暗号化されたデータ用)
カスタマーマネージドキーを使用してログデータを暗号化する場合は、CloudWatch サービスプリンシパルと S3 Tables メンテナンスサービスプリンシパルにキーへのアクセスを許可する必要があります。KMS キーポリシーに次のステートメントを追加します。プレースホルダー値を AWS アカウント ID、リージョン、KMS キー ID、S3 テーブルまたはテーブルバケット ARN に置き換えます。
{ "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>/*" } } } ] }
開始方法
S3 Tables Integration を開始するには、CloudWatch Logs と S3 Tables の統合を設定する必要があります。このプロセスでは、データソースの関連付けを設定し、適切な IAM アクセス許可を設定します。
S3 Tables 統合を作成するには
-
https://console.aws.amazon.com/cloudwatch/
" で CloudWatch Logs コンソールを開きます。 -
設定、グローバル、S3 テーブル統合の作成を選択します。
-
S3 Tables でログを暗号化する方法と、CloudWatch Logs がログを S3 Tables に書き込むために使用するロールをカスタマイズします。
-
S3 テーブル統合の作成 を選択します。
ソースを S3 テーブル統合に関連付けるには
-
https://console.aws.amazon.com/cloudwatch/
" で CloudWatch Logs コンソールを開きます。 -
設定、グローバル、S3 テーブル統合の管理を選択します。
-
データソースの関連付けを選択します。
-
統合を有効にするデータソース名とデータソースタイプを選択します。
-
データソースの関連付けを選択します。
ログ管理ページからソースを S3 テーブル統合に関連付けるには
-
https://console.aws.amazon.com/cloudwatch/
" で CloudWatch Logs コンソールを開きます。 -
ナビゲーションペインでログ管理を選択します。
-
データソースタブを選択します。
-
統合するデータソース名とデータソースタイプを選択します。
-
データソースアクションを選択します。
-
S3 テーブル統合に関連付けるを選択します。
-
データソースを確認し、データソースの関連付けを選択します。