カテゴリ: AWS CloudWatch 更新日: 2026/07/02

【AWS】CloudWatchエージェントのインストールと設定方法を徹底解説!EC2監視・ログ収集の完全ガイド

527
【AWS】CloudWatchエージェントのインストールと設定方法

先生と生徒の会話形式で理解しよう

生徒

「AWSでEC2のCPUやメモリを詳しく監視したいのですが、CloudWatchだけでは足りないのですか?」

先生

「標準のCloudWatchメトリクスではメモリやディスク使用率は取得できません。そのときに使うのがCloudWatchエージェントです。」

生徒

「CloudWatchエージェントは何をしてくれるのですか?」

先生

「EC2インスタンス内のメモリ、ディスク、ログファイルなどを収集し、Amazon CloudWatchへ送信してくれます。設定方法を順番に解説していきましょう。」

1. CloudWatchエージェントとは何か

1. CloudWatchエージェントとは何か
1. CloudWatchエージェントとは何か

CloudWatchエージェントとは、Amazon EC2などのサーバー内部情報を取得して、Amazon CloudWatchへ送信するための監視用エージェントです。AWS標準のCloudWatchメトリクスではCPU使用率などは確認できますが、メモリ使用率やディスク使用率、アプリケーションログの詳細監視までは取得できません。

そこでCloudWatchエージェントをインストールすることで、EC2の詳細監視、ログ収集、カスタムメトリクス送信が可能になります。AWS監視設計において非常に重要なコンポーネントです。

2. 事前準備とIAMロール設定

2. 事前準備とIAMロール設定
2. 事前準備とIAMロール設定

CloudWatchエージェントを利用するためには、EC2インスタンスに適切なIAMロールを付与する必要があります。CloudWatchへメトリクスやログを送信するための権限が必要だからです。

一般的には、CloudWatchAgentServerPolicyをアタッチしたIAMロールを作成し、EC2へ関連付けます。これを設定しないと、エージェントは正常にデータを送信できません。

IAMロールをEC2に関連付けた後、インスタンスへSSH接続して作業を行います。

3. LinuxにCloudWatchエージェントをインストールする方法

3. LinuxにCloudWatchエージェントをインストールする方法
3. LinuxにCloudWatchエージェントをインストールする方法

ここではAmazon Linux環境でCloudWatchエージェントをインストールする方法を解説します。多くのAWS初心者が利用する構成です。


sudo yum install amazon-cloudwatch-agent -y
Loaded plugins: priorities, update-motd, upgrade-helper
Installed:
  amazon-cloudwatch-agent.x86_64 0:1.300000.0-1
Complete!

インストール後、エージェント設定ファイルを作成します。ウィザード形式で作成する方法が簡単です。


sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
CloudWatch Agent configuration wizard

対話形式で、メトリクス収集やログ収集の設定を行います。初心者はウィザード利用がおすすめです。

AWSの基本用語や仕組みを、図解でサクッと理解したい人には、 入門の定番書がこちらです。

AWSの基本が全部わかる教科書をAmazonで見る

※ Amazon広告リンク

4. 設定ファイルの内容とカスタマイズ例

4. 設定ファイルの内容とカスタマイズ例
4. 設定ファイルの内容とカスタマイズ例

CloudWatchエージェントの設定はJSON形式で記述されます。例えば、メモリとディスク使用率を収集する場合は以下のようになります。


{
  "metrics": {
    "namespace": "EC2/Custom",
    "metrics_collected": {
      "mem": {
        "measurement": [
          "mem_used_percent"
        ],
        "metrics_collection_interval": 60
      },
      "disk": {
        "measurement": [
          "used_percent"
        ],
        "metrics_collection_interval": 60,
        "resources": [
          "/"
        ]
      }
    }
  }
}

この設定により、EC2のメモリ使用率とルートディスク使用率を60秒間隔でCloudWatchへ送信できます。AWS監視設計では、取得間隔と名前空間の設計も重要なポイントです。

5. CloudWatchエージェントの起動と確認方法

5. CloudWatchエージェントの起動と確認方法
5. CloudWatchエージェントの起動と確認方法

設定ファイル作成後、エージェントを起動します。


sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \
-a fetch-config \
-m ec2 \
-c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json \
-s
Starting the CloudWatch Agent

起動後、ステータス確認も可能です。


sudo systemctl status amazon-cloudwatch-agent
active (running)

その後、AWSマネジメントコンソールのCloudWatch画面で、カスタムメトリクスが表示されているか確認します。

6. アプリケーションログをCloudWatch Logsへ送信する方法

6. アプリケーションログをCloudWatch Logsへ送信する方法
6. アプリケーションログをCloudWatch Logsへ送信する方法

CloudWatchエージェントでは、アプリケーションログをCloudWatch Logsへ送信できます。例えば、nginxのアクセスログを送信する設定は以下のようになります。


{
  "logs": {
    "logs_collected": {
      "files": {
        "collect_list": [
          {
            "file_path": "/var/log/nginx/access.log",
            "log_group_name": "nginx-access-log",
            "log_stream_name": "{instance_id}"
          }
        ]
      }
    }
  }
}

この設定により、EC2上のログファイルが自動的にCloudWatch Logsへ転送されます。AWSログ監視や障害調査において非常に役立ちます。

7. CloudWatchエージェントを使った監視設計のポイント

7. CloudWatchエージェントを使った監視設計のポイント
7. CloudWatchエージェントを使った監視設計のポイント

AWS運用においては、CPU監視だけでなく、メモリ監視、ディスク監視、ログ監視を組み合わせることが重要です。CloudWatchエージェントを利用すれば、EC2の詳細監視が可能になります。

