AWS CLI Cheatsheet - Cloud Commands
AWS CLI 是管理 Amazon Web Services 的命令行工具,整理常用服务的命令,快速操作云资源。
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/ --deleteBucket 间同步并删除目标多余文件
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 脚本。