Terraform的aws_serverlessapplicationrepository_cloudformation部署是否受ARN区域限制?
关于跨区域部署SAR应用的问题解答
核心结论
你无法直接使用us-east-1区域的SAR ARN将应用部署到其他区域,因为AWS Serverless Application Repository(SAR)是区域级服务,每个区域的SAR资源目录相互独立,跨区域无法直接访问对方的SAR应用。
权限拒绝的原因
你遇到的权限异常并非因为管理员角色权限不足,而是目标区域的SAR服务无法访问us-east-1区域的SAR应用资源——即使是同一AWS账号下,跨区域的SAR应用默认不具备互通性,服务层面就限制了这种访问。
可行解决方案
- 在目标区域重新发布SAR应用:这是最直接的办法。将你的应用代码、CloudFormation模板上传到目标区域的SAR,生成对应区域的ARN(格式为
arn:aws:serverlessrepo:<目标区域>:<ACCOUNT_NUMBER>:applications/app),然后在Terraform中使用这个新ARN进行部署。 - 检查目标区域是否有公开应用副本:如果你的应用是公开共享的,部分热门应用会被AWS同步到多个区域。可以登录目标区域的SAR控制台,搜索应用名称,若存在则直接使用该区域的ARN。
- 匹配Terraform Provider区域:部署时确保你的AWS Provider配置的区域与目标区域一致,同时使用对应区域的SAR ARN,避免区域不匹配导致的错误。
内容的提问来源于stack exchange,提问作者User9123
相关产品推荐
相关产品推荐

