CloudWatch Logs が S3 バケットへのエクスポートに失敗するのはなぜですか?

最終更新日: 2022 年 4 月 8 日

Amazon CloudWatch ログデータを Amazon Simple Storage Service (Amazon S3) バケットにエクスポートしたいと考えています。しかし、エクスポートタスクは失敗しました。CloudWatch Logs が S3 バケットへのエクスポートに失敗するのはなぜですか?

解決方法

作成中に失敗したタスクをトラブルシューティングするには、次の設定を確認します。

  • リージョン – CloudWatch Logs ログストリームと S3 バケットが同じリージョンにあることを確認します。
  • S3 バケットポリシー – デフォルトでは、すべての S3 バケットとオブジェクトはプライベートです。リソース所有者 (バケットを作成した AWS アカウント) のみが、バケットおよびバケットに含まれるオブジェクトにアクセスできます。CloudWatch Logs に S3 バケットへのアクセス許可をバケットポリシーを使用して設定します。
  • S3 バケットプレフィックス – S3 バケットポリシーを設定するときは、ランダムに生成された文字列をバケットのプレフィックスとして含めることがベストプラクティスです。プレフィックスを使用する場合は、エクスポートタスクを作成するときに、S3 バケットプレフィックス設定でランダムに生成された文字列を指定する必要があります。そうしないと、エクスポートタスクの作成は失敗します。
  • AWS Identity and Access Management (IAM) ポリシー – エクスポートタスクを作成した IAM ユーザー (IAM ロール) に、Amazon S3 および CloudWatch Logs へのフルアクセスがあることを確認します。
  • リソースクォータ CloudWatch Logs サービスクォータでは、リージョンあたりのアカウントごとに 1 つの実行中または保留中のエクスポートタスクのみ許可されます。このクォータは変更できません。許可されたクォータ内で操作していることを確認してください。
  • サーバー側の暗号化のタイプ – サポートされているタイプのサーバー側の暗号化を使用していることを確認します。SSE-KMS で暗号化された S3 バケットへのエクスポートはサポートされていません。AES-256 で暗号化された S3 バケットへのエクスポートはサポートされています。

作成後に失敗したタスクをトラブルシューティングするには、[時間範囲] 設定を確認します。大量のデータを含むログストリームをエクスポートし、長い時間範囲を指定すると、エクスポートタスクが失敗することがあります。その場合、短い時間範囲を指定します。

注意: ログをエクスポートできるようになるまでには、最大 12 時間かかる場合があります。エクスポートタスク自体に時間がかかることがあります。リアルタイム処理を行ったり、新しいデータを S3 に継続的にアーカイブしたりするには、サブスクリプションフィルターを使用します。Amazon Kinesis Data Firehose にストリーミングし、Amazon S3 をターゲットとして設定できます。履歴データを S3 にアーカイブするには、データを Amazon S3 にエクスポートします。