CloudTrail を使用して AWS アカウントで発生した API 呼び出しとアクションを確認する方法を教えてください。

最終更新日: 2019 年 8 月 23 日

コンソールログインやインスタンスの終了など、AWS アカウントで発生した操作を確認する方法を教えてください。

簡単な説明

AWS CloudTrail データを使用して、アカウントに対して行われた API 呼び出しを表示および追跡できます。

  • CloudTrail コンソールのイベント履歴。
  • Amazon CloudWatch Logs。
  • Amazon Athena クエリ。
  • Amazon Simple Storage Service (Amazon S3) のアーカイブログファイル。

注: CloudTrail で記録され、利用できるログがすべての AWS のサービスにあるわけではありません。CloudTrail と統合された AWS のサービスのリストについては、「CloudTrail に関する AWS のサービストピック」を参照してください。

解決方法

AWS CloudTrail コンソールのイベント履歴

過去 90 日間からすべてのサポートされているサービスと統合とイベントタイプ(作成、変更、削除、変更不可能なアクティビティ)を表示できます。イベント履歴を使用するために証跡を設定する必要はありません。詳細については、「CloudTrail コンソールで CloudTrail イベントを表示する」を参照してください。

CloudWatch コンソールのイベントを検索する代わりに、AWS コマンドラインインターフェイス (CLI) コマンド filter-log-events を使用できます。メトリクスフィルタを使用して、ログイベントで用語、フレーズ、値を検索して一致させることもできます。その後、それらを CloudWatch メトリクスとアラームに変換できます。詳細については、「フィルタとパターンの構文」を参照してください。

注意 : AWS CLI を使用していて、filter-log-events を大規模に使用する場合(オートメーションやスクリプトなど)、 CloudWatch Logs サブスクリプションフィルタを使用するのがベストプラクティスです。これは、 filter-log-events に API の制限があるためです。サブスクリプションフィルタにはそのような制限はなく、サブスクリプションフィルタは大量のログデータをリアルタイムで処理できます。filter-log-events とその制限の詳細については、「CloudWatch Logs の制限」を参照してください。

Amazon CloudWatch Logs

CloudWatch Logs を使用すると、StopInstances などのリソースの状態を変更する操作と、DescribeInstances などの変更しない操作を検索できます。これらの手順は、証跡を作成しCloudWatch Logs にイベントを送信するように設定していることを前提としています。

次の点を考慮してください。

手順については、 CloudWatch Logs に送信されたログデータの表示を参照してください。

Athena クエリ

Athena を使用して大量の CloudTrail ログを検索し、クエリを実行できます。詳細については、「AWS CloudTrail ログを検索するために Amazon Athena のテーブルを自動的に作成する方法」を参照してください。

Amazon S3 のアーカイブされたログファイル

CloudTrail によってキャプチャされたすべてのイベントを Amazon S3 ログファイルに表示できます。CloudTrail Processing LibraryAWS CLI を使用するか、AWS CloudTrail パートナーにログを送信することで、S3 バケットからログファイルを手動で解析できます。

注意 : S3 バケットに証跡を記録できるようにする必要があります。