先日Amazon CloudWatch AgentをAmazon CloudWacthのコンソールからインストールできるようになりました。
とはいえ、Amazon Ec2インスタンスにAmazon CloudWatch Agentをインストールする方法は複数あります。
あえてAmazon CloudWacthのコンソールからインストールする利点があるのか、実際に触ってみました。
今回の記事は、Amazon CloudWatch AgentをAmazon CloudWacthのコンソールからインストールする方法を紹介します。
Amazon CloudWatchはコンソール内でEC2のエージェント管理ができる
■前提
- Amazon EC2インスタンスが起動済み
- AWS Systems Manager (SSM) agentがインストール済み
わたしは今回、RHEL10を選択し、起動しました。
[ec2-user@ip-10-0-1-169 ~]$ cat /etc/os-release
NAME="Red Hat Enterprise Linux"
VERSION="10.0 (Coughlan)"
ID="rhel"
ID_LIKE="centos fedora"
VERSION_ID="10.0"
PLATFORM_ID="platform:el10"
PRETTY_NAME="Red Hat Enterprise Linux 10.0 (Coughlan)"
ANSI_COLOR="0;31"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:redhat:enterprise_linux:10.0"
HOME_URL="https://www.redhat.com/"
VENDOR_NAME="Red Hat"
VENDOR_URL="https://www.redhat.com/"
DOCUMENTATION_URL="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/10"
BUG_REPORT_URL="https://issues.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 10"
REDHAT_BUGZILLA_PRODUCT_VERSION=10.0
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="10.0"
■エージェントインストール
それではAmazon CloudWatch エージェントをインストールしていきましょう。
AWSマネジメントコンソールにサインインし、Amazon CloudWatchのサービス画面に遷移します。

エージェントインストールの設定画面がわかりにいくのですが、左のペインの[ Setup ]から[ 設定 ]をクリックしてください。

つぎに[ グローバル ]タブから、[ ワークロード検出を有効にする ]の項目の中の[ エージェントを管理 ]をクリックします。今回は[ EC2 インスタンスのワークロード検出 ]を有効化しなくて問題ないです。

↓

EC2インスタンスが起動済みで、かつSSMエージェントがインストール済みであれば、[ 自分の EC2 インスタンス ]の項目の中にCloudWacthエージェントをインストールしたいEC2インスタンスが表示されているはずです。
[ エージェントをインストールおよび設定 ]をクリックします。

[ インストールおよび設定のタイプ ]で[ インスタンスを手動で選択 ]を選択し、CloudWacthエージェントをインストールしたいEC2インスタンスを選択したあと、[ 次のステップ ]をクリックします。

必要なロールの作成が求められますので、作成しましょう。必要なロールがアタッチされましたら、[ エージェントをインストール ]のボタンが有効化されるので、クリックします。

↓

↓

インストール時点で確認してみると、
[ec2-user@ip-10-0-1-8 ~]$ dnf list installed | head
Not root, Subscription Management repositories not updated
Installed Packages
NetworkManager.x86_64 1:1.52.0-8.el10_0 @System
NetworkManager-cloud-setup.x86_64 1:1.52.0-8.el10_0 @System
NetworkManager-libnm.x86_64 1:1.52.0-8.el10_0 @System
NetworkManager-tui.x86_64 1:1.52.0-8.el10_0 @System
aardvark-dns.x86_64 2:1.14.0-1.el10 @System
alternatives.x86_64 1.30-2.el10 @System
amazon-cloudwatch-agent.x86_64 1.300061.0b1289-1 @System
しかし、サービスは起動していないようです。
[ec2-user@ip-10-0-1-8 ~]$ systemctl status amazon-cloudwatch-agent
○ amazon-cloudwatch-agent.service - Amazon CloudWatch Agent
Loaded: loaded (/etc/systemd/system/amazon-cloudwatch-agent.service; disabled; preset: disabled)
Active: inactive (dead)
今回はサーバーの基本的なキャパシティをモニタリングするため、[ EC2(Linux) ]を選択します。

もしCloudWatchエージェントの設定ファイルを確認したい場合、[ 設定の編集 ]をクリックすることで内容が確認できます。

内容に問題がなければ、[ 次のステップ ]をクリックします
[ CloudWatchエージェントを設定 ]をクリックします。
[CloudWatchエージェントが1個のインスタンスに設定されました]というメッセージがポップされたら完了です。

↓

↓

■動作確認
CloudWatchエージェントの動作確認を実施します。
インストールしたEC2インスタンスに接続し、サービスが稼働しているか確認しましょう。
[ec2-user@ip-10-0-1-8 ~]$ systemctl status amazon-cloudwatch-agent
● amazon-cloudwatch-agent.service - Amazon CloudWatch Agent
Loaded: loaded (/etc/systemd/system/amazon-cloudwatch-agent.service; enabled; preset: disabled)
Active: active (running) since Sun 2025-12-21 08:00:40 UTC; 2min 28s ago
Invocation: a1e2dad0f40a420ca8b9a2e5c9348b66
Main PID: 5817 (amazon-cloudwat)
Tasks: 8 (limit: 47660)
Memory: 31.1M (peak: 37.7M)
CPU: 434ms
CGroup: /system.slice/amazon-cloudwatch-agent.service
└─5817 /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent -config /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.toml -envcon>
Dec 21 08:00:40 ip-10-0-1-8.ap-southeast-1.compute.internal start-amazon-cloudwatch-agent[5828]: /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json>
Dec 21 08:00:40 ip-10-0-1-8.ap-southeast-1.compute.internal start-amazon-cloudwatch-agent[5828]: 2025/12/21 08:00:40 Reading json config file path: /opt/aws/amazo>
Dec 21 08:00:40 ip-10-0-1-8.ap-southeast-1.compute.internal start-amazon-cloudwatch-agent[5828]: 2025/12/21 08:00:40 I! Valid Json input schema.
Dec 21 08:00:40 ip-10-0-1-8.ap-southeast-1.compute.internal start-amazon-cloudwatch-agent[5828]: I! Trying to detect region from ec2
Dec 21 08:00:40 ip-10-0-1-8.ap-southeast-1.compute.internal start-amazon-cloudwatch-agent[5828]: 2025/12/21 08:00:40 D! loadAllTags: Loaded 2 tags
Dec 21 08:00:40 ip-10-0-1-8.ap-southeast-1.compute.internal start-amazon-cloudwatch-agent[5828]: 2025/12/21 08:00:40 D! ec2tagger processor required because appen>
Dec 21 08:00:40 ip-10-0-1-8.ap-southeast-1.compute.internal start-amazon-cloudwatch-agent[5828]: 2025/12/21 08:00:40 D! delta processor required because metrics w>
Dec 21 08:00:40 ip-10-0-1-8.ap-southeast-1.compute.internal start-amazon-cloudwatch-agent[5828]: 2025/12/21 08:00:40 D! ec2tagger processor required because appen>
Dec 21 08:00:40 ip-10-0-1-8.ap-southeast-1.compute.internal start-amazon-cloudwatch-agent[5828]: 2025/12/21 08:00:40 Configuration validation first phase succeeded
Dec 21 08:00:40 ip-10-0-1-8.ap-southeast-1.compute.internal start-amazon-cloudwatch-agent[5817]: I! Detecting run_as_user...
lines 1-21/21 (END)
問題なく動いていることが確認できました。
設定ファイルを確認すると、
[ec2-user@ip-10-0-1-8 ~]$ cat /etc/amazon/amazon-cloudwatch-agent/amazon-cloudwatch-agent.d/ssm__cloudwatch-agent_config_console-ec2-linux-1766304037762
{
"agent": {
"usage_metadata": [
{
"ObservabilitySolution": "EC2_HEALTH"
}
]
},
"metrics": {
"append_dimensions": {
"InstanceId": "${aws:InstanceId}"
},
"metrics_collected": {
"cpu": {
"append_dimensions": {
"InstanceType": "${aws:InstanceType}",
"ImageId": "${aws:ImageId}",
"AutoScalingGroupName": "${aws:AutoScalingGroupName}"
},
"measurement": [
"cpu_usage_idle",
"cpu_usage_iowait",
"cpu_usage_user",
"cpu_usage_system"
],
"totalcpu": true
},
"disk": {
"append_dimensions": {
"InstanceType": "${aws:InstanceType}",
"ImageId": "${aws:ImageId}",
"AutoScalingGroupName": "${aws:AutoScalingGroupName}"
},
"measurement": [
"used_percent",
"inodes_free"
],
"resources": [
"*"
],
"dimensions": [
[
"device",
"fstype",
"path"
]
]
},
"diskio": {
"append_dimensions": {
"InstanceType": "${aws:InstanceType}",
"ImageId": "${aws:ImageId}",
"AutoScalingGroupName": "${aws:AutoScalingGroupName}"
},
"measurement": [
"io_time"
],
"resources": [
"*"
]
},
"mem": {
"append_dimensions": {
"InstanceType": "${aws:InstanceType}",
"ImageId": "${aws:ImageId}",
"AutoScalingGroupName": "${aws:AutoScalingGroupName}"
},
"measurement": [
"used_percent"
]
},
"swap": {
"append_dimensions": {
"InstanceType": "${aws:InstanceType}",
"ImageId": "${aws:ImageId}",
"AutoScalingGroupName": "${aws:AutoScalingGroupName}"
},
"measurement": [
"used_percent"
]
}
}
}
権限設定に問題なければ、CloudWatchメトリクスでも表示されています。

今回の検証は以上です。
まとめ
先日追加されたCloudWatchコンソールからエージェントをインストールできる機能を触ってみました。
サーバーに接続せずにコンソールからインストールできるため、初心者の方にはおすすめの機能かもしれません。
また、今回利用していないですが、追加された機能の本来の用途は"エージェント管理"のようなので、次回は自動でインストールする方法を試してみようと思います。
参考リンク:AWS公式ドキュメント
↓ほかの協栄情報メンバーのAmazon CloudWatchについての記事を公開しています。ぜひ参考にしてみてください。
■CloudWatch AgentのWindows Event Logフィルターを使ってみた(齊藤弘樹)
■SSM Run CommandでWindows Server 2025にCloudWatch Agentをインストール&起動(齊藤弘樹)


