EC2コンソールからCloudWatch Agentを設定してみた

2026年4月29日に、Amazon EC2コンソールから直接CloudWatch Agentの設定ができる「ビジュアル設定エディタ」が提供されました。

 

これまでCloudWatch Agentを利用する場合、コマンドラインで対話式に設定したり、JSON形式の設定ファイルを作成・修正して読み込ませたりする必要がありました。

 

もちろん、JSONで管理できること自体は便利です。複数サーバーへ同じ設定を展開する場合や、設定内容をGit管理したい場合には、従来の方法の方が向いている場面もあります。

 

一方で、CloudWatch Agentを初めて設定する場合や、検証環境で「とりあえずメモリ使用率やログを収集したい」という場面では、設定項目を確認しながらJSONを書くのは少し手間に感じることもあります。

 

新しく追加されたビジュアル設定エディタでは、収集したいメトリクスやログを画面上で選択できるため、直感的にCloudWatch Agentの設定ができそうです。

 

今回の記事では、EC2コンソールからCloudWatch Agentをインストールし、/var/log/messagesをCloudWatch Logsに出力するところまでを紹介します。

 

 

今回やること

今回のハンズオンでは、以下を実施します。

 

  • EC2コンソールからCloudWatch Agentをインストールする
  • ビジュアル設定エディタでメトリクス収集を設定する
  • /var/log/messagesをCloudWatch Logsに転送する
  • ログが出力されない場合の原因を確認する

 

 

■CloudWatch Agentのビジュアル設定エディタを開く

まず、Amazon EC2 コンソールを開き、対象のEC2インスタンスを選択し、Monitoringタブをクリックします。

 

 

画面内にConfigure CloudWatch agentというボタンが表示されているため、こちらをクリックします。

 

今回の環境では、CloudWatch Agentがまだインストールされていなかったため、まずはエージェントのインストールから進めます。

 

 

■CloudWatch Agentをインストールする

Install agent をクリックします。

 

 

CloudWatch Agentがメトリクスデータを出力したり、ログストリームを作成したりするためには、EC2に適切なIAM権限が必要です。

 

画面上では、現在EC2にアタッチされているIAMロールにCloudWatchAgentServerPolicyを追加してよいか確認されました。

 

問題なければ、Create roleをクリックし、その後Installをクリックします。

 

 

数分待つと、CloudWatch AgentのステータスがInstalledになりました。

 

 

これで、EC2インスタンス上にCloudWatch Agentがインストールされました。

 

 

■CloudWatch Agentの設定を作成する

インストールが完了したため、次にCloudWatch Agentに「何を収集させるか」を設定していきます。

 

Configure CloudWatch Agentをクリックします。

 

 

これまでは、コマンドラインで対話式に選択したり、JSON形式の設定ファイルを直接修正したりしていましたが、ビジュアル設定エディタではGUI操作で設定できます。

 

まず、Agent Configurationを開いてみます。

 

 

ここでは、以下のような項目を設定できました。

  • Collection interval
  • Metric namespace
  • Agent user
  • Region

 

 

次に、EC2 (Mac, Linux)を開いてみます。

 

 

CPU、Memory、Disk、Networkなど、EC2上で収集できるメトリクスの項目が表示されます。

 

例えば、CPU Metricsを開くと、収集対象にできるCPU関連メトリクスが一覧で表示されました。

 

 

さらに、Memoryを開くと、メモリ使用率などのメトリクスを選択できます。

 

 

これまでは「どのメトリクスを設定できるのか」をドキュメントで確認しながらJSONに落とし込んでいましたが、画面上で一覧表示されるため、かなり分かりやすい印象でした。

 

 

■ログ収集の設定を追加する

ここまではメトリクス関連の設定でしたが、ログ収集もビジュアル設定エディタから追加できます。

 

Add integrationsをクリックします。

 

 

表示された画面でLogsタブを選択します。

 

Linuxのログを収集したいため、左側のLog collectionを選択し、Confirmをクリックします。

 

 

すると、どのログファイルを収集するかを設定する項目が追加されました。

 

Log file 1を開くと、以下の項目を設定できます。

 

 

  • File path
  • Log group name
  • Log stream name
  • Filter

 

今回は、/var/log/messagesをCloudWatch Logsに転送するように設定しました。

 

設定後、Nextをクリックします。

 

 

 

■設定内容を確認してデプロイする

確認画面では、設定する内容を確認できます。

 

また、作成された設定内容はJSON形式でも確認できました。

 

 

これは便利だと感じました。

 

ビジュアル設定エディタで設定した内容を確認しつつ、JSONとしてコピーまたはダウンロードしておけば、他のサーバーへ展開する際の参考にもできそうです。

 

内容に問題がなければ、Deployをクリックします。

 

 

画面には以下のようなメッセージが表示されました。

Deploying configuration. This operation may take several minutes. Please stay on this page until the installation is complete.

 

 

しばらく待つと、以下のメッセージが表示されました。

CloudWatch Agent has been configured on 1 instances (2 workloads configured)

 

 

今回の環境では、30秒ほどで設定が完了しました。

 

 

■メトリクスが増えていることを確認する

設定後、EC2の Monitoringタブを確認しました。

 

設定前はデフォルトで6個程度のメトリクスしか表示されていませんでしたが、CloudWatch Agentの設定後は26個に増えていました。

 
【設定前】

【設定後】

 

 

CloudWatch Agentによって、メモリやディスクなど、標準メトリクスだけでは確認できない項目も取得できるようになったことが分かります。

 

 

■ログが出力されない

次に、CloudWatch Logsのロググループを確認しました。

 

しかし、設定したはずの /var/log/messagesのログが出力されていません。

 

EC2コンソール上で設定が完結すると思っていましたが、原因を確認するためにEC2インスタンスへ接続し、CloudWatch Agentのログを確認します。

