SSM Run Commandのみで、EC2にCloudWatch Logsエージェントを設定してみた
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
こんにちは、アノテーションのなかたです。
今回は、EC2にCloudWatch LogsエージェントをAWS Systems Manager Run Commandのみで設定してみました。
やってみる
1. EC2の起動
SSM接続できることがRun Commandの前提であるため、以下のようなインスタンスを用意します。
- AMIは、
Amazon Linux 2023を使用します パブリックIPの割り当てを有効にします- パブリックサブネットに起動します
- セキュリティグループは、HTTPSの
10.0.0.0/16を解放します
IAMロールに紐づけるIAMポリシー
AmazonSSMManagedInstanceCoreCloudWatchAgentServerPolicy
CloudWatchLogsへの書き込み権限も必要となるため
2. CloudWatch Logsエージェントのインストール
SSM Run CommandでAWS-RunShellScriptドキュメントを使用します。


実行するスクリプトは以下を用います。
/var/log/messagesをログファイルとして取得したいため、Amazon Linux 2023ではrsyslogのインストールが必要になります。
# CloudWatch Logsエージェントのインストール
wget https://s3.ap-northeast-1.amazonaws.com/amazoncloudwatch-agent-ap-northeast-1/centos/amd64/latest/amazon-cloudwatch-agent.rpm
rpm -U ./amazon-cloudwatch-agent.rpm
# rsyslogのインストール
dnf install -y rsyslog
systemctl enable rsyslog
systemctl start rsyslog
3. SSM Parameter StoreにCloudWatch Logsエージェントファイルの設定
こちらは、後ほどEC2にCloudWatch Logsエージェントファイルを設定するための手順です。
パラメータの名前は、CloudWatchLogsAgentJSONとします。

入力したエージェントファイルのJSONは以下になります。
{
"agent": {
"run_as_user": "root"
},
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/var/log/messages",
"log_group_class": "STANDARD",
"log_group_name": "amazon-cloudwatch-agent.log",
"log_stream_name": "{instance_id}",
"retention_in_days": 1
}
]
}
}
}
}
4. CloudWatch Logsエージェントファイルの設定
こちらは、AmazonCloudWatch-ManageAgentドキュメントを使用します。
Actionはconfigureとします。
また、Optional Configuration Locationに先ほど設定したSSMパラメータの値を入力します。

5. CloudWatchLogsエージェントの開始
こちらも、AmazonCloudWatch-ManageAgentドキュメントを使用します。
Actionはstartとします。

6. CloudWatchログの確認
この時点でCloudWatchのロググループを表示すると、
指定した名前であるamazon-cloudwatch-agent.logというログが確認できると思います。
おわりに
今まではEC2にSSH接続してインストールを行なっていましたが、今回行ったことにより画面をポチポチするだけでインストールが行えるようになります。
また、コマンドを覚える必要がなくなるため便利です。
参考にした記事
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。






