はじめに
EC2インスタンスの標準メトリクスでは取得できないようなリソース監視であったり、EC2インスタンス上のプロセス監視を行う時には、CloudWatch Agentをインストールして使用しますが、なかなか普段構築する機会がないものの、今後も一定の需要はあるので、自分メモ的な感じで備忘録としてまとめています。
スピード優先だったので、これが正解とは言えないと思うのですが、まぁ自分メモですので。
CloudWatch Agentのインストール方法
本来は、「新しいCloudWatch Agentでメトリクスとログの収集が行なえます」の記事と同じような形で順を追ってインストールして行ったほうが理解としては確実になるのですが、今回はスピード感重視であるのと、新規に構築したEC2インスタンスに対してインストールを行わなければいけなかったので、AWS Systems Manager Quick Setupの機能を用いてSSM Agentと同時にインストールしてしまいます。
インストールの手順は至って簡単で、
- AWS Systems Manager – 高速セットアップ(Quick Setup)を選択して、高速セットアップ(Quick Setup)のコンソールに移動
- 右上の[Create]ボタンをクリック
- ウィザードに飛ぶので、Host Managementの[Create]ボタンをクリック
- Configuration optionsのセクションで、下の画像の通り、チェックボックスを全て選択して、SSM Agentと一緒にCloudWatch Agentも自動的にインストールできるようにする
- Targetsのセクションで、インストール対象のEC2インスタンスがいるリージョン(基本的にはCurrent Regionで問題ないはず)で、Manualを選択して、インストールしたいEC2インスタンスを選択する
- 右下の[Create]ボタンをクリックすれば、勝手にSystems Manager側で、SSM AgentのインストールとCloudWatch Agentのインストールまでやってくれる
追加のIAMポリシーの設定
Quick Setupの機能を用いてインストールを実行すると、デフォルトでEC2インスタンスに対して、AmazonSSMRoleForInstancesQuickSetupというIAMロールがアタッチされるのですが、これだけではCloudWatch Agentの初期設定ができないため、あらかじめ、このIAMロールに対して、CloudWatchAgentAdminPolicyというAWS管理ポリシーを追加でアタッチしてあげる必要があります。
自分の場合はここで思い切りひっかかってしまったので要注意。
これでCloudWatch Agentの初期設定は完了です。
CloudWatch Agentの初期設定
sshでEC2インスタンスに入り、
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
を実行するとウィザードが立ち上がるため、その内容に従って淡々と設定を進めていけば問題がないかなと思います。1箇所だけ、使い回しを利かせるため、以下の内容については”1″を選択しておいた方が便利です。
Do you want to store the config in the SSM parameter store?
1. yes
2. no
default choice: [1]:
1
で、最終的に以下のメッセージが出力されれば、初期設定は無事に完了になります。
Successfully put config to parameter store AmazonCloudWatch-linux.
Program exits now.
CloudWatch Agentは、運用上様々な機会で使用することが多いと思うので、できるだけ設定作業は簡素化しておきたいところ。今回は手作業で試してみましたが、今後のことも考えてコード管理できるようにしたいと思っています。