环境准备:AWS账号注册、IAM用户创建、CLI工具安装配置
好,咱们正式开始动手了。这一章说白了就是搭台子。你想想看,后面所有的API网关配置、Lambda函数部署、Serverless应用调试,全都得跑在AWS上。所以先把环境收拾利索,后面才能专心搞业务逻辑。
我个人习惯是,每接手一个新项目,都会重新检查一遍账号权限和CLI配置。为什么?因为我在项目中遇到过好几次,折腾半天发现是权限不够,或者CLI版本太老导致API调用失败。嗯,这种坑踩一次就够了。
1. AWS账号注册
如果你还没有AWS账号,先去 aws.amazon.com 注册一个。流程很简单,但有几个点我得提醒你:
- 邮箱验证:注册后AWS会发一封验证邮件,记得去收件箱(包括垃圾箱)找找。我有个同事曾经等了半小时,结果发现邮件被Gmail自动归类到了「推广」标签里。
- 信用卡绑定:AWS要求绑定一张国际信用卡,用于验证身份。放心,免费套餐内的资源不会扣费。但注意——别手滑开通了付费实例。
- 手机验证:注册过程中会收到一个自动语音电话,输入屏幕上显示的验证码即可。这个环节有时候会卡住,如果没接到电话,可以等几分钟再试一次。
⚠️ 重要提醒:注册完成后,立刻开启 MFA(多因素认证)。我见过有人因为账号被盗,一夜之间被开了几百台GPU实例,账单直接炸了。别问我怎么知道的……嗯,那不是我,是我朋友。
2. IAM用户创建
注册完的账号是「根用户」,权限太大,日常操作千万别用。正确的做法是:创建一个IAM用户,只给最小必要权限。
具体步骤:
- 登录AWS控制台,搜索「IAM」服务。
- 点击「用户」→「创建用户」。
- 输入用户名,比如
api-gateway-dev。 - 勾选「提供用户对AWS管理控制台的访问权限」——如果你需要Web界面操作的话。
- 在「设置权限」页面,选择「直接附加策略」。我建议你先给
AdministratorAccess方便学习,但生产环境一定要按需分配。 - 创建完成后,下载或复制 访问密钥ID 和 秘密访问密钥。这两个东西后面CLI配置要用。
💡 我的经验:IAM用户创建后,最好立刻测试一下能否正常登录。我曾经遇到过权限策略没生效的情况,结果第二天上课时学生全卡在登录环节,场面一度很尴尬。
3. AWS CLI 安装与配置
CLI是咱们和AWS交互的瑞士军刀。后面所有API网关的部署、Lambda的上传、日志的查看,都可以用命令行搞定。比在Web界面里点来点去高效多了。
3.1 安装CLI
根据你的操作系统选择安装方式:
| 操作系统 | 安装命令 |
|---|---|
| macOS | brew install awscli |
| Ubuntu/Debian | sudo apt install awscli |
| Windows | 下载MSI安装包,或使用 choco install awscli |
| 通用(pip) | pip install awscli --upgrade --user |
安装完成后,验证一下:
aws --version
# 输出类似:aws-cli/2.15.0 Python/3.11.0 ...
如果版本号低于2.x,我建议你升级到最新版。因为AWS CLI v2支持了很多新特性,比如自动补全、SSO登录等。我在项目中就遇到过v1版本不支持某个API参数的情况,折腾了半天才发现是版本问题。
3.2 配置CLI
运行配置命令:
aws configure
系统会依次询问:
- AWS Access Key ID:输入刚才保存的访问密钥ID
- AWS Secret Access Key:输入秘密访问密钥
- Default region name:建议填
ap-northeast-1(东京)或us-east-1(美东)。我习惯用东京,延迟低一些。 - Default output format:填
json,方便后面解析结果。
配置完成后,测试一下连通性:
aws sts get-caller-identity
如果返回了你的IAM用户信息,说明配置成功了。如果报错,八成是密钥填错了,或者IAM用户没有 sts:GetCallerIdentity 权限。
🔑 密钥安全:
~/.aws/credentials 文件里存着你的密钥,千万别提交到Git仓库。我建议在 .gitignore 里加上 .aws/。另外,生产环境推荐使用 IAM角色 而不是长期密钥,这个后面章节会细讲。
4. 验证环境
最后,咱们跑一个简单的命令,确认整个链路是通的:
aws s3 ls
# 如果没有任何S3桶,输出为空,但不会报错
再试试API网关相关的命令:
aws apigateway get-rest-apis
# 输出:{ "items": [] }
看到空数组就对了。说明CLI能正常调用API网关服务。
嗯,到这里环境就准备好了。下一章咱们会正式创建第一个API网关,并把它和Lambda函数连起来。到时候你会发现,前面这些准备工作花的时间,绝对值回票价。