AWS CLI


AWS CLI(Amazon Web Services Command Line Interface)是亚马逊云服务(AWS)提供的开源命令行工具,允许用户通过终端直接管理AWS资源,实现自动化运维、脚本化操作及跨平台服务控制。以下是其核心要点解析:


🔍 一、核心功能与价值

  1. 统一管理多服务
  2. 支持 200+ AWS服务(如EC2、S3、Lambda、IAM、RDS),通过简单命令替代控制台点击操作。
  3. 跨区域操作:可指定不同区域(Region)管理资源,避免地域限制。

  4. 自动化与脚本集成

  5. 支持Bash/Python等脚本语言,实现批量资源操作(如定时备份S3、批量启停EC2实例)。
  6. 与CI/CD工具(如Jenkins)集成,自动化部署应用。

  7. 跨平台兼容性

  8. 支持 Windows、macOS、Linux 系统,安装简单(Windows用MSI安装包,macOS通过Homebrew,Linux用curl解压)。

⚙️ 二、安装与配置

  1. 安装方式
    bash # macOS 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 msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi 验证安装:aws --version

  2. 基础配置
    运行 aws configure 输入以下信息:

  3. Access Key IDSecret Access Key(IAM用户凭证)。
  4. 默认区域(如 us-east-1)。
  5. 输出格式(JSON/text/table)。

🛠️ 三、常用命令示例

服务 命令 作用
S3管理 aws s3 ls 列出所有存储桶
aws s3 cp file.txt s3://my-bucket/ 上传文件到S3
EC2操作 aws ec2 run-instances --image-id ami-xxx --instance-type t2.micro 启动EC2实例
aws ec2 stop-instances --instance-ids i-12345678 停止实例
Lambda管理 aws lambda update-function-code --function-name my-func --zip-file fileb://code.zip 更新函数代码

⚡️ 四、高级特性

  1. 自动化脚本
  2. 结合cron定时任务,实现每日S3备份:
    bash aws s3 sync /local/data s3://backup-bucket/$(date +%F)

  3. 精细化输出控制

  4. 使用 --query 筛选JSON结果(如提取EC2实例IP):
    bash aws ec2 describe-instances --query 'Reservations[*].Instances[*].PublicIpAddress'
  5. 输出格式切换:--output table 转换为表格。

  6. 多账户管理

  7. 配置多个Profile(~/.aws/credentials),通过 --profile account1 切换。

  8. 安全最佳实践

  9. 使用 IAM角色 替代长期凭证,避免密钥泄露。
  10. 遵循最小权限原则,限制CLI操作范围。

🌐 五、典型应用场景

  1. 批量运维:快速启停测试环境的100台EC2实例。
  2. 自动化部署:脚本化更新Lambda函数,同步到生产环境。
  3. 数据备份:每日将数据库日志自动上传至S3。
  4. 跨服务联动:结合CloudWatch日志查询,实时分析应用错误。

⚠️ 六、注意事项

  1. 权限控制:避免使用root账户密钥,通过IAM策略限制CLI权限。
  2. 区域一致性:跨区操作需显式指定 --region,否则使用默认区域。
  3. 版本更新:定期升级AWS CLI以支持新服务(如Docker集成需v1.16.156+)。

💎 总结

AWS CLI是云运维的“瑞士军刀”,将图形界面的复杂操作简化为一行命令,尤其适合:
自动化脚本开发(减少重复操作)
大规模资源管理(百台实例一键管控)
DevOps流水线集成(无缝衔接CI/CD)
通过掌握其核心命令与脚本能力,可显著提升云资源管理效率。进一步学习可参考:https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html。