続 カッコの付け方

AWSを始めとしたクラウドコンピューティング全般と、唯一神emacsにおける()の付け方についてだらだら書きます

CloudWatch Logを使う

弊社でも絶賛活用しているCloudWatch Logsについて、未だエントリがなかったので書きます。CloudWatchはサーバの負荷や正常性、各種パフォーマンスカウンタを提供していますが、新たにLogsという、名前の通り、ログの監視ができるようになりました。
ログの監視といえば、Apacheaccess_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 でロール作製、ここです。
role1.png
2. ここでAWS Service Roles の Amazon EC2を指定します
role3.png
3. ポリシージェネレータで作ります
role2.png
4. ジェネレーターの指定はこんな感じ
role4.png
5. EC2インスタンス起動時に、IAMロールを指定します
role5.png
後々のことを考えると、EC2インスタンスを起動するときは、ダミーでもいいので、IAMロールをつけておくことをオススメします。あとでIAMロールを付けたいと思っても出来ないので、ダミーで仮につけておいて、後で正しいロールを割り当ててあげる逃げ道を残せるからです。
ロールをつけたインスタンスは、クレデンシャル情報無しで CloudWatch Logs 等のサービスにアクセス出来ます。(もちろん、割り当てられた役割に対してのみですが。)