You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows系统CloudWatch Agent环境变量凭据及脚本启动问题

CloudWatch Agent 配置问题解决指南

1. 静态IAM凭据读取失败问题

  • 问题根源:$Env:AWS_ACCESS_KEY_ID这类命令设置的是当前PowerShell会话级环境变量,而CloudWatch Agent作为Windows服务运行,只会读取**机器级(Machine)**环境变量。
  • 正确设置方式:使用[System.Environment]::SetEnvironmentVariable指定Machine目标级别,确保服务能读取到凭据:
    [System.Environment]::SetEnvironmentVariable("AWS_ACCESS_KEY_ID", "YOUR_ACCESS_KEY", [System.EnvironmentVariableTarget]::Machine)
    [System.Environment]::SetEnvironmentVariable("AWS_SECRET_ACCESS_KEY", "YOUR_SECRET_KEY", [System.EnvironmentVariableTarget]::Machine)
    
  • 验证:设置完成后直接启动服务测试即可,服务启动时会自动加载机器级环境变量,无需额外刷新会话。

2. Userdata脚本中启动Agent无响应问题

  • 核心原因:Userdata默认使用32位PowerShell执行,而CloudWatch Agent安装在64位路径C:\Program Files\Amazon\...,32位PowerShell会自动重定向到Program Files (x86),导致找不到ctl脚本。
  • 解决步骤:
    1. 在Userdata中调用64位PowerShell执行启动命令,路径为C:\Windows\SysNative\WindowsPowerShell\v1.0\powershell.exe
    2. 可选:添加等待时间,确保Agent安装包完全初始化完成
    3. 可选:输出日志到本地文件,方便排查执行异常
  • 示例命令:
    # 等待Agent安装完成(根据实际情况调整时长)
    Start-Sleep -Seconds 30
    
    # 调用64位PowerShell执行启动命令,并记录日志
    C:\Windows\SysNative\WindowsPowerShell\v1.0\powershell.exe -Command "& 'C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1' -a fetch-config -m onPrem -s -c file:'C:\ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json'" 2>&1 | Out-File C:\cw-agent-start.log -Append
    
  • 验证:通过RDP连接后查看C:\cw-agent-start.log,确认命令执行状态是否有报错。

内容的提问来源于stack exchange,提问作者Juan Vega

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 13:15:51