You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git Webhooks与AWS服务模板us-east-1部署失败,请求协助

解决跨区域部署CloudFormation模板时的NoSuchBucket错误

我来帮你梳理下这个问题的根源和解决办法——本质上是跨区域部署时CloudFormation模板依赖的资源路径不匹配导致的连锁失败,下面一步步拆解:

问题核心原因

你在us-east-2区域能正常运行模板,说明所有依赖资源(比如存Lambda代码包的S3桶、相关脚本文件)都在这个区域存在。但切换到us-east-1后:

  • CopyZips自定义资源需要从指定S3桶复制ZIP文件到部署区域的临时桶,但这个源桶只在us-east-2存在,us-east-1没有对应的桶,直接触发NoSuchBucket错误。
  • 因为CopyZips创建失败,依赖它的KMS密钥资源也被系统取消创建,最终导致整个栈部署失败。

具体解决步骤

1. 定位模板中的源S3桶配置

打开你的CloudFormation模板,找到CopyZips这个AWS::CloudFormation::CustomResource资源,查看它的Properties字段,里面应该有SourceBucket和SourcePrefix的配置,这里的值指向的是us-east-2区域的S3桶。

2. 在us-east-1区域同步依赖资源

  • 先在us-east-1区域创建一个新的S3桶(命名可以参考原桶规则,比如your-template-resources-us-east-1)。
  • 使用AWS CLI将us-east-2桶中的ZIP文件批量复制到us-east-1的新桶中:
    aws s3 cp s3://your-original-us-east-2-bucket/path/to/zip-packages/ s3://your-new-us-east-1-bucket/path/to/zip-packages/ --recursive --region us-east-1
    

3. 修改CloudFormation模板的资源路径

  • 将模板中CopyZips的SourceBucket值替换为你在us-east-1创建的新桶名。
  • 确认SourcePrefix路径和原模板一致(保证复制的文件路径和模板预期匹配)。
  • 同时检查KMS密钥配置:如果KMS密钥是用于加密S3对象的,确保它的区域是us-east-1,或者调整加密策略适配目标区域的资源。

4. 重新部署模板

保存修改后的模板,在us-east-1区域重新提交CloudFormation栈创建请求。此时CopyZips能找到对应的源桶和文件,后续的KMS密钥及其他资源就能正常创建了。

额外提醒

AWS多数资源是区域特定的,跨区域部署时一定要确保所有依赖资源(S3桶、Lambda代码、KMS密钥等)都在目标区域存在或能被正确访问。如果模板中有硬编码的区域信息,记得统一替换为目标区域的配置。

内容的提问来源于stack exchange,提问作者Viet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:10:55