凭据配置必须走 cli 链路,别在 vscode 里填 ak/sk;aws toolkit 不存密钥,只读取 ~/.aws/credentials 或 sso 配置,且需通过 aws sts get-caller-identity 返回 arn 验证有效性,region、profile 名(区分大小写)及函数部署参数必须严格一致。

凭据配置必须走 CLI 链路,别在 VSCode 里填 AK/SK
AWS Toolkit 不存密钥,只读取 ~/.aws/credentials 或 SSO 配置。点了 AWS: Login 没反应?不是插件坏了,是它根本没拿到凭证。
- 先确认
aws sts get-caller-identity在终端能返回 ARN —— 这是唯一可信的凭据有效性验证方式 - 用 IAM Identity Center(SSO)时,起始 URL 和 region 必须和管理员给的一致;region 选错会导致登录成功但资源列表为空
- 多 profile 场景下,VSCode 设置里的
aws.profile值必须和~/.aws/credentials中的段落名完全一致(区分大小写),比如[prod]就不能写成[PROD]
Deploy Function 失败,先看错误关键词再动手
右键 → Deploy Function 报错,90% 不是网络或权限问题,而是 region、函数名、包结构三者之一不匹配。
-
ResourceNotFoundException:检查 AWS Explorer 顶部显示的 region 是否和函数实际所在 region 一致;函数名是否拼错(大小写敏感) -
AccessDeniedException:不是“有权限就行”,必须显式包含lambda:UpdateFunctionCode或lambda:CreateFunction—— “只读”角色无法部署 -
InvalidParameterValueException:ZIP 包体积超 50MB(未启用层),或 handler 字符串(如index.handler)和实际文件路径/函数签名不一致(例如index.js里没有导出handler) - 无报错但函数没更新:确认你右键的是函数节点,不是
template.yaml—— 后者触发的是整个 SAM 应用部署,行为完全不同
本地调试启动失败,大概率是 runtime 环境缺失
点 Start Debugging 后控制台报 Cannot find module 'aws-sdk' 或类似 require 错误,本质是本地运行时缺依赖,和云端无关。
- 确保已执行
npm install(或yarn install)安装所有devDependencies和 runtime 依赖(包括aws-sdk) - 检查
.vscode/launch.json中runtimeExecutable是否匹配语言:Node.js 用node,Python 必须改为python,且pythonPath指向正确解释器(如/usr/bin/python3) - 模拟事件 JSON 中含中文或特殊符号时,务必用双引号包裹字符串,避免 JSON 解析失败导致 handler 提前退出
EC2 远程连接卡在 Permission denied,重点查三处
VSCode Remote-SSH 连不上 EC2,不是密码问题,而是 SSH 认证链某环断裂。
-
IdentityFile权限必须为600(Linux/macOS 执行chmod 600 ~/.ssh/my-key.pem;Windows 需右键 → 属性 → 安全 → 高级 → 禁用继承 → 仅保留当前用户“完全控制”) -
User必须匹配系统默认:Amazon Linux 用ec2-user,Ubuntu 用ubuntu—— 填错会导致连接后立即断开 -
HostName必须是 EC2 控制台当前显示的 IPv4 Public IP,不能复用旧地址或私有 IP(如172.31.x.x) - 若启用了非标准 SSH 端口(如
2222),~/.ssh/config中必须显式加Port 2222行,否则 Remote-SSH 默认只试 22
aws sts get-caller-identity 和检查 Explorer 顶部 region,能省掉大半排查时间。











