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

SAM deploy执行失败提示S3桶位于us-east-2区域如何解决

问题原因

你遇到的错误是跨区域S3资源访问不匹配导致的,核心逻辑如下:

  • 执行sam package时,代码包被上传到了位于us-east-2区域的S3存储桶
  • 执行sam deploy时没有指定部署区域,SAM默认调用本地AWS CLI配置的默认区域(从错误日志可判断默认区域为us-west-2),CloudFormation在us-west-2区域尝试拉取us-east-2区域存储桶内的代码时,触发S3永久重定向错误,最终导致Lambda函数创建失败。
解决方法

方案1:指定与S3桶同区域部署

执行deploy命令时明确添加区域参数,指定为S3桶所在的us-east-2即可:

sam deploy --template-file deploy.yaml --stack-name myStack4 --region us-east-2 --capabilities CAPABILITY_NAMED_IAM

注:添加--capabilities CAPABILITY_NAMED_IAM是因为你的模板内指定了自定义IAM角色,部署时需要显式授予CloudFormation操作IAM资源的权限,否则会触发权限不足错误。

方案2:切换S3存储桶到目标部署区域

如果你确实需要将资源部署到us-west-2区域,先在us-west-2区域新建一个S3存储桶,重新执行package命令指定新桶:

sam package --template-file template.yaml --output-template-file deploy.yaml --s3-bucket <你在us-west-2创建的新桶名称> --region us-west-2

之后再执行deploy命令,同样指定us-west-2区域即可。

方案3:使用引导式部署自动保存配置

首次部署时添加--guided参数,按照交互提示输入部署区域、S3桶等信息,SAM会自动生成samconfig.toml配置文件,后续部署无需重复输入参数:

sam deploy --guided

交互提示的Region项填写us-east-2,和S3桶的区域保持一致即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 06:24:02