sudo tail -100 /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log

 

すると、以下のようなエラーが出力されていました。

2026-06-20T01:40:26Z E! [inputs.logfile] Failed to tail file /var/log/messages with error: open /var/log/messages: permission denied
2026-06-20T01:40:27Z E! [inputs.logfile] Failed to tail file /var/log/messages with error: open /var/log/messages: permission denied
2026-06-20T01:40:28Z E! [inputs.logfile] Failed to tail file /var/log/messages with error: open /var/log/messages: permission denied

 

エラー内容を見る限り、CloudWatch Agentが/var/log/messagesを読み取れず、権限不足で失敗しているようです。

 

 

/var/log/messagesの権限を確認する

現在の/var/log/messagesの権限を確認します。

ls -l /var/log/messages

 

実行結果は以下でした。

-rw-------. 1 root root 52504 Jun 20 01:47 /var/log/messages

 

所有者はroot、グループもrootで、権限は600です。

 

つまり、rootユーザー以外はこのファイルを読み取れません。

 

CloudWatch Agentはcwagentユーザーで動作していたため、cwagentユーザーで/var/log/messagesを読めるか確認します。

sudo -u cwagent head /var/log/messages

 

結果は以下の通りです。

head: cannot open '/var/log/messages' for reading: Permission denied

やはり、cwagentユーザーでは/var/log/messagesを読み取れませんでした。

 

今回ログがCloudWatch Logsに出力されなかった原因は、IAM権限ではなく、EC2インスタンス上のOSファイル権限でした。

 

 

■暫定対応としてファイル権限を変更する

今回は検証のため、暫定対応として/var/log/messagesの権限を変更します。

sudo chmod 644 /var/log/messages

 

変更後、再度cwagentユーザーで読み取れるか確認します。

sudo -u cwagent head /var/log/messages

 

今度は、以下のようにログの内容を確認できました。

Jun 20 00:00:55 ip-172-18-17-252 amazon-ssm-agent[1143]: 2026-06-20 00:00:55.9331 INFO [CredentialRefresher] Next credential rotation will be in 26.969649418166668 minutes
Jun 20 00:00:55 ip-172-18-17-252 systemd[1]: Starting Rotate log files...
Jun 20 00:00:55 ip-172-18-17-252 systemd[1]: rsyslog.service: Sent signal SIGHUP to main process 1146 (rsyslogd) on client request.

 

これで、CloudWatch Agentが/var/log/messagesを読み取れる状態になりました。

 

ただし、chmod 644はあくまで検証用の暫定対応です。

 

 

■CloudWatch Agentを再起動してテストログを出力する

権限変更後、念のためCloudWatch Agentを再起動します。

systemctl restart amazon-cloudwatch-agent.service

 

続いて、テストメッセージを/var/log/messagesに出力します。

logger "cloudwatch agent test message"

 

その後、CloudWatch Logsのロググループを確認します。

 

すると、/var/log/messagesのログが出力されており、先ほどのテストメッセージも確認できました。

 

 

これで、EC2コンソールから設定したCloudWatch Agentによって、ログをCloudWatch Logsに転送できることが確認できました。

 

 

使ってみた感想

今回、EC2コンソールからCloudWatch Agentのビジュアル設定エディタを使ってみました。

 

一番便利だと感じたのは、設定できるメトリクスが画面上に一覧で表示され、必要な項目を選択するだけで設定できる点です。

 

これまでは、CloudWatch Agentの設定ファイルを作成する際に、ドキュメントを確認しながら「このメトリクス名で合っているか」「この設定階層で正しいか」を確認する必要がありました。

 

ビジュアル設定エディタでは、設定できる項目を画面上で確認しながら選べるため、初めてCloudWatch Agentを触る人にとっても分かりやすいと思います。

 

また、設定内容をJSONで確認できる点もよかったです。

 

GUIで設定して終わりではなく、裏側でどのような設定ファイルが作成されているかを確認できるため、学習にも役立ちます。

 

一方で、実際にログ収集まで試してみると、OS側のファイル権限でつまずくことが分かりました。

 

今回のように/var/log/messagesを収集する場合、CloudWatch Agentの実行ユーザーが対象ログファイルを読み取れる必要があります。

 

IAMポリシーを正しく設定していても、EC2インスタンス上のファイル権限が不足しているとログ収集は失敗します。

 

この点は、ビジュアル設定エディタを使う場合でも従来と変わらず注意が必要です。

 

 

まとめ

今回は、Amazon EC2 コンソールからCloudWatch Agentをインストールし、ビジュアル設定エディタを使ってメトリクスとログ収集を設定してみました。

 

実際に使ってみると、メトリクスの選択やログ収集設定をGUIで行えるため、従来よりもかなり直感的に設定できると感じました。

 

特に、CloudWatch Agentの設定に慣れていない場合や、検証環境で素早く設定したい場合には便利です。

 

ビジュアル設定エディタは、CloudWatch Agentの設定を始めるハードルを下げてくれる便利な機能だと思います。

 

今後、CloudWatch Agent を初めて設定する場合や、メトリクス・ログ収集の設定内容を確認したい場合には、まずこのビジュアル設定エディタを試してみるのもよさそうです。

 

参考サイトリンク:about-aws

 

↓ほかの協栄情報メンバーもCloudWatchに関する記事を公開しています。ぜひ参考にしてみてください。

 

Amazon CloudWatchエージェントをタグベースで自動インストール(齊藤弘樹)

 

Amazon CloudWatch AgentをAmazon CloudWacthのコンソールからインストール(齊藤弘樹)

 

CloudWatch AgentのWindows Event Logフィルターを使ってみた(齊藤弘樹)

 

 

 

Last modified: 2026-06-20

Author