新サービス『AWS CloudTrail』のユーザーガイドを読んでみた / 概要・対応サービス及びリージョン
- Amazon Web Services ブログ: 【AWS発表】 AWS CloudTrail - AWS APIコールの記録を保存
- What is AWS CloudTrail - AWS CloudTrail
『re:Invent 2013』で発表された新サービス『AWS CloudTrail』。東京リージョンでの利用可能はもう少し先の話になりそうですが、先行して一部リージョンでは既に利用可能となっています。Amazon Web Servicesブログで発表されたエントリ内容と併せてドキュメントを読み解く事で、どのような事が行えるのかをこのエントリで把握して行きたいと思います。
目次
AWS CloudTrailとは何か
CloudTrailの『Trail』、普通に訳すと"手掛かり、トレース"等といった意味合いになりますが、ここでは操作ログが証拠として残るので『証跡』辺りがしっくり来るのでしょうか。イベントに参加された大瀧さん曰く、『"Audit Trail"から来ているのでは、という話があった』そうですので、ここではTrail(証跡)という形で読み進めていこうと思います。
CloudTrailでは、アカウントに対するAWS APIの実行履歴を取得する事が出来ます。これは管理コンソール/AWS SDK/コマンドラインツール等、API実行が絡むものについて該当する形になります。サポートしているサービスについては、かなり詳細に実行ログが記録され、内容を確認出来るようになりました。
AWS CloudTrailのしくみ
仕組みを把握する上でのポイントは以下の通り。
- AWS APIの呼び出しをキャプチャし、ログファイルを指定のAmazon S3バケットに配信している。
- デフォルトでは、ログファイルはAmazon S3のサーバ側の暗号化(SSE: S3 Server-side Encryption)を使用して暗号化している。
- SNS通知と連携させる事が可能。
- 複数リージョンや複数のAWSアカウントからのログファイルを単一のAmazon S3バケットに集約する事も可能。
- CloudTrail自体の利用料金は掛からないが、Amazon S3とAmazon SNSに関しては標準レートで利用料が適用される。
CloudTrailワークフロー
また、CloudTrailの利用手順としては以下のような流れで行います。諸々の作業はこの後のエントリでもご紹介出来ればと思います。
- 1.コンソールやAWS CLI、API等を使い証跡を作成。証跡はCloudTrailがログファイルのAmazon S3バケットに配送する際に使う情報で構成される。
- 2.(オプション):新しいログファイルがバケットに関する通知を購読するAmazon SNSトピックを作成。Amazon SNSはAmazon Simple Queue Service(SQS)を使ってプログラマブルに複数の方法で通知を行う事が出来る
- 3.ログファイルを収集するためにAmazon S3のAPI若しくはコンソールを使用。
- 4.Trailを更新するための設定をCloudTrail APIやAWS CLI、コンソールなどを用いて行う。
- 5.(オプション):AWSユーザーによるTrailの作成、設定、削除、ロギングの開始と終了、ログ情報を含むバケットへのアクセス等を制御するためにIAMを使用する事が出来る。
- 6.(オプション):CloudTrailを統合しているパートナーソリューションを使う事で、CloudTrailの出力を分析出来る。これらのソリューションは変化の追跡、トラブルシューティング、セキュリティ分析等広範な機能セットを提供しいる。パートナーソリューションに以下のページを参照。
地域間グローバルサービス
CloudTrailは地域間のサービスとして、Trail(証跡)を各々のリージョンに対して個別に作成します。各々のリージョンで実行されたAPIのイベントに加えて、グローバルなサービス(IAMやAWS STSのような地域を特定しないもの)に関する情報も含まれます。なので、例えば、もし2つのTrailが異なるリージョンに存在し、IAMユーザーを新規作成した場合、create-userイベントが双方のリージョンのログ情報をとして追加される、となるわけです。
ログ収集を行う際、このグローバルなサービスのログについては形としては重複してしまう事になるのですが、防止策としてあるTrailでグローバルイベントを有効にし、その他のTrailでは同じAmazon S3バケットへの書き込みを無効にするといった事も可能です。
そして、CloudTrailはAWSで既に提供されている機能に対し新たな次元を追加するものであり、既に利用している(かもしれない)ロギング機能を変更したり、置き換えたりするものではありません。例えば、Amazon CloudWatchがパフォーマンスモニタリングとシステムのヘルスチェックに焦点を当てているのに対し、CloudTrailはAPIの活動に焦点を当てています。CloudTrailはシステムパフォーマンスや健康状態を報告しませんし、Amazon S3バケットやAmazon CloudFrontのサブスクリプションからログを受け取る方法を変更するものでもありません。
CloudTrailサポート対象サービス・対応リージョン
現時点でサポートされているサービスやリージョンについては以下の通り。東京リージョンでの利用可能、及びサービスの拡大が早くも心待ちな状態ですね!(※2013年11月、サービスリリース時現在)
サポートされているサービス
CloudTrailは、以下AWSのサービスに関するAPI呼び出しをキャプチャします。
- Amazon Elastic Compute Cloud (Amazon EC2)
- Amazon Elastic Block Store (Amazon EBS)
- Amazon Virtual Private Cloud (Amazon VPC)
- Amazon Relational Database Service (Amazon RDS)
- AWS Identity and Access Management (IAM)
- Amazon Redshift
- AWS Security Token Service (AWS STS)
- AWS CloudTrail
サポートされているリージョン
CloudTrailは以下リージョンで稼働します。
- US East(北ヴァージニア)
- US West(オレゴン)
まとめ
という訳でCloudTrailの概要についてざっくり読み解いてみました。リリース後即使い始めてみましたが、特に難しい設定も無く即使いはじめる事が出来ています。実際に使った手順等もこの後のエントリでご紹介出来ればと思います。