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

最終更新日: 2020 年 5 月 26 日

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

解決方法

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

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

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

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