CloudWatchメトリクスを使用する為に必須のエージェントのインストール。
今までは設定をEC2に入ってやってましたが、さすがに辛いので今回はSSMを利用してやることに変えました。
せっかくAWS使っているので、使えるものは使って効率化しないと損ですよね。
IAMロールを割り当てる
ロールの割り当てですが、下記のマネージドポリシーを適用すれば大丈夫です。
・AmazonEC2RoleforSSM
・CloudWatchAgentServerPolicy
上記のロールをEC2にアタッチすると、マネージドサービス一覧に出てくるようになります。
ただ、認識されるまで少し時間がかかるかもしれません。
EC2にインストールする
コマンドの実行から下記のドキュメントを選択します。
AWS-ConfigureAWSPackage
更に下記を選択します。
Action: install
Name: AmazonCloudWatchAgent
Versionはlatestのままでいいと思います。
エージェントの設定
通常、エージェントをいれたらEC2内に設定ファイルを作ると思いますが、これもSSMに持たせる事が出来ます。
パラメーターストアと言われるもので、ざっくり言うと、KVSのような形式でAWS内のサービスが使用出来るデータを保有しておけます。
パラメータ一覧からパラメータの作成をクリックして作成画面に移ります。
値の内容はOSや使うミドルウェアによって変わるので割愛しますが、名前だけはポリシーの権限がAmazonCloudWatch-のプレフィックスがついたものを読むようになっているので、つけるようにします。
エージェントに反映
ここまで終わったら後はインスタンスに反映するだけです。
AmazonCloudWatch-ManageAgentのAction、Mode、OptionalConfiguration、OptionalRestarの4つを設定します。
これで設定完了です。
あとはメトリクスかログに入ってきてるか確認して終了ですね。
インスタンスの中に入らなくても問題なく設定出来ます。
以前は各インスタンス毎に設定してあったのですが、台数が多く辛いのでSSMを使うように変更しました。
今後のインフラ構築が少しは楽になるはずです。