Lapis Lazuli

technical blog for web developer

【AWS】CloudWatchAgentをSSMで設定する

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を使うように変更しました。
今後のインフラ構築が少しは楽になるはずです。