使用Serverless部署Next.js到CloudFront时,如何修改S3源区域?
当然可以调整S3存储桶的区域啦!你用的@sls-next/serverless-component组件完全支持部署时指定目标区域,具体操作很简单,只需修改serverless.yml的配置即可,步骤如下:
修改S3区域为eu-central-1的具体操作
1. 更新serverless.yml配置
在你的Next.js应用组件配置中,添加region参数到inputs层级下,明确指定为eu-central-1。修改后的配置示例如下:
myNextApp: component: "@sls-next/serverless-component@1.17.0" inputs: region: eu-central-1
注意:
region必须放在inputs节点下,这是组件识别区域配置的正确层级,否则不会生效。
2. 重新部署应用
执行部署命令让新配置生效:
npx serverless
组件会自动在eu-central-1区域创建新的S3存储桶作为CloudFront的源站,同时完成CloudFront分发的关联配置(CloudFront本身是全球边缘网络,但源资源会部署在你指定的区域)。
3. (可选)清理旧区域资源
如果之前部署在us-east-1的S3桶及相关资源不再需要,你可以:
- 登录AWS控制台,进入S3服务手动删除旧存储桶(删除前请确认桶内数据已备份)
- 或者执行Serverless移除命令清理旧部署资源:
npx serverless remove
补充说明
这个region配置不仅会控制S3存储桶的区域,还会影响组件创建的其他辅助资源(比如非Lambda@Edge类型的Lambda函数)的部署区域,确保所有关联资源都统一部署在eu-central-1。
内容的提问来源于stack exchange,提问作者user1228739
相关产品推荐
相关产品推荐

