【AWS基礎】AWS CloudTrailとは | 若手エンジニアのブログ

若手エンジニアのブログ

文系出身の若手女子エンジニアによる技術ブログ。
日々の経験や学びをアウトプットするためにブログを書いています。
バックエンド(Java+SpringFramework)を経てインフラエンジニアになりました。
今は育休中につき、本で勉強したことを中心にアウトプットしています。

今日はAWS CloudTrailについて勉強していきます。

 

もくじ

1.AWS CloudTrailとは

2.主な利用メリット

3.記録できるもの

4.記録したイベントの利用

5.利用料金

6.管理イベント履歴の確認

 

1.AWS CloudTrailとは

AWS CloudTrailとは、ユーザのアクティビティ(例:ログイン、ファイルの編集など)やイベント(例:API操作など)をログに記録するサービスである。

 

2.主な利用メリット

ここで、AWS CloudTrailを利用する、主なメリットを整理しておく。

①セキュリティ体制の向上

イベントやユーザアクティビティを逐一記録することで、万が一セキュリティ攻撃を受けた時に、

「いつ、どのサービスのどんなものに対して、どこからどのように攻撃を受けたか」といった状況把握がしやすくなる。

状況把握をしっかりできれば、その後の対応もスムーズに、的確に行いやすくなる。被害を最小限にとどめることにつながる。

 

また、AWS CloudTrailで逐一記録することを内部的に周知しておけば、

内部の不正操作の抑止力にもつながると考えられる。

 

②インシデント発生時の状況確認

インシデント発生時にも、AWS CloudTrailの記録内容を確認すれば、「いつ、どのサービスのどんなものにおいて、何が起きたか、なぜ起きたか」といった状況把握がしやすくなる。

セキュリティ攻撃を受けた時と同様、状況把握が、迅速かつ適切な対処につながる。

インシデントが起きると、最悪の場合、サービスがストップしてしまうことも考えると、インシデントへの対応は非常に重要といえる。

 

③AWSの他サービスと連携しやすい

①や②のメリットは、AWS CloudTrail独自というよりも、ログ取得行為そのもののメリットと言ったほうが正確かもしれない。

AWS CloudTrailだからこそという1番のメリットは、やはりAWSの他サービスとの連携のしやすさだと思う。

 

他サービスとの連携例:

 ・AWS CloudWatchと連携して、AWS CloudTrailで取得したログへの異常監視を行う

 ・AWS S3と連携して、AWS CloudTrailで取得したログを暗号化した状態で保管する

 

CloudTrailがAWSから提供されているログ記録サービスだからこそ、

他のAWSサービスと簡単に連携し、総合的に要件を実現できるのが魅力である。

もちろん、連携にあたっては、公式ガイドや多くの先行事例など情報が充実しており、実現難易度も高くないはずだ。

 

④AWSの複数アカウントのログ一元管理

AWS CloudTrailは、複数のAWSアカウントで発生したユーザアクティビティやイベントを、一元的に保管する機能も有する。

マルチアカウント構成のAWSシステムが多く作られている現状、AWSのアカウント毎にログが点在していたら、管理コストが大きくなってしまう。

いくつか設定をするだけで、ログを簡単に一元管理できるようになるのも、AWS CloudTrailだからこそというメリットの1つである。

 

ちなみに類似のメリットとして、

AWSサービスが複数のリージョンにある場合でも、ログァイルを一元管理する設定が可能となっている。

 

⑤ログの偽装に強い

その他、CloudTrailだからこそという他の特徴として、ログの偽装への強さも挙げられる。

公式サイトによると、AWS CloudTrailは、保存済のログファイル(デフォルトで暗号化済)の整合性を検証するよう設計されている。

そのため、セキュリティ攻撃者が攻撃後、ログを意図的に書き替えたとしても、改ざんが検知される。

単純なログ取得だけであれば、自前でもどうにかプログラムを設計・開発できるだろうが、改ざん検知までとなると大変である。

開発コストを下げつつもセキュリティレベルを向上させるため、CloudTrailを利用するメリットは大きいと言える。

 

3.記録できるもの

AWS CloudTrailで記録できるイベントは、2種類に分けられる。

 

記録できるイベント 説明 イベントの例
管理イベント リソースに対する管理操作。 ・Amazon S3バケットの作成や削除
・ネットワークの構成変更
・ログ記録の設定
データイベント リソースに対するデータ操作。 ・Amazon S3の読取や書込
・AWS Lambda関数の実⾏

 

 

4.記録したイベントの利用

CloudTrailの機能を利用すれば、記録した管理イベント・データイベントを、以下の通り3つの場面で利用できる。

 

利用場面 説明
イベント履歴 管理イベントの履歴(ログ)を確認する。有料オプションなどをつけない限り、無料で確認可能。
CloudTrail Lake  イベントをキャプチャ、保存、検索・アクセス、分析するためのデータレイク。有料で最大7年間保管でき、AWS Configと連携したコンプライアンス遵守調査や、セキュリティインシデント時の調査などに使える。
証跡 キャプチャしたイベントを、Amazon S3に配信・保存する。オプションで Amazon CloudWatch Logs や Amazon EventBridge へも配信可。

 

5.利用料金

CloudTrailには、無料枠と有料プランがある。

※2023年4月時点の情報。最新情報や詳細は公式サイトを必ずご確認ください。

 

できること 無料枠 有料プラン
イベント履歴の取得・利用 AWSのサービス全体の管理イベントの記録・利用可 AWSのサービス全体の管理イベントの記録・利用可
証跡機能の利用 進行中の管理イベントのコピーを1つまでS3に配信・保存可 管理イベント・データイベントのコピーをS3に配信可。イベント配信数に対する従量課金制(別途S3でのデータ保存料金もかかる)
CloudTrail Lake機能の利用 新規AWSユーザの場合、30日間無料で使用可(リソース量の制限有) 取り込みと保存データ量に対する従量課金制
ログの最大保存期間 90日間 7年間
その他 - インサイトイベントの記録も可能(従量課金制)
※インサイトイベント:リソースプロビジョニング の急上昇など、管理イベントに異常値があった場合に⽣成されるイベント。具体的にどのようなインサイトイベントを記録するかは、予め選択できる。

 

 

6.管理イベント履歴の確認

AWS CloudTrailは、デフォルトで全てのAWSアカウントで有効になっている。

そのため手動設定することなく、AWS のサービス全体の管理イベントが自動的に記録されている。

 

実際にAWSのCloudTrailのダッシュボードをコンソールから確認すると、ユーザのコンソールログインなど、イベント履歴が残されているのが分かる。

 

上記の「イベント履歴」から各イベント名をクリックすると、当該イベントの詳細を確認できる。

 

↓イベントの詳細レコードは、json形式で記録されている。

 

設定を変更したり、有料オプションを設定していない限りは、これら履歴は90日間保管される。

 

今回は以上!