AWS CloudTrailとは? AWS上の証跡を残す方法を解説

クラウドサービスを利用するうえで、「誰が、いつ、どこで、何をしたか」という証跡を管理することはセキュリティ強化や監査対応のために重要です。AWS(Amazon Web Service)環境で操作ログなどの証跡を残すには、AWS CloudTrailというサービスが適しています。

本記事では、AWS CloudTrailの概要やできること、証跡を残すための具体的な方法、関連サービスまで詳しく解説します。

AWS CloudTrailとは

AWS CloudTrailとは、AWSのアカウント内で実行されるアクションやイベントをトラッキングして記録し、証跡を管理するためのサービスです。AWSリソースへのアクセスや操作ログを記録できるため、ユーザの不正操作やシステムに異常が発生した際の調査に役立ちます。証跡を残すことはセキュリティの強化やコンプライアンス遵守のために必須であり、企業の信頼性を向上させるためにも重要な意味を持ちます。

AWS CloudTrailの仕組み

AWS CloudTrailはAWSのアカウントを作成した時点で有効になり、自動的に記録が開始されます。AWSアカウントで発生したアクティビティはCloudTrailイベントとして記録され、CloudTrailコンソールの「イベント履歴」から過去90日間のアクティビティを確認することが可能です。90日を超えてログを保管するにはAmazon S3など他のAWSサービスに連携する必要があり、具体的な方法については次章で解説します。

CloudTrailイベントとは

CloudTrailイベントとは、AWSアカウントにおけるアクティビティの記録のことです。AWS CloudTrailでは、次の3種類のイベントを記録できます。なお、デフォルトの設定では管理イベントのみが記録される仕様です。データイベントとInsightsイベントを記録するには、追加の設定が必要になります。

  • 管理イベント

AWSアカウントのリソースで実行される、管理オペレーションの記録です。
・セキュリティグループの設定
・デバイスの登録
・データルーティングをする時のルールの設定
・ログ記録の設定 など

  • データイベント

リソースに対して実行されたオペレーションの記録です。
・AWS Lambda関数の実行
・Amazon S3内のオブジェクトに対するオペレーション(作成・編集・削除) など

  • Insightsイベント

通常の操作とは異なるアクティビティの記録です。管理アクティビティを分析し、そこから逸脱した異常なAPIのコール率やエラー率などを検知して記録します。

AWS CloudTrailのメリット

AWS CloudTrailによって得られるメリットについて解説します。

セキュリティの強化

Cloud Trailのログの確認や分析を行うことで、ユーザの行動やシステムの異常な動作を把握できます。把握した内容は、効果的なセキュリティ施策の立案や、内部不正などの対策に活用可能です。

トラブルシューティング

トラブル発生時にCloudTrailのログを分析することで、原因を特定しやすくなりスムーズな問題解決に活かせます。また、事前にアラームの設定ができるので、異常を迅速に検知することでトラブルの防止にも利用できます。

コンプライアンスの遵守

操作ログが自動的に保存されるため、監査が実施された際の対応がスムーズになります。また、このような取り組みを周知しておくことで抑止力が生まれ、企業全体でのコンプライアンスの遵守にもつながります。

AWS CloudTrailで証跡を残す方法

AWS CloudTrailでは、ログファイルをAmazon S3に出力して保存することで、90日を超えて証跡を残すことができます。また、Amazon CloudWatch Logsに出力することで、ログの内容を監視もできます。

Amazon S3への保存

Amazon S3とは、データを格納・管理できるオブジェクトストレージサービスです。CloudTrailコンソールから、次の手順でログを出力・保存できます。

  1. [証跡の作成]を選択します。
  2. [証跡名] で、任意の名前を付けてください。
  3. [ストレージの場所] で、[新しい S3 バケットを作成する] をクリック。
  4. 作成されたバケットに必要なバケットポリシーを作成して適用し、任意の名前を付けてください。
  5. ログファイル SSE-KMS 暗号化] が不要であれば、チェックボックスをオフにしてください。
  6. [オプションタグ] で、カスタムタグ (キーと値のペア) を証跡に追加してください。
  7. タグの作成が完了したら、[次へ] をクリックします。
  8. [イベント] ページで、ログに記録するイベントタイプを選択します。[管理イベント] 領域で、[読み取り] と [書き込み] イベントをチェックします。すべての管理AWS KMSイベントをログに記録したいのであれば、[イベントを除外] と[Amazon RDS Data API イベントを除外] のチェックボックスをオフにして、[次へ]をクリックします。
  9. [確認と作成] ページで、選択した設定を確認します。証跡を作成する準備ができたら、[証跡の作成] をクリックします。

参考:AWS「AWS Cloud Trail ユーザーガイド」>チュートリアル:証跡の作成https://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/tutorial-trail.html
(2024/03/01確認)

Amazon CloudWatch Logsでのログ監視

Amazon CloudWatch Logsとは、AWS上の各サービスからログを収集して保存・監視を行うサービスです。以下の手段でAWS CloudTrailのログファイルをモニタリングし、特定のアクティビティ発生時に通知を受け取る設定ができます。しかし、ユーザーによって監視したいイベントは異なるので、各種の細かな設定は各自で実施してください。

  1. モニタリングしたい証跡をCloudTrailコンソールで選択し、オプションでCloudWatch Logsを有効にします。
  2. メトリクスフィルタ(ログイベントの中に一致する語句や値があるかを評価する機能)を定義します。
  3. メトリクスフィルタにCloudWatchメトリクスを割り当てます。
  4. 指定した期間と閾値に基づいてアラームを作成します。

参考:AWS「AWS Cloud Trail ユーザーガイド」>Amazon CloudWatch Logs による CloudTrail ログファイルをモニタリングする
https://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/monitor-cloudtrail-log-files-with-cloudwatch-logs.html (2024/03/01確認)

AWS「AWS Cloud Trail ユーザーガイド」>CloudWatch Logs へのイベントの送信https://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/send-cloudtrail-events-to-cloudwatch-logs.html(2024/03/01確認)

AWS CloudTrailの料金

AWS CloudTrailは、AWSのサービス全体の直近90日間の管理イベントを無料でログに記録できます。また、証跡を作成して管理イベントのコピーを1つAmazon S3バケットに配信することも無料の範囲です。

無料枠を超えた場合にかかる費用は次の通りです。このほか、AmazonS3やAmazon CloudWatchの使用料金も従量課金制でプラスされます。

  • Amazon S3に配信された管理イベント:100,000件あたり2.00 USD
  • ​​Amazon S3 に配信されたデータイベント:100,000件あたり0.10 USD
  • 分析対象のInsightsイベント:100,000件あたり0.35 USD 
    (2024年3月1日現在)

詳しくはAWSの以下のサイトをご覧ください。

参考:「AWS Cloudtrail の料金」https://aws.amazon.com/jp/cloudtrail/pricing/ (2024/03/01確認)

まとめ

AWS CloudTrailは、AWS上で実行されるアクションやイベントを記録し、証跡を管理するためのサービスです。証跡を残すことは、ユーザーの不正操作やシステムの異常な動作などが発生した際の原因究明に欠かせません。無料枠では直近90日間のイベントしか記録できませんが、Amazon S3にログを保存すれば無期限に記録できます。また、Amazon CloudWatch Logsでログを監視し、特定のアクティビティが発生した場合には通知を受け取ることも可能です。

AWS CloudTrailによってセキュリティの強化やコンプライアンスの遵守を実現できれば、企業の信頼性向上につながるでしょう。ぜひ、導入を検討されてみてはいかがでしょうか。