CloudTrail を使用して、 AWS アカウントで発生した API コールとアクションを確認する方法を教えてください。
最終更新日: 2022 年 1 月 11 日
コンソールログインやインスタンスの終了など、AWS アカウントで発生した操作を確認する方法を教えてください。
簡単な説明
AWS CloudTrail データを使用して、以下の通りあなたのアカウントに対して行われた API コールを表示および追跡できます。
- CloudTrail イベント履歴
- CloudTrail レイク
- Amazon CloudWatch Logs
- Amazon Athena クエリ
- Amazon Simple Storage Service (Amazon S3) のアーカイブされたログファイル
注: すべての AWS のサービスにてログがCloudTrail で記録され、利用できるわけではありません。CloudTrail と統合された AWS サービスのリストについては、「CloudTrail に関する AWS サービストピック」をご参照ください。
解決方法
注: AWS Command Line Interface (AWS CLI) のコマンド実行中にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
CloudTrail イベント履歴
CloudTrail コンソールを使用して CloudTrail イベント履歴を確認する
過去 90 日間にサポートされている全てのサービスと統合、及びイベントタイプ(作成、変更、削除、変更不可能なアクティビティ)を表示できます。CloudTrail イベント履歴を使用するために証跡を設定する必要はありません。
詳細については、「CloudTrail コンソールで CloudTrail イベントを表示する」をご参照ください。
AWS CLI を使用して CloudTrail イベント履歴を確認する
注:AWS CLI を使用してイベントを検索するには、証跡を作成し、CloudWatch Logs にログを記録するように設定しておく必要があります。詳細については、「証跡を作成する」を参照してください。また、 CloudWatch Logsにイベントを送信することもできます。
filter-log-events コマンドを使用してメトリックフィルタを適用し、ログイベント内の特定の用語、語句、値を検索します。その後、それらを CloudWatch メトリクスとアラームに変換できます。
詳細については、「フィルターとパターンの構文」を参照してください。
注:filter-log-events コマンドを大規模に (自動化やスクリプトなど) 使用するには、 CloudWatch Logsサブスクリプションフィルタを使用するのがベストプラクティスです。これは、ログイベントのフィルタリング API アクションには API 制限があるためです。サブスクリプションフィルターにはそのような制限はありません。サブスクリプションフィルターは、大量のログデータをリアルタイムで処理する機能も提供します。詳細については、「CloudWatch Logs クォータ」を参照してください。
CloudTrail レイク
CloudTrail レイク を使用すると、イベントに対して SQL ベースのクエリを集約、不変的に保存、実行することができます。CloudTrail レイク には、最大 7 年間、つまり 2,555 日間までデータを保存できます。
詳細については、「AWS CloudTrail Lakeの使用」をご参照ください。
Amazon CloudWatch Logs
注:CloudWatch Logsを使用するには、証跡を作成し、CloudWatch Logsに記録されるように設定しておく必要があります。詳細については、「証跡を作成する」を参照してください。また、 CloudWatch Logsにイベントを送信することもできます。
CloudWatch Logsを使用して、リソースの状態を変更するオペレーション (StopInstances など) を検索できます。CloudWatch Logsを使用して、リソースの状態を変更しないオペレーション (DescribeInstances など) を検索することもできます。手順については、「CloudWatch Logsに送信されたログデータの表示」をご参照ください。
以下の点にご注意ください:
- 証跡をすでに作成している場合でも、CloudWatch Logsにログを送信するように CloudTrail を明確に設定する必要があります。
- ログが設定される前のアクティビティは確認できません。
- イベントのサイズおよびボリュームによって、複数のログストリームが存在することがあります。すべてのストリームを検索するには、個々のストリームを選択する前に [Search Log Group] (ロググループの検索) を選択します。
- CloudWatch Logsには 256 KB のイベントサイズ制限があるため、CloudTrail は256 KB を超えるイベントをCloudWatch Logsに送信しません。
Amazon Athena クエリ
Amazon Athena を使用して、Amazon S3 バケットに保存されている CloudTrail データイベントと管理イベントを表示できます。
詳細については、「AWS CloudTrail のログ検索をするために、Amazon Athena のテーブルを自動的に作成する方法を教えてください。」をご参照ください。 また、「マニュアルパーティショニングを使用して Athena で CloudTrail ログ用のテーブルを作成する」も参照してください。
Amazon S3 のアーカイブされたログファイル
注:Amazon S3 でアーカイブされたログファイルを表示するには、証跡を作成し、S3 バケットにログを記録するように設定しておく必要があります。詳細については、「証跡を作成する」を参照してください。
CloudTrail によってキャプチャされたすべてのイベントを Amazon S3 ログファイルに表示できます。CloudTrail Processing Libraryや、AWS CLI を使用する、もしくはAWS CloudTrail パートナーにログを送信することで、S3 バケットからログファイルを手動で解析できます。
手順については、「Amazon S3 CloudTrail イベント」を参照してください。
注: S3バケットにログを記録するためには、証跡を有効にする必要があります。