AWS re:Invent2013参加レポート #3 新サービス AWS CloudTrail
コンプライアンスとガバナンスのためのログ保存
AWS CloudTrailは、コンプライアンスとガバナンスのためのロギングサービスです。AWSの利用に関してAWS管理コンソールやAPIからアクセスログを取得することができます。これはエンタープライズ向けに非常に重要なサービスで、アクセスログをエビデンスとしてS3やGlacierに保存することができます。
サインアップ
現在、北米など一部の地域のみの提供ですが、そう遠くない未来に東京リージョンにも登場するでしょう。以下のURLからサービス開始をします。
AWS CloudTrailのワークフロー
ここでは、CloudTrailのワークフローについてご紹介します。
- AWS管理コンソール、AWS CLI、APIなどを使ってアクセスします。ユーザー操作ログが指定されたS3バケットに保存されます。
- オプションとして、Amazon SNSによる通知を行うことができますので、Amazon SQSと連携してプログラマブルな形に扱うことが可能です。
- Amazon S3のAPIを使って作成されたログを取り出して処理を行うことが出来ます。
- AWS管理コンソール、AWS CLI、APIを使って設定を更新することができます。
- オプションとして、AWS IAMを使ってログの作成や削除、開始や終了など、S3バケットに対するアクセス権を設定することができます。例えば、AWS CloudTrailへの操作をコントロールする目的で使われます。
- オプションとして、既存のソリューションと連携することができます。これらのソリューションは、可用性、トラッキング、トラブル対応、セキュリティ分析などを提供します。
ログファイル名のフォーマット
Amazon S3にアップされるファイルは、以下のようなファイル名の規則になっています。
- ルートのURL
- バケット名
- 接頭辞
- リージョン名
- 年(yyyy)
- 月(mm)
- 日(dd)
- タイムスタンプ(ISO 8601フォーマットのUTC時間)
- 個別識別のためのアルファベット
https://s3-us-west-2.amazonaws.com/バケット名/接頭辞/AWSLogs/アカウントID/CloudTrail/us-west-2/2013/10/25/アカウントID_CloudTrail_us-west-2_2013-10-25T22:25Z_bPlKAoJtDqSWWlTT.json.gz
利用シナリオ1:1アカウント&複数リージョン
1つのアカウントで複数のリージョンを使用している場合、それぞれのCloudTrailを設定してAmazon S3バケットに格納することができます。たまったデータへのアクセスはIAMポリシーで参照のみなど設定します。複数のリージョンからアクセスするので、クロスリージョンパーミッションを設定してください。
利用シナリオ2:複数アカウント&1リージョン
あるリージョンにおいて、複数のAWSアカウントから生成されるCloudTrailのログを1つのAmazon S3バケットに格納します。複数のアカウントからアクセスするので、クロスアカウントパーミッションを設定してください。
利用シナリオ3:複数アカウント&複数リージョン
クロスリージョンパーミッションとクロスアカウントパーミッションを設定してください。
対応しているAWSサービス
現在対応しているAWSサービスは以下です。
- 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
現在サポートされているリージョンは以下です。
- US East (Northern Virginia) Region
- US West (Oregon) Region
レコード情報
保存されるログの中身は以下のようなフォーマットになっています。
{"Records": [ { "eventVersion": "1.0", "userIdentity": { "type": "IAMUser", "principalId": "AIDAI2JXM4FBZZEXAMPLE", "arn": "arn:aws:iam::123456789012:user/Alice", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "Alice" }, "eventTime": "2013-10-26T03:08:58Z", "eventSource": "iam.amazonaws.com", "eventName": "CreateUser", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.01", "userAgent": "aws-cli/1.1.1 Python/2.7.4 Windows/7", "requestParameters": {"userName": "Bob"}, "responseElements": {"user": { "createDate": "Oct 26, 2013 3:08:58 AM", "userName": "Bob", "arn": "arn:aws:iam::123456789012:user/Bob", "path": "/", "userId": "AIDAIHQ2LPVSRIEXAMPLE" }} }, ... additional entries ... ] }
まとめ
エンタープライズ要件で必ず上がってくるログの機能がついにリリースされました。今後益々日本国内での利用が加速すると思います。クラウドはなんとなく不安だと言うとりあえず慎重派にとどめを刺しましょうw!