AWS Code Pipeline中AmazonCloudFormation CDK执行报错求助
问题分析与解决方案
问题原因
这个报错是因为CloudFormation部署阶段需要从SSM参数存储中读取CDK bootstrap生成的/cdk-bootstrap/hnb659fds/version参数,但该参数不存在,或者执行Pipeline的服务角色没有访问它的权限。
解决步骤
执行CDK Bootstrap初始化
该参数是CDK在bootstrap流程中自动创建的,若你还未在当前AWS账号和目标区域执行过bootstrap,运行以下命令:cdk bootstrap aws://<你的AWS账号ID>/<目标区域>替换
<你的AWS账号ID>和<目标区域>为实际信息,例如aws://123456789012/us-east-1。验证SSM参数是否存在
登录AWS控制台,进入Systems Manager -> 参数存储,搜索路径/cdk-bootstrap/hnb659fds/version:- 若参数不存在,重新执行上述bootstrap命令;
- 若参数存在,确认参数所在区域与你的Pipeline、CloudFormation栈区域一致。
调整CodePipeline服务角色权限
确保CodePipeline使用的服务角色拥有读取该SSM参数的权限,在角色的IAM策略中添加以下语句:{ "Effect": "Allow", "Action": "ssm:GetParameters", "Resource": "arn:aws:ssm:<区域>:<账号ID>:parameter/cdk-bootstrap/hnb659fds/version" }替换
<区域>和<账号ID>为实际值,保存策略后重新触发Pipeline执行。
内容的提问来源于stack exchange,提问作者Muhammad qasim
相关产品推荐
相关产品推荐

