cloudpackエバンジェリストの吉田真吾(@yoshidashingo)です。
AWS Advent Calendar 2013 の 1日目 のエントリーです。
Stackdriver は AWS 環境のモニタリングができる SaaS です。
特にWebサーバー(ApacheやNginx)などの「パフォーマンスモニタリング」が簡単にできるので便利です。
今日はそんな Stackdriver で CloudTrail のログ監視もやろうというお話です。
■Stackdriver のサインアップ
Stackdriver は14日間無料でトライアル利用ができます。
■必要情報を入力してサインアップ
申込は http://www.stackdriver.com/ から「Start 14-day free trial」を押下して進んでいきます。
必要情報を入力すればすぐに使えるようになります。
■AWSアカウントの追加
アカウントの設定画面からアカウントの追加を選択します。
画面の説明どおりに操作します。
説明は以下のとおりです。
- AWSのIAM画面にログインする。
- “Create New Role” を押下する。
- “Role Name” に "stackdriver" と入力してcontinueを押下する。
- アカウント間の接続ができる “Role for Cross-Account Access” を選択する。
- “Allows IAM users from a 3rd party AWS account to access this account” を選択する。
- 画面に記載されている stackdriver 側のアカウント情報を入力する。
- policy template list から "Read only access" を選択する。
- 続行する。
- "Create Role" を押下する。
- IAM Roleのリストから、新しく作った Stackdriver のロールを選択する。
- "Summary" を押下する。
- "Role ARN" の値をコピーして、以下に入力する。
Save したらダッシュボードで自分の環境の情報がモニタリングできるようになります。
つまりこんな仕組み↓
■CloudTrail のセットアップ
次に CloudTrail を有効化します。
2013.12.1現在、米国東海岸と西海岸しか対応してないので、今回はus-eastで有効化します。
ログ保存用のS3のバケットを新規作成、あるいは既存から選択し、SNSのトピックを作成します。
■CloudTrail ログを Stackdriver に連携
Integrating with CloudTrail の情報に基づき SNS の設定をします。
ログはS3に格納されているのに、なぜSNSが必要なの?と思われたかもしれません。
Stackdriver は CloudTrail のログを、S3のものを参照するのではなく、SNS のトピックを受信して利用します。
つまりこんな感じ↓
Stackdriver 以外 にもいくつか CloudTrail パートナーがいます。
それぞれのサービスによって S3 のログを参照するものとSNSで連携する必要のあるサービスに分かれます。
たとえば loggly はS3を直接参照します。
■SNS のトピック設定
SNS のマネジメントコンソールに移動すると、さきほど作成したSNSのトピックができています。
トピックを選択して、"Create Subscription"ボタンを押下します。
Protocolは「SQS」を選択し、EndpointにStackdriverのSQSのARNを入力します。
■さいごに確認
Stackdriver の画面に戻り、しばらくして「CloudTrail integration active」になっていればOKです。
上記画面を見ると、us-eastでインスタンスを停止、開始したときのログ&Source IP が表示されていることが分かります。
■リソース監視だけじゃなく
いかがでしたか? CloudTrail は今後「使うのが当たり前」になるサービスだと思います。
リソース監視だけでなく、改ざん検知やヒューマンエラー対策等の観点から、CloudTrail を活用して高度な監視の仕組みを回しましょう。
こちらの記事はなかの人(yoshidashingo)監修のもと掲載しています。
元記事は、こちら