Serverless部署NestJs到AWS Lambda失败:sls deploy卡住无详细输出
部署卡顿时排查解决步骤
- 校验AWS凭证权限:确认本地配置的AWS访问密钥(
~/.aws/credentials或环境变量中的AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY)有效,且对应账号拥有CloudFormation、Lambda、S3、API Gateway、IAM等相关服务的操作权限,权限不足会导致部署流程无报错静默卡住。 - 开启全量Debug日志定位卡点:执行命令
SLS_DEBUG=* sls deploy -v,该命令会输出部署全流程的调试日志,可直接定位到具体卡住的执行环节,比如是卡在代码打包、资源上传还是CloudFormation栈创建阶段。 - 检查serverless.yml配置合规性:
- 确认
provider.region填写的是AWS支持的有效区域编码,不要使用无效/未开通的区域 - 确认
package下的exclude/include配置没有错误过滤核心部署文件,也没有引入超大体积的无用文件导致打包上传耗时过长被误认为卡住 - 确认
runtime配置为AWS Lambda当前支持的Node.js版本(如16.x/18.x/20.x),不要使用已下线的废弃版本
- 确认
- 排查网络问题:AWS服务部署需要访问海外节点,确认本地网络没有防火墙拦截、代理配置冲突,可尝试切换网络后重新执行部署命令。
- 查看AWS控制台侧日志:如果是卡在CloudFormation栈操作环节,可以直接登录AWS控制台进入CloudFormation服务页面,找到对应部署栈的事件日志,会明确展示栈操作失败的具体原因,比如资源命名冲突、账号配额不足等。
内容的提问来源于stack exchange,提问作者Nishant
相关产品推荐
相关产品推荐

