创建AWS SageMaker MLOps项目时CloudFormation报Provisioning failed错误
问题场景
在SageMaker Studio中测试MLOps功能,选用SageMaker官方提供的覆盖模型构建、训练、部署、监控全流程的MLOps模板创建项目时,出现Provisioning failed报错,错误由CloudFormation返回。
当前配置参考截图:
- 报错详情:

- 关联关系配置:

- IAM角色配置:

常见配置遗漏排查项
- 检查SageMaker Studio执行角色权限:官方MLOps模板会自动编排CloudFormation、CodePipeline、CodeBuild、S3、ECR、IAM、SageMaker多类资源,执行角色如果仅配置SageMaker基础访问权限,缺少
cloudformation:*、codepipeline:*、codebuild:*、iam:CreateRole、iam:AttachRolePolicy、iam:PassRole、s3:CreateBucket、ecr:*相关权限,会直接导致资源创建失败。同时要确认角色没有附加限制上述资源创建的权限边界策略。 - 校验代码源关联配置:如果模板配置了GitHub/GitLab作为源仓库,要确认关联的CodeStar连接状态为Available,不是待授权状态,且连接已获得目标仓库的读写权限,配置中填写的仓库名、分支名无拼写错误、与实际仓库完全匹配。
- 定位CloudFormation栈具体失败原因:直接进入CloudFormation控制台,找到对应MLOps项目的失败栈,切换到「事件」标签页,筛选状态为
CREATE_FAILED的资源查看具体报错:- 如果失败资源是IAM角色/策略,补全上述提到的IAM相关权限即可
- 如果失败资源是S3存储桶/ECR镜像仓库,检查当前账号对应区域是否存在同名资源,S3桶名为全局唯一,重名会直接触发创建失败
- 如果失败资源是VPC/安全组/子网相关,确认所选子网有足够可用IP,安全组没有限制SageMaker、CodeBuild等服务的内网访问权限
- 检查服务配额:确认当前区域下SageMaker项目数量、CodePipeline并行流水线数量、CloudFormation栈数量未达到账号配额上限,配额不足也会返回Provisioning failed错误。
- 校验模板参数:如果自定义修改过官方模板的默认参数,确认所有必填参数都填写了合法值,比如部署实例类型为当前账号支持的规格,模型名称、项目名称无非法特殊字符。
内容的提问来源于stack exchange,提问作者zhi qin wang
相关产品推荐
相关产品推荐

