创建AWS SSM文档失败求助:关联EventBridge触发PowerShell脚本
问题排查与修正方案
核心问题分析
你的SSM文档YAML存在三个关键错误:
- 重复的
description字段:YAML不允许同一层级出现重复键,你同时定义了两个顶层description,会直接导致文档创建失败。 - 错误的
InstanceId放置位置:SSM文档是通用执行模板,不应把实例ID硬编码在文档内部。实例ID需要在EventBridge触发执行时指定,而非写入文档本身。 - PowerShell命令语法问题:服务名称包含空格,未用引号包裹,执行时会因参数解析错误失败。
修正后的YAML配置
--- schemaVersion: "2.2" description: "Restart ColdFusion 2018 Service via SSM" mainSteps: - action: "aws:runPowerShellScript" name: "RunCommands" inputs: runCommand: - "Restart-Service -Name 'ColdFusion 2018 Application Server'"
后续配置说明
- 创建上述修正后的SSM文档后,在EventBridge规则中配置目标:
- 选择目标类型为
/AWS::EC2::Instance - 指定目标实例ID为
i-0bbec63d8fee3d6e3 - 关联你创建的SSM文档作为执行命令
- 选择目标类型为
- 确保目标实例已安装SSM Agent,并且拥有允许执行
aws:runPowerShellScript操作的SSM权限(比如AmazonSSMFullAccess或自定义权限策略)
内容的提问来源于stack exchange,提问作者John Prindesis
相关产品推荐
相关产品推荐

