Uncategorized

CloudWatchエージェント設定

以下では Windows Server 2022 AMI 上の EC2 に CloudWatch エージェント (統合 CloudWatch Agent) を導入し、
CPU 使用率・メモリ使用率・ディスク使用率 を 1 分間隔で収集する基本パターン**(Systems Manager 経由が推奨)** を手順化します。 


① IAM ロールを用意する — 事前準備

目的必要な AWS 管理ポリシー
CloudWatch へメトリクス送信CloudWatchAgentServerPolicy (AWS Documentation)
Systems Manager 経由で操作AmazonSSMManagedInstanceCore (AWS Documentation)
  1. IAM コンソール → ロールロールを作成
  2. 信頼されたエンティティは EC2 を選択。
  3. 上記 2 つのポリシーをアタッチし、ロール名 (例 EC2-CloudWatchAgentRole) で作成。
  4. EC2 起動時または [Instance Settings] → [Modify IAM role] でこのロールをアタッチ。
    • Windows 2022 AMI には SSM Agent がプリインストール されているので追加作業は不要。

② CloudWatch エージェントの配布

推奨: Systems Manager Distributor / Run Command

  1. Systems Manager → Distributor
    • パッケージ AmazonCloudWatchAgent を選択 → Install one time
  2. または Run Command でドキュメント AWS-ConfigureAWSPackage を呼び出し、パラメータ
    • action=Install
    • name=AmazonCloudWatchAgent
    • version=latest
  3. 数分後、AmazonCloudWatchAgent Windows サービスが追加されます。
    (AWS Documentation, AWS Documentation)

手動 (RDP/PowerShell) で MSI を入れる場合

$pkg = "C:\Temp\amazon-cloudwatch-agent.msi"
Invoke-WebRequest -Uri "https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi" -OutFile $pkg
Start-Process msiexec -ArgumentList "/i $pkg /qn" -Wait

(AWS Documentation)


③ メトリクス収集設定 (構成ウィザードを利用)

エージェントを入れると以下の実行ファイルが配置されます。

& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-config-wizard.exe"

主な質問に対する推奨回答例(最短で CPU/Memory/Disk を取る)

質問推奨選択
Collect StatsD/collectd?N
Collect metrics?Y (Windows Performance Counter)
OS typeWindows
Enable CloudWatch Logs?任意 (今回は N で可)
Memory metricsY → Basic or Standard (どちらでも % Committed Bytes In Use が入る)
Disk metricsY → 収集対象 * (全ボリューム)
CPU metricsY (% Processor Time)
Store the config in SSM Parameter Store?Y が便利 (例: /AmazonCloudWatch/Windows/agentconfig)

ウィザードが生成する JSON には

  • Processor % Processor Time (CPU)
  • Memory % Committed Bytes In Use (メモリ)
  • LogicalDisk % Free Space など (ディスク)
    が自動で含まれます。 (AWS Documentation, AWS Documentation)

④ エージェントを起動

SSM Parameter Store に保存した場合

& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" `
   -a fetch-config -m ec2 `
   -c ssm:AmazonCloudWatch/Windows/agentconfig -s

ローカル JSON の場合

& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" `
   -a fetch-config -m ec2 `
   -c file:"C:\ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json" -s

成功すると Windows サービス AmazonCloudWatchAgent が開始状態になります。


⑤ 動作確認とアラーム例

  1. CloudWatch コンソール → [Metrics] → [All → CWAgent]
    • グラフが落ち着くまで 1〜2 分必要。
  2. Processor % Processor Time が 80 % 超過で 5 分継続したら通知する例:
    • Metrics: CWAgent / Windows / InstanceId, % Processor Time
    • Statistic: Average, Period: 60 sec, Threshold: > 80 for 5 datapoints.
  3. 同様に % Committed Bytes In Use (メモリ) や % Free Space (ディスク) でアラームを作成。

⑥ 料金・ベストプラクティスの注意

ポイント補足
課金Custom メトリクスは 1 ,000 データポイントごとに課金が発生します。収集間隔や対象ボリュームを必要最小限に設定してください。 (AWS Documentation)
権限最小化監視だけなら CloudWatchAgentServerPolicy で十分。構成を Parameter Store に登録・更新する管理者用ロールには別途 CloudWatchAgentAdminPolicy を利用可。
テンプレート化複数インスタンスに同一設定を適用する場合は Parameter Store + Systems Manager State Manager で自動展開するのが楽。
ウィザード不要派手作業で JSON を書く場合はスキーマ (amazon-cloudwatch-agent-schema.json) を参照。 (AWS Documentation)

まとめ

  • IAM ロール (SSM + CWAgent) → Distributor or MSI でインストールウィザード or JSONamazon-cloudwatch-agent-ctl で起動 の 4 ステップで完了。
  • 以後 CWAgent 名前空間に CPU・メモリ・ディスクの詳細メトリクスが 1 分粒度で流れます。

この手順どおり構成すれば、追加ソフトなしで Windows 2022 EC2 のリソース使用率をリアルタイムに可視化できます。