先日、Amazon CloudWatch エージェントをAmazon CloudWatchのコンソールからインストールできる機能が追加されました。
前回の記事では、Amazon CloudWatchのコンソールから 手動でEC2 インスタンスにCloudWatchエージェントをインストールする方法を紹介しました。
しかし、今回追加された機能はそれだけではありません。
タグベースのポリシーを作成することで、新しく起動されたEC2インスタンスに対してCloudWatch エージェントを自動でインストールできる機能も追加されました。
エージェントのインストールを自動で管理できるようになったことで、EC2構築時の作業を減らし、構築時間の短縮が期待できます。
今回の記事では、タグベースのポリシーを利用して、新しく起動されたEC2インスタンスにCloudWatch エージェントを自動でインストールする方法を紹介します。
Amazon CloudWatchを自動インストール
■前提
タグベースの設定を行うため、以下の前提条件を満たしている必要があります。
- Amazon EC2インスタンスが起動済み
- AWS Systems Manager (SSM) agentがインストール済み
- EC2インスタンスに以下のタグが付与されていること
- Key: CWAgentEnabled
- Value: true
■タグベース設定
それではタグベースを設定していきましょう。
↓AWSマネジメントコンソールにサインインし、Amazon CloudWatchのサービス画面に遷移します。

↓左のペインの[ Setup ]から[ 設定 ]をクリックしてください。

↓つぎに[ グローバル ]タブから、[ ワークロード検出を有効にする ]の項目の中の[ エージェントを管理 ]をクリックします。[ EC2 インスタンスのワークロード検出 ]を有効化しましょう。

↓

↓

↓[ エージェントを管理 ]をクリックします。

↓[ エージェントをインストールおよび設定 ]をクリックします。

↓[ インストールおよび設定のタイプ ]から[ インスタンスタグを指定 ]を選択します。

↓[ インスタンスを選択 ]欄で、CloudWatchエージェントをインストールするEC2インスタンスを識別するためのタグを設定します。
- キー: CWAgentEnabled
- 値 (オプション): true

↓[ ロールを作成 ]をクリックします。

↓

↓

↓作成が完了しましたら、デフォルト設定のまま、[ エージェントをインストール ]をクリックします。

↓

↓[ CloudWatch エージェントがタグ「CWAgentEnabled:true」にインストールされました。新しいタグベースの設定「CloudWatch-Agent-1766807002397」が作成されました。 ]と表示されましたら、インストールが完了しています。

ただし、画面がローディング状態(ぐるぐる表示)のまま変わらない場合があるため、その場合は ブラウザを更新してください。

念のため、サーバーに接続してインストールを確認しましたら、インストール自体は完了していました。
[ec2-user@ip-10-0-1-117 ~]$ 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)
ブラウザ更新して、もう一度ステップ2へ
↓[ インストール済み ]であることを確認し、[ CloudWatchエージェントを設定 ]をクリックします。

↓今回はサーバーの基本的なキャパシティをモニタリングするため、[ EC2(Linux) ]を選択し、内容に問題がなければ、[ 次のステップ ]をクリックします

↓[ CloudWatchエージェントを設定 ]をクリックします。

↓

[CloudWatchエージェントが1個のインスタンスに設定されました]というメッセージがポップされたら完了です。

前回と違い、[ CloudWatchエージェント ]のサービス画面には、[ タグベースの設定 ]という項目が追加されており、さきほど作成したタグベースのポリシーが表示されました。

以上でタグベースの設定は完了です。
■動作確認
次に、タグベース設定で指定したタグを付与したEC2 インスタンスを起動し、CloudWatch エージェントが自動でインストールされるか確認します。
以下のタグを付与したEC2インスタンスを起動します。
- Key: CWAgentEnabled
- Value: true

また、CloudWatchエージェントがインストールされないことを確認するため、以下のタグを付与したEC2 インスタンスも起動します。
- Key: CWAgentEnabled
- Value: false

起動が完了しましたら、[ CloudWatchエージェント ]のサービス画面を見てみると、
- { Key: CWAgentEnabled, Value: true }を追加したEC2インスタンスにはCloudWatchエージェントがインストールされており、
- { Key: CWAgentEnabled, Value: false }を追加したEC2インスタンスにはCloudWatchエージェントがインストールされていないこと、
が確認できました。

以上で動作確認は完了です。
まとめ
Amazon CloudWatchのコンソールにEC2のエージェント管理機能が追加され、タグベースでCloudWatchエージェントの自動デプロイおよび管理が可能になりました。
今回試したタグベース設定による自動インストールは、既存のEC2インスタンスだけでなく、新しく起動されたEC2インスタンスにも適用されるため、構築作業の効率化と構築時間の短縮につながることが確認できました。
今回検証したのは新機能の一部ですが、ワークロードを自動検出し、その内容に応じてモニタリング設定を行う機能も提供されているようなので、次回はそちらも試してみたいと思います。
参考リンク:AWS公式ドキュメント
↓ほかの協栄情報メンバーのAmazon CloudWatchについての記事を公開しています。ぜひ参考にしてみてください。
■Amazon CloudWatch AgentをAmazon CloudWacthのコンソールからインストール(齊藤弘樹)
■CloudWatch AgentのWindows Event Logフィルターを使ってみた(齊藤弘樹)
■SSM Run CommandでWindows Server 2025にCloudWatch Agentをインストール&起動(齊藤弘樹)


