スキップしてコンテンツを表示

S3 バケットへのエクスポートに失敗する CloudWatch ログをトラブルシューティングする方法を教えてください。

所要時間2分
0

Amazon Simple Storage Service (Amazon S3) バケットへのエクスポートに失敗する Amazon CloudWatch ログをトラブルシューティングしたいと考えています。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI のエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

エクスポートタスクの作成時に失敗するログか、エクスポートタスクを作成した後に失敗するログかに応じてトラブルシューティングを行います。

タスク作成中にログがエクスポートされない

作成時に失敗するタスクをトラブルシューティングするには、次の操作を行います。

  • CloudWatch ログストリームと Amazon S3 バケットが同じ AWS リージョンにあることを確認します。
  • S3 バケットの所有者でない場合は、バケットにアクセスする権限があるかどうかを確認してください。リソース所有者のみが、バケットおよびバケットに含まれるオブジェクトにアクセスできます。詳細については、「Set permissions on an Amazon S3 bucket (console)」(Amazon S3 バケットに対するアクセス許可の設定 (コンソール)) を参照してください。
  • バケットポリシーを設定するときは、ランダムに生成された文字列をバケットのプレフィックスとして含めることがベストプラクティスです。プレフィックスを使用する場合は、エクスポートタスクを作成するときに、バケットプレフィックス設定でランダムに生成された文字列を指定する必要があります。そうしないと、エクスポートタスクの作成は失敗します。
  • エクスポートタスクを作成した AWS Identity and Access Management (IAM) ユーザーまたはロールが、Amazon S3 および CloudWatch Logs にアクセスできることを確認します。詳細については、「Set up access permissions (console)」(アクセス許可を設定する (コンソール)) を参照してください。
  • [AWS CloudTrail ログで CreateExportTask イベントを確認](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events-console.html)して、タスクが失敗する原因となったエラーを特定してください。
  • CloudWatch Logs のサービスクォータを超えていないか確認してください。最大数は、各リージョンの AWS アカウントごとに実行中または保留中のエクスポートタスクが 1 つです。このクォータは変更できません。
  • サポートされているサーバー側の暗号化をバケットに使用しているかどうかを確認してください。Amazon S3 マネージドキー (SSE-S3) または AWS Key Management Service (AWS KMS) キー (SSE-KMS) のいずれかを使用できます。

タスク作成後にログがエクスポートされない

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

時間範囲設定のステータスを確認するには、次の AWS CLI コマンド describe-export-tasks を実行します。

aws logs describe-export-tasks --task-id example-task-id

注: example-task-id を自分のタスク ID に置き換えてください。

時間範囲を短縮するには、次の AWS CLI コマンド create-export-task を実行し、--from 値と --to 値を変更します。

aws logs create-export-task --task-name "example-task-name" --log-group-name "/aws/lambda/example-log-group-name" --destination "example-bucket-name --from 1710378735 --to 1710465135

注: example-task-name を実際のタスク名に、example-log-group-name をロググループ名に、example-bucket-name を宛先バケットに置き換えてください。

エクスポートタスクのステータスを確認するには、次の AWS CLI コマンド describe-export-tasks を実行します。

aws logs describe-export-tasks --task-id example-task-id

注: example-task-id を自分のタスク ID に置き換えてください。

ログをエクスポートできるようになるまでには、最大 12 時間かかる場合があります。エクスポートタスクの処理には、最大で数時間かかる場合もあります。このプロセスは、エクスポートするデータのサイズによって異なります。ロググループレベルのサブスクリプションフィルタを使用してリアルタイムで処理するか、新しいデータを Amazon S3 に継続的にアーカイブするのがベストプラクティスです。詳細については、「Real-time processing of log data with subscriptions」(サブスクリプションを使用したログデータのリアルタイム処理) を参照してください。

関連情報

ログデータを Simple Storage Service (Amazon S3) にエクスポートするように Amazon CloudWatch を設定したのですが、ログデータが不足しているか、無効です。この問題を解決するにはどうすればよいですか?

CloudWatch Logs からログデータを取得するにはどうすればよいですか?

Exporting log data to Amazon S3 (Amazon S3 へのログデータのエクスポート)

AWS公式更新しました 3ヶ月前
コメントはありません

関連するコンテンツ