# 第7天:AWS CLI——用命令行操控云 ## 今天你将学到什么 今天安装和配置 AWS CLI(命令行界面),学会用键盘代替鼠标来操作 AWS。 你可能会问:有网页控制台了,为什么还要学命令行? --- ## 为什么要用命令行 用一个生活例子来说明: 假设你要给 100 个文件改名字。 - 用鼠标:右键 → 重命名 → 输入新名字 → 回车。重复 100 次。 - 用命令行:写一行命令,1 秒搞定 100 个。 在 AWS 中也是一样: - 用控制台创建 1 台服务器:点点点,2 分钟搞定。 - 用控制台创建 50 台配置相同的服务器:点到手抽筋。 - 用命令行创建 50 台服务器:一条命令,10 秒搞定。 **命令行的优势**: - **可重复**:命令可以保存成脚本,下次一键执行 - **可自动化**:配合定时任务、CI/CD 流水线 - **更快**:熟练后比点网页快得多 - **可审计**:命令历史就是操作记录 - **批量操作**:一条命令处理成百上千个资源 --- ## 安装 AWS CLI AWS CLI 有 v1 和 v2 两个版本,我们装最新的 v2。 ### Windows 安装 1. 下载安装包:https://awscli.amazonaws.com/AWSCLIV2.msi 2. 双击运行,一路点"Next" 3. 安装完成 ### macOS 安装 1. 下载安装包:https://awscli.amazonaws.com/AWSCLIV2.pkg 2. 双击运行,按提示安装 或者用 Homebrew(如果你装了的话): ``` brew install awscli ``` ### Linux 安装 ``` curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install ``` ### 验证安装成功 打开终端(Windows 用 PowerShell 或 Git Bash),输入: ``` aws --version ``` 看到类似 `aws-cli/2.x.x Python/3.x.x` 的输出就说明安装成功了。 --- ## 配置 AWS CLI 安装好了,但 CLI 还不知道"你是谁"。需要告诉它你的身份信息。 ### 第一步:创建 Access Key 1. 用你的 IAM 用户登录 AWS 控制台 2. 右上角点击你的用户名 → "安全凭证" 3. 往下找到 "访问密钥"(Access keys)→ "创建访问密钥" 4. 选择 "命令行界面 (CLI)" 5. 确认并创建 6. **重要**:记录下 Access Key ID 和 Secret Access Key **Secret Access Key 只显示这一次!** 关掉页面就再也看不到了。建议立刻复制保存到安全的地方(密码管理器)。 ### 第二步:运行配置命令 在终端输入: ``` aws configure ``` 它会依次问你四个问题: ``` AWS Access Key ID [None]: 输入你的 Access Key ID AWS Secret Access Key [None]: 输入你的 Secret Access Key Default region name [None]: ap-northeast-1 Default output format [None]: json ``` **Region 怎么选**: - 如果你在中国,选 `ap-northeast-1`(东京)或 `ap-southeast-1`(新加坡),延迟较低 - 如果纯学习不在意延迟,选 `us-east-1`(弗吉尼亚),服务最全、价格最低 **输出格式**: - `json`:程序友好,信息最全(推荐) - `table`:人类友好,像表格一样展示 - `text`:纯文本,适合脚本处理 ### 第三步:验证配置 输入以下命令: ``` aws sts get-caller-identity ``` 如果配置正确,会返回类似这样的信息: ```json { "UserId": "AIDAXXXXXXXXXXXXXXXXX", "Account": "123456789012", "Arn": "arn:aws:iam::123456789012:user/admin-daily" } ``` 这说明 CLI 已经知道你是谁了,可以开始使用了。 --- ## 试试几个基本命令 AWS CLI 的命令格式非常统一: ``` aws <服务名> <操作> [参数] ``` ### 列出你的 S3 桶 ``` aws s3 ls ``` 如果你还没创建过任何 S3 桶,会返回空结果(这是正常的)。 ### 查看你有哪些 EC2 实例 ``` aws ec2 describe-instances ``` 同样,如果没创建过,会返回空的列表。 ### 查看所有可用的 Region ``` aws ec2 describe-regions --output table ``` 这会以表格形式列出所有 AWS Region,很直观。 ### 查看当前账户信息 ``` aws iam get-user ``` 返回你当前 IAM 用户的详细信息。 --- ## 安全注意事项 Access Key 就像你家的钥匙,泄露了别人就能进你家。以下几点务必注意: **绝对不要做的事**: - 把 Access Key 写在代码里然后提交到 GitHub(每天都有人因此被盗) - 把 Access Key 发在聊天群里或邮件里 - 把 Access Key 存在桌面的 txt 文件里 **应该做的事**: - 用密码管理器保存 - 定期更换(比如每 90 天) - 不用的 Key 立刻删除 - 在 EC2 服务器上用"角色"而不是 Access Key(后面会学到) --- ## 今天的小测验 1. AWS CLI 的命令格式是什么? 2. `aws configure` 需要输入哪四个信息? 3. 为什么 Secret Access Key 只显示一次? 4. 为什么不应该把 Access Key 放在代码里? --- ## 延伸阅读 - [AWS CLI v2 安装指南](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) - [AWS CLI 命令参考](https://docs.aws.amazon.com/cli/latest/reference/) --- ## 明天预告 第一阶段完成!明天进入第二阶段"核心服务",从最重要的 EC2 开始——启动你人生中第一台云服务器。我们会一步步操作,让你真正体验到"几分钟就有一台服务器"的感觉。