弊社でも絶賛活用しているCloudWatch Logsについて、未だエントリがなかったので書きます。CloudWatchはサーバの負荷や正常性、各種パフォーマンスカウンタを提供していますが、新たにLogsという、名前の通り、ログの監視ができるようになりました。
ログの監視といえば、
Apacheの
access_logやmessagesを監視して、問題が発生していたらアラートを上げるということを、zabbixや
nagiosといった監視
ツールで行っているのが一般的ですが、CloudWatchLogsでもこれらと同等の機能を持つことが出来ます。
早速導入してみます。導入そのものは、とても簡単です。
$ wget https://s3.amazonaws.com/aws-cloudwatch/downloads/awslogs-agent-setup-v1.0.py
$ sudo ./awslogs-agent-setup-v1.0.py
あとは指示にしたがって答えればOKです。
http://aws.typepad.com/aws_japan/2014/07/cloudwatch-log-service.html
ですが、とくに新規でEC2を建てる場合は、クレデンシャルを使うよりも、EC2ロールを使うことをオススメします。ロールとは、普通、IAMはユーザーに対して権限を与えるものですが、ユーザーではなく、リソース(EC2自身)に役割を付けるものです。ロール=役割、いい名前だと思います。
EC2ロールの追加手順を簡単に
1. IAM でロール作製、ここです。
2. ここでAWS Service Roles の Amazon EC2を指定します
3. ポリシージェネレータで作ります
4. ジェネレーターの指定はこんな感じ
5. EC2インスタンス起動時に、IAMロールを指定します。

後々のことを考えると、EC2
インスタンスを起動するときは、ダミーでもいいので、IAMロールをつけておくことをオススメします。あとでIAMロールを付けたいと思っても出来ないので、ダミーで仮につけておいて、後で正しいロールを割り当ててあげる逃げ道を残せるからです。
ロールをつけた
インスタンスは、クレデンシャル情報無しで CloudWatch Logs 等のサービスにアクセス出来ます。(もちろん、割り当てられた役割に対してのみですが。)