また、CloudWatchアラームと組み合わせることで、異常発生時にSNS通知を行うことも可能です。AWS監視設計では、メトリクス取得、アラーム設定、通知設計をセットで考えることが大切です。

初心者の方はまず、メモリ使用率とディスク使用率の取得から始めると理解が深まります。その後、ログ監視やカスタムメトリクスへと拡張していくとよいでしょう。

まとめ

まとめ
まとめ

今回はAWS環境におけるCloudWatchエージェントのインストール方法から設定方法、EC2監視、ログ収集、カスタムメトリクス送信までを体系的に解説しました。Amazon EC2の標準メトリクスだけでは取得できないメモリ使用率やディスク使用率、アプリケーションログ監視を実現するために、CloudWatchエージェントは非常に重要な役割を果たします。

AWS監視設計では、CPU監視だけで安心するのではなく、メモリ監視、ディスク監視、ログ監視、カスタムメトリクス監視を組み合わせることが安定運用の鍵となります。特に本番環境では、メモリ不足やディスク容量不足が原因でサービス停止につながるケースも少なくありません。そのため、CloudWatchエージェントを活用した詳細監視は、AWS運用において必須といえる知識です。

CloudWatchエージェントの導入手順は大きく分けて、IAMロール設定、Linuxへのインストール、設定ファイル作成、エージェント起動、動作確認という流れになります。この流れを正しく理解することで、AWS初心者の方でも確実にEC2監視環境を構築できます。

CloudWatchエージェント設定の再確認

例えば、メモリ使用率とディスク使用率を監視する基本的な設定は次のように記述します。設定ファイルはJSON形式で記述し、namespaceやmetrics_collection_intervalを適切に設計することが重要です。


{
  "metrics": {
    "namespace": "EC2/Custom",
    "metrics_collected": {
      "mem": {
        "measurement": [
          "mem_used_percent"
        ],
        "metrics_collection_interval": 60
      },
      "disk": {
        "measurement": [
          "used_percent"
        ],
        "metrics_collection_interval": 60,
        "resources": [
          "/"
        ]
      }
    }
  }
}

このように設定することで、EC2内部の詳細情報がAmazon CloudWatchへ送信され、CloudWatchダッシュボードやCloudWatchアラームと連携できます。AWS監視設計では、単にデータを取得するだけでなく、どのメトリクスをどの間隔で取得するかを明確にすることが重要です。

エージェント起動の確認手順

設定反映後は、必ずエージェントの起動確認を行いましょう。Linux環境ではsystemctlコマンドで状態を確認できます。


sudo systemctl status amazon-cloudwatch-agent
active (running)

activeと表示されていれば正常起動です。もし起動していない場合は、IAMロール設定や設定ファイルのパス、JSON記述ミスを確認してください。AWS運用では確認作業が非常に重要です。

ログ監視の重要性

CloudWatchエージェントはメトリクス監視だけでなく、CloudWatch Logsへのログ転送も可能です。例えばnginxのアクセスログやアプリケーションログを収集すれば、障害発生時の原因調査が迅速に行えます。AWSログ監視はトラブルシューティングの効率を大きく向上させます。

監視設計では、メトリクス監視とログ監視を分離せず、統合的に考えることがポイントです。CloudWatchアラームとSNS通知を組み合わせることで、異常発生時に即座に通知を受け取ることも可能になります。これにより、可用性の高いAWSシステム運用が実現できます。

先生と生徒の振り返り会話

生徒

CloudWatchエージェントを使うことで、EC2のメモリ監視やディスク監視ができるようになることが理解できました。

先生

その通りです。標準のCloudWatchメトリクスだけでは取得できない情報を補完するのがCloudWatchエージェントの役割です。

生徒

IAMロール設定が重要だという点も印象に残りました。権限がなければデータを送信できないのですね。

先生

はい。AWSでは必ずIAM設計を意識してください。監視設計とセキュリティ設計は密接に関係しています。

生徒

メトリクス監視とログ監視を組み合わせることで、より安定したAWS運用ができることも理解できました。

先生

素晴らしいですね。AWS初心者の方は、まずEC2のメモリ使用率とディスク使用率監視から始め、徐々にログ監視やカスタムメトリクスへと拡張していきましょう。それが確実なスキル向上につながります。

AWS CloudWatchの一覧へ
新着記事
Python
NumPyのdtypeとは?データ型の意味と仕組みを初心者向けに解説
NumPyのdtypeとは?データ型の意味と仕組みを初心者向けに徹底解説
Dart
Dartのクラスの作り方!定義・インスタンス生成の基礎
Dartのクラスの作り方を完全解説!初心者でも理解できるクラス定義とインスタンス生成の基礎
Java
Javaの同一性と同値性
Javaの同一性と同値性をわかりやすく解説!初心者向けの基礎知識
AWS
【AWS】s3 lsコマンドの使い方まとめ【オプション・ワイルドカード・日付指定】
【AWS】s3 lsコマンドの使い方まとめ【オプション・ワイルドカード・日付指定】
人気記事
Java
Java の Random クラスを使ってランダムな数値を生成する方法
JavaのRandomクラスの使い方を完全ガイド!初心者でもわかる乱数生成
Java
Java の getter メソッドと setter メソッドの使い方
Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
AWS
【AWS】S3の料金体系まとめ!無料枠・課金ポイント・見積もり方法まで
【AWS】S3の料金体系まとめ!無料枠・課金ポイント・見積もり方法まで

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク