【初心者向け】トラブルシューティング時に CloudTrail イベント履歴を活用する際、設定すべきことをまとめてみた

AWS
AWS
この記事は約3分で読めます。

AWS を利用する上でエラーや期待する動作が起きなかった場合、CloudTrail から実行された API のリクエストパラメーターの内容やエラーの内容を確認することがよくあると思います。
今回は CloudTrail イベント履歴を利用する際に設定すべきことをまとめてみました。

CloudTrail イベント履歴とは

利用している AWS アカウントで行われた API 履歴などのイベントを確認できます。
例えば EC2 を起動した場合、RunInstances などの API が誰が、いつ、どのようなパラメータで行ったかといった情報を確認することができます。

CloudTrail イベント履歴の注意点

確認ができるイベントは過去 90 日間のイベント

90 日より前のイベントを確認したい場合は、CloudTrail で証跡を作成し、CloudTrail ログを保存する必要があります。
ログをダウンロードして手作業で確認するのは無理筋なので、 Athena、CloudTrail Lake を利用して確認しましょう。
なお、CloudWatch Logs にも保存する設定をしている場合は、CloudWatch Logs からも確認できます。

API によっては利用リージョン以外にイベントが表示される

利用する API のエンドポイントによって、記録されるリージョンが異なります。
ほとんどの API は利用したリージョンで記録されますが、例えば Organizations は、us-east-1 の CloudTrail イベント履歴から確認する必要があります。

すべての API の記録がサポートされていない

イベント履歴から確認ができるのは、CloudTrail でサポートされている API だけです。
確認したい API がサポートされている API かは、その API の属するサービスのドキュメントに記載されています。

リアルタイムで記録されない

API を実行してすぐに CloudTrail を確認しても表示されません。
場合によっては 15 分ほど待つ必要があります。

CloudTrail イベント履歴で設定すべきこと

デフォルトだと、以下の表示になっています。

時間を指定する

CloudTrail を確認するのはエラーや期待する動作をしなかった際が多いと思うので、たいていは確認したい時間帯が決まっているはずです。

確認したい時間帯を指定しましょう。

ルックアップ属性を変更する

ルックアップ属性を変更することで、表示されるイベントをフィルタリングできます。

デフォルトではルックアップ属性は「読み取り専用:false」となっているので、読み取りでないイベントを表示しています。

そのため、describe や list , get 系のイベントは表示されません。
読み取り系のイベントを表示したい場合は、「読み取り専用:true」に変更しましょう。
ただし、読み取り用のイベントは数が多く目的のイベントを探すことが難しい傾向にあります。
目的のイベントが特定できている場合は、イベント名でフィルタリングした方がいいでしょう。

一覧に表示するプロパティを変更する

デフォルトで一覧に表示されているプロパティは、「イベント名」、「イベント時間」、「ユーザー名」、「イベントソース」、「リソースタイプ」、「リソース名」です。

イベント履歴の歯車から変更できるので、表示させたいプロパティを選択しましょう。
特にエラーコードの表示は必須です。

また、タイムゾーンの設定で「ローカルタイムゾーン」か「UTC」のどちらかを選べます。
基本的にローカルタイムゾーンの設定の方が調査しやすいと思いますが、状況に応じて変更しましょう。

おわりに

ここで記載した内容は慣れている人にとっては当たり前の内容だと思いますが、私は一覧にエラーコードを表示できることを最初は知りませんでした。
知ってから調査にかかる時間が激減したので、この記事が役に立てれば幸いです。

タイトルとURLをコピーしました