AWSでもそんな「カジュアル」なイベント『AWS Casual Talks #2』が、4月18日にAWSの"本丸"であるアマゾンデータサービスジャパン目黒本社で開催されました。テーマはAWSの新サービスに関するもので、昨年11月の『AWS re:Invent 2013』で発表された「CloudTrail」「Kinesis」や、次々と新機能が盛り込まれている「Redshift」、待望の機能が追加されたネットワーク系サービス各種など、トピックとして注目度の高いものばかり。本稿ではその模様をお伝えします。
待望のロギングサービス「CloudTrail」
1つ目のセッションは、クックパッドの星北斗氏による「AWS CloudTrail」に関するセッション(発表スライド)。このサービスはアカウントからのAPI呼び出しを記録し、ログファイルを指定したAmazon S3バケットに送信するサービスです。このサービスが登場するまでは、AWSサービスに関するログはサービス側で記録しておらず、利用者が適宜設定、出力していました。監査ログやトラブルシューティングの要因突き止めなど、ログ出力は大事な要素であり、ユーザーの要望としても大きなものがありました。「AWS re:invent 2013」に現地参加し、発表を生で聞いていた星氏は思わず歓喜したそうです。欲しい情報がAWS側でほとんど提供され、SNS通知連携や他のバケットへの出力もできるこのサービスは待望のものとなりました。
CloudTrailが現在対応しているサービスは8個(EC2/EBS/Redshift/RDS/VPC/CloudTrail/IAM/STS)。対応しているリージョンは米国東部(ヴァージニア北部:us-east-1)、米国西部(オレゴン:us-west-2)の2か所に留まっています。対象サービスの拡充や東京リージョン対応については星氏も「正座して待ちましょう」と心待ちにしていました。セキュリティや監査の面から、このサービスは欠かせないものとなるのは間違いありません。東京リージョンでの利用を検討されている方も、来るべき時に備えて準備をしておくことをお勧めします。
広告ログ解析基盤としてのAWS
2つ目のセッションは、adingoの@suzu_v氏による「Data Stream Processing and Analysis on AWS」(発表スライド)。広告プラットフォーム事業会社に勤める氏がFluentd、Elasticsearch、DynamoDB、EMR、Amazon Kinesisといった各種サービスを使ってどのようにログ解析基盤のアーキテクチャを構成してきたか、またAmazon Kinesisについてどのような検証を行ったかについての解説を行いました。
広告ログを分析するための基盤を構築する上で、アドホックな分析・定常的な分析を行う必要があり、またこれらの情報はターゲティング(どの顧客層をターゲットの市場とするかを見極めること)にも用いたい、というシステム上の要件がありました。2012年中頃の構成はMongoDBをメインに用いたものでしたが、この場合だとホットデータ(システムに投入されてから一週間程度のデータで、アクセス頻度が高い)に関する分析を行いづらい部分があったそうです。2014年現在はFluentdを駆使してDynamoDBにデータを格納するようにしているのですが、これでもまだ「直近XX分の状況を確認する」のには難しい部分があり、「柔軟にストリームを扱いたい」という思いからAmazon Kinesisを採用するに至りました。
「現在は検証段階です」としながらも、それぞれの機能に関する使用感や各種雑感などを@suzu_v氏は詳細に解説。現行1レコードずつの書き込みのため、まとめて書き込む機能(batchWrite)が欲しい、Amazon Kinesisを扱う上では現行DynamoDBが相性が良い(KCLというライブラリを使うことで面倒な制御をよしなに管理してくれる)など、@suzu_v氏ならではのノウハウが凝縮された内容となりました。