保姆级教程:在Rocky Linux 9.2和Windows 11上搞定AWS CLI v2安装与配置
零基础实战Rocky Linux 9.2与Windows 11双平台AWS CLI v2全流程指南第一次接触AWS命令行工具时我盯着终端里密密麻麻的参数不知所措。直到在一次项目紧急部署中被迫深入使用AWS CLI才发现它远比图形界面高效——前提是你能跨过初始配置那道坎。本文将用最直白的语言带你完成从零开始到熟练操作的全过程特别针对Rocky Linux 9.2和Windows 11这两个主流平台。1. 环境准备与权限配置1.1 IAM用户创建实操在AWS控制台左侧导航栏找到IAM服务时别被各种选项吓到。我们只需要关注三个关键操作创建用户组建议命名为CLI-Users赋予AmazonS3ReadOnlyAccess权限根据实际需求调整添加新用户用户名推荐格式cli-{你的名字}-access勾选编程访问保存密钥文件下载CSV时立即重命名为aws-credentials-backup.csv并存放到安全位置密钥丢失后无法再次查看必须重新生成。建议使用1Password等工具加密存储创建完成后你会得到两组关键数据aws_access_key_id AKIAXXXXXXXXXXXXXXXX aws_secret_access_key XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1.2 多因素认证强化在安全凭证标签页找到分配MFA设备选项。推荐使用Authy这类跨平台验证器# Linux下安装Authy sudo dnf install https://download.authy.com/repository/rpm/stable/x86_64/authy-stable-2.4.2-1.x86_64.rpmWindows用户可以直接从Microsoft Store获取Authenticator应用。绑定后所有敏感操作都需要输入6位动态码。2. Rocky Linux 9.2安装详解2.1 依赖项检查与安装首先确认系统架构和基础工具链uname -m # 应显示x86_64 sudo dnf install -y unzip curl which遇到证书问题时这个命令能快速修复sudo update-ca-trust force-enable2.2 分步安装流程实际安装过程比官方文档更注重错误处理下载安装包国内用户可替换为清华镜像源curl https://mirrors.tuna.tsinghua.edu.cn/aws-cli/awscli-exe-linux-x86_64.zip -o awscliv2.zip解压时验证完整性unzip -t awscliv2.zip unzip awscliv2.zip安装到自定义目录避免污染系统路径sudo ./aws/install --bin-dir /usr/local/bin --install-dir /opt/aws-cli验证安装成功的正确姿势aws --version | grep aws-cli/2 # 应显示版本号2.3 配置技巧与测试交互式配置时使用--profile参数创建多环境配置aws configure --profile dev aws configure --profile prod测试连接时推荐使用低权限操作aws sts get-caller-identity --profile dev3. Windows 11专业配置3.1 安装包选择策略从官网下载MSI安装包时注意区分版本类型适用场景下载大小标准版大多数用户45MB带SSE的版本老旧CPU47MBARM64版Surface Pro X等设备43MB安装时勾选添加到PATH选项否则后续操作需要完整路径。3.2 PowerShell环境优化在管理员权限下执行Set-ExecutionPolicy RemoteSigned -Force Install-Module -Name AWSPowerShell.NetCore -Force创建配置文件快捷方式New-Item -Type Directory -Path $HOME\.aws notepad $HOME\.aws\credentials3.3 常见错误处理当出现无法加载DLL错误时[Net.ServicePointManager]::SecurityProtocol [Net.SecurityProtocolType]::Tls12连接超时问题尝试$env:AWS_EC2_METADATA_SERVICE_TIMEOUT 104. 双平台通用技巧4.1 命令自动补全Linux用户添加到.bashrccomplete -C /usr/local/bin/aws_completer awsWindows用户需要Import-Module AWSPowerShell.NetCore TabExpansion -Register4.2 安全最佳实践定期轮换密钥的自动化脚本#!/bin/bash OLD_KEY$(aws configure get aws_access_key_id) aws iam create-access-key --user-name $USER # 新密钥配置过程... aws iam delete-access-key --access-key-id $OLD_KEY4.3 性能调优修改~/.aws/config文件增加[default] cli_pager cli_connect_timeout 10 cli_read_timeout 305. 深度功能探索5.1 SSO集成配置现代企业环境推荐使用AWS SSOaws configure sso配置完成后会自动打开浏览器进行认证成功后生成短期凭证。5.2 跨账户操作假设你有开发(123456789012)和生产(210987654321)两个账户aws sts assume-role \ --role-arn arn:aws:iam::210987654321:role/Admin \ --role-session-name ProdSession将输出临时凭证导入环境变量export AWS_ACCESS_KEY_IDASIAXXXXXXXXXXXXXXXX export AWS_SECRET_ACCESS_KEYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX export AWS_SESSION_TOKENXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...5.3 输出格式处理jq工具的高级用法示例aws ec2 describe-instances | jq -r .Reservations[].Instances[] | select(.State.Namerunning) | .InstanceIdWindows用户可以用ConvertFrom-Jsonaws ec2 describe-instances | ConvertFrom-Json | Select-Object -ExpandProperty Reservations6. 维护与排错6.1 版本升级方案Linux系统优雅升级sudo ./aws/install --bin-dir /usr/local/bin --install-dir /opt/aws-cli --updateWindows通过命令行检查更新Get-WmiObject -Class Win32_Product | Where-Object Name -like AWS CLI*6.2 日志分析技巧启用调试模式AWS_DEBUG1 aws s3 ls日志文件通常位于Linux:~/.aws/cli/cache/*.logWindows:%USERPROFILE%\.aws\cli\cache\*.log6.3 网络问题诊断测试终端连接性curl -v https://sts.amazonaws.com/检查DNS解析dig sts.amazonaws.com short