能否通过SSM Command更新AWS SSM Parameter Store中的参数?
解决方案
AWS Systems Manager Run Command(你所说的SSM Command)的设计定位是对SSM托管节点(EC2实例、本地服务器、边缘设备等)执行运维操作,本身不支持直接将Parameter Store作为执行目标运行命令,你可以通过以下两种可行方案实现需求:
方案1:使用托管EC2实例作为执行载体
选择一台已完成SSM托管的EC2实例作为命令执行的中转节点,在该实例上调用AWS CLI接口完成参数更新:
- 前置准备
- 中转EC2实例已安装SSM Agent,且绑定的IAM角色包含
AmazonSSMManagedInstanceCore权限策略,已被SSM正常托管 - 中转实例的IAM角色新增
ssm:PutParameter权限,授权操作你需要更新的目标参数ARN
- 中转EC2实例已安装SSM Agent,且绑定的IAM角色包含
- 执行命令(Linux实例选择
AWS-RunShellScript命令文档,Windows实例选择AWS-RunPowerShellScript):aws ssm put-parameter --name "<你的参数名>" --type "String" --value "<新参数值>" --overwrite
如果需要更新SecureString类型的参数,在命令中新增--type "SecureString"参数即可
方案2:使用SSM Automation实现无实例更新
如果不想占用EC2资源,可以使用SSM Automation服务,它支持直接调用AWS服务的公开API,无需托管实例作为载体:
- 操作步骤
- 打开AWS Systems Manager控制台,进入「自动化」模块
- 选择执行自动化文档,搜索官方预置的
AWS-UpdateSSMParameter文档 - 按页面提示填写目标参数名、新参数值、参数类型、是否覆盖已有参数等配置,提交执行即可完成更新
- 权限要求:执行自动化操作的IAM身份(用户/角色)需要拥有
ssm:StartAutomationExecution、ssm:PutParameter对应资源的权限
内容的提问来源于stack exchange,提问作者John clarkson
相关产品推荐
相关产品推荐

