Slide 1

Slide 1 text

CloudTrailとの 賢い付き合い方 Tatsuro Handa

Slide 2

Slide 2 text

自己紹介 • 半田 達郎(はんだ たつろう) • サポートエンジニア • 好きなAWSサービス: CloudSearch •Twitter: @t2hnd ※本資料は個人的な意見に基づくものであり、所属企業とは関係ありません。

Slide 3

Slide 3 text

突然ですが… こんなとき、どうしますか? •気がついたら RDS インスタンスがなくなっている •知らぬ間にセキュリティグループの設定が変わった •スクリプト中の AWS CLI コマンドがエラー

Slide 4

Slide 4 text

CloudTrailの出番です!

Slide 5

Slide 5 text

CloudTrailとは •AWSアカウントで起きたイベントを記録する サービス •記録されるイベント •ほとんどの(*)AWSサービスのAPI コール •コンソールログインなどその他の操作

Slide 6

Slide 6 text

CloudTrailとは •ログファイルは S3 バケットに配信される • API 実行後15分以内に記録 •約 5 分ごとにログファイルを送信 •JSON形式でログを記録

Slide 7

Slide 7 text

※対応サービス(2015/5/30 時点)

Slide 8

Slide 8 text

気がついたら RDS インスタンスがなくなっている 実行ユーザ 実行環境 実行日時(UTC) イベント名 RDS インスタンス名

Slide 9

Slide 9 text

知らぬ間にセキュリティグループの設定が変わった 実行ユーザ等 リクエスト レスポンス

Slide 10

Slide 10 text

スクリプト中の AWS CLI コマンドがエラー エラー情報 実行環境 実行日時

Slide 11

Slide 11 text

CloudTrailを有効にしておけば • 気がついたら RDS インスタンスがなくなっている • 知らぬ間にセキュリティグループの設定が変わった • スクリプト中の AWS CLI コマンドがエラー 後から追跡が可能に!!

Slide 12

Slide 12 text

ON!

Slide 13

Slide 13 text

めでたし めでたし?

Slide 14

Slide 14 text

_人人人人人人人人人人人人人人人人人人_ > 約 5 分ごとにログファイルを送信! <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

Slide 15

Slide 15 text

_人人人人人人人人人人人人人_ > JSON形式でログを記録! <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

Slide 16

Slide 16 text

•ログは残っていても、必要なものを見つけ 出すのが難しい •いざというときのために、すぐに調べられ るツールを用意しよう

Slide 17

Slide 17 text

CloudTrail ログの検索に使えるツール •標準提供されるツールを使う •CloudTrail look up •検索エンジンを活用する •CloudSearch •Elasticsearch + Kibana

Slide 18

Slide 18 text

CloudTrail look up

Slide 19

Slide 19 text

CloudTrail look up •いいところ • 標準で使える • Attribute(Event名、User名、Resource名など)から検索できる • Time rangeで絞り込める •いまいちなところ • 直近1週間以内のデータしか検索できない • 検索できる項目が限られる

Slide 20

Slide 20 text

検索エンジンを活用する •CloudSearch •AWS のフルマネージド検索エンジン •スキーマを定義すればすぐに使える •Elasticsearch •オープンソースの検索エンジン •分析プラグインの kibana が便利! 検索エンジンを使う場合、 データロードの方法を考える必要がある

Slide 21

Slide 21 text

Lambda を利用する •Lambda とは •イベントをトリガーとしてプログラムを実行するサー ビス •S3 からのイベント通知をトリガーとして設定できる •CloudTrailログファイルが配信されたらプログラムを動 かす •Lambdaで検索エンジンにログをロードする

Slide 22

Slide 22 text

Lambda + CloudSearch 1. CloudTrail がログファイルを put する 2. S3 からファイル put 通知 3. 通知を受けて Lambda function が起動 4. ログファイルを展開してCloudSearchに投入 ① ② ③ ④

Slide 23

Slide 23 text

Lambda + Elasticsearch + Kibana 1. CloudTrail がログファイルを put する 2. S3 からファイル put 通知 3. 通知を受けて Lambda function が起動 4. ログファイルを展開してElasticsearchに投入 5. Kibanaを使ってログファイルの検索・集計 ① ② ③ ④ ⑤

Slide 24

Slide 24 text

を使う •embulk とは •TreasureData 社の提供しているオープンソースのバルク データ ローダ •プラグインでインプットとアウトプットを拡張できる • S3インプット、Elasticsearch アウトプットにも対応済み

Slide 25

Slide 25 text

+ Elasticsearch + Kibana • CloudTrail バケット配下の S3 プリフィックスを指定し、 まとめて Elasticsearch にログをロード • 必要な時に必要な期間のログだけ読み込ませて調査で きる

Slide 26

Slide 26 text

まとめ •まずは CloudTrail を ON に! • いざというときのために、普段からログを調 査するツールを用意しよう

Slide 27

Slide 27 text

参考 • Lambdaを使って、CloudTrailログをCloudSearchに入れて検索する http://c9katayama.hatenablog.com/entry/20141124/1416789876 • AWS - Lambdaを使ってCloudtrailログをElasticsearchに投下する http://qiita.com/handa/items/2839e5b3ad008ff6d06f • EmbulkでCloudtrailログをelasticsearchに放り込む http://qiita.com/handa/items/6ba0bc0678b0be95a1be

Slide 28

Slide 28 text

ありがとうございました