Uncategorized

RunCommand

はい、ステップ③(CloudWatch エージェントの起動)では、以下の2つの方法で JSON 設定ファイルを使うことができます:


✅ 方法①:JSON を直接 SSM Parameter Store に保存して使う(推奨)

💡 こんなときに便利:

  • すべて Run Command で完結したい場合
  • ウィザードを使いたくない or 自動化したい場合

📌 手順:

  1. JSON をローカルで用意(後述のテンプレート例参照)
  2. Systems Manager → Parameter Store → 「パラメータを作成」
    • 名前:/AmazonCloudWatch/Windows/agentconfig
    • タイプ:プレーンテキスト
    • 値:設定した JSON
  3. Run Command → AmazonCloudWatch-ManageAgent で以下を指定:
    • config location type: ssm
    • parameter name: /AmazonCloudWatch/Windows/agentconfig

✅ 方法②:ローカルファイルを EC2 に送って使用(Run Command 経由)

💡 こんなときに便利:

  • ローカルに設定ファイルがある
  • 一時的に EC2 に JSON ファイルを置きたい

📌 手順:

  1. Systems Manager → Run Command → AWS-RunPowerShellScript を使って、PowerShell 経由で JSON ファイルの内容をインラインで書き出す。

例(C:\ProgramData\Amazon\AmazonCloudWatchAgent\config.json に保存):

$Content = @'
{
  "metrics": {
    "metrics_collected": {
      "LogicalDisk": {
        "measurement": ["% Free Space"],
        "metrics_collection_interval": 60,
        "resources": ["*"]
      },
      "Memory": {
        "measurement": ["% Committed Bytes In Use"],
        "metrics_collection_interval": 60
      },
      "Processor": {
        "measurement": ["% Processor Time"],
        "metrics_collection_interval": 60,
        "resources": ["_Total"]
      }
    }
  }
}
'@

$Path = "C:\ProgramData\Amazon\AmazonCloudWatchAgent\config.json"
$Content | Out-File -Encoding ascii -FilePath $Path
  1. その後、Run Command → AWS-RunPowerShellScript で以下を実行し、JSON を指定して CloudWatch Agent を起動:
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" `
  -a fetch-config -m ec2 -c file:"C:\ProgramData\Amazon\AmazonCloudWatchAgent\config.json" -s

✅ CloudWatch Agent 設定 JSON(テンプレート)

{
  "metrics": {
    "metrics_collected": {
      "LogicalDisk": {
        "measurement": ["% Free Space"],
        "metrics_collection_interval": 60,
        "resources": ["*"]
      },
      "Memory": {
        "measurement": ["% Committed Bytes In Use"],
        "metrics_collection_interval": 60
      },
      "Processor": {
        "measurement": ["% Processor Time"],
        "metrics_collection_interval": 60,
        "resources": ["_Total"]
      }
    },
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}"
    }
  }
}

この JSON を Parameter Store に保存するか、ファイルとして配置して使うことで、Run Command 経由でも自由に設定できます。


ご希望であれば、Shell 用、マネージドポリシーの IAM JSON、VPC エンドポイントの設定一覧なども併せてお出しできます。必要があればお知らせください。

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