AWS CLI Cheatsheet - Cloud Commands

AWS CLI 是管理 Amazon Web Services 的命令行工具,整理常用服务的命令,快速操作云资源。

SysOps·41 commands·Last updated 2026-07-19
Back to SysOps

配置与认证 6

aws configure
交互式配置 Access Key 和 Region
aws configure --profile production
为指定 Profile 配置凭证
aws configure list
查看当前配置
aws sts get-caller-identity
验证当前身份
export AWS_PROFILE=production
切换默认 Profile
aws configure set region us-west-2
单独设置某个配置项

EC2 实例 6

aws ec2 describe-instances --filters "Name=instance-state-name,Values=running"
列出运行中的实例
aws ec2 describe-instances --query "Reservations[].Instances[].[InstanceId,State.Name]"
查询实例 ID 和状态
aws ec2 start-instances --instance-ids i-xxxxx
启动实例
aws ec2 stop-instances --instance-ids i-xxxxx
停止实例
aws ec2 terminate-instances --instance-ids i-xxxxx
终止实例(不可恢复)
aws ec2 create-key-pair --key-name my-key --query "KeyMaterial" --output text > my-key.pem
创建 SSH 密钥对并保存私钥

S3 存储 8

aws s3 ls
列出所有 Bucket
aws s3 ls s3://my-bucket/
列出 Bucket 内容
aws s3 cp file.txt s3://my-bucket/
上传文件
aws s3 cp s3://my-bucket/file.txt ./file.txt
下载文件
aws s3 sync ./local/ s3://my-bucket/remote/
同步目录(只传变化的文件)
aws s3 sync s3://src-bucket/ s3://dst-bucket/ --delete
Bucket 间同步并删除目标多余文件
aws s3 rm s3://my-bucket/file.txt
删除文件
aws s3 mb s3://new-bucket-name
创建新 Bucket

IAM 用户与权限 6

aws iam list-users
列出所有 IAM 用户
aws iam create-user --user-name newuser
创建 IAM 用户
aws iam create-access-key --user-name newuser
为用户创建 Access Key
aws iam attach-user-policy --user-name newuser --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
为用户附加托管策略
aws iam list-attached-user-policies --user-name newuser
查看用户附加的策略
aws iam delete-user --user-name newuser
删除 IAM 用户

CloudWatch 日志与监控 5

aws logs describe-log-groups
列出日志组
aws logs tail /app/production --follow
实时跟踪日志
aws logs filter-log-events --log-group-name mygroup --start-time 1234567890
按时间过滤日志
aws logs tail /app/production --since 1h
查看最近 1 小时日志
aws cloudwatch get-metric-statistics --namespace AWS/EC2 --metric-name CPUUtilization --start-time 2026-07-20T00:00:00Z --end-time 2026-07-21T00:00:00Z --period 3600 --statistics Average
查询 EC2 CPU 使用率指标

Lambda 与服务 5

aws lambda list-functions
列出所有 Lambda 函数
aws lambda invoke --function-name my-function output.json
同步调用 Lambda 函数
aws lambda create-function --function-name my-fn --runtime python3.11 --role arn:aws:iam::123:role/role --handler index.handler --zip-file fileb://fn.zip
创建 Lambda 函数
aws rds describe-db-instances
列出 RDS 数据库实例
aws dynamodb list-tables
列出 DynamoDB 表

实用查询技巧 5

aws ec2 describe-instances --output table
以表格形式输出(更易读)
aws s3api list-objects --bucket my-bucket --query "Contents[?Size>`1000000`].Key"
用 JMESPath 查询大于 1MB 的文件
aws ec2 describe-instances --filters "Name=tag:Name,Values=web-*"
按标签过滤实例
aws ec2 describe-instances --query "Reservations[].Instances[].PublicIpAddress" --output text
提取所有实例的公网 IP
aws s3 presign s3://my-bucket/file.zip --expires-in 3600
生成 1 小时有效的预签名 URL

💡 Tips

  • aws configure --profile production 可以创建命名 Profile,方便多账号管理。
  • S3 的 sync 命令只传输变化的文件,适合备份和部署。
  • aws ec2 describe-instances --query 可以用 JMESPath 过滤输出。
  • CloudWatch Logs Insights 用查询语法分析日志,比 filter-log-events 更强大。
  • --output 参数可选 json/table/text,text 适合脚本处理,table 适合人工查看。
  • --query 用 JMESPath 语法提取字段,配合 --output text 适合 shell 脚本。