aws cli 命令用法
环境信息
- aws-cli/2.9.15
常见用法
查看 aws
帮助信息
aws help |
查看子命令帮助信息
aws ec2 help |
配置认证信息时指定鉴权信息对应的 Profile
aws configure --profile source-account |
aws
命令常用选项
选项 | 说明 | 示例 |
---|---|---|
--region |
指定区域,aws 区域列表 | aws --region ap-east-1 ec2 describe-instances |
--profile |
指定配置文件名称。当需要同时操作多个账号上面的 S3 目标时,可以为每个账号指定 profile 名称,在后续操作时使用选项 --profile 指定要使用的 Profile |
EC2
获取实例信息
此操作至少需要以下权限:
EC2.DescribeInstances
aws --region ap-east-1 ec2 describe-instances |
筛选输出,只获取 instance-id
,使用 --query
选项可能造成部分机器无法被包含在输出中,导致统计机器缺失,最好使用 aws --region ap-east-1 ec2 describe-instances
获取指定区域的所有机器后手动进行筛选。
aws ec2 describe-instances --region ap-east-1 --query Reservations[*].Instances[*].InstanceId --output text |
通过选项 --query
可以对输出进行筛选,只输出指定内容。[2]
aws ec2 describe-instances --region ap-east-1 \ |
通过选项 --query
获取实例 Name
aws ec2 describe-instances --region ap-east-1 \ |
获取 EC2 实例的存储 (Volume) 信息
此操作至少需要以下权限:
EC2.DescribeInstances
EC2.DescribeVolumes
根据已知的 volume-id
,查询卷的详细信息,比如磁盘类型和大小
aws ec2 describe-volumes --region ap-east-1 \ |
cloudwatch
获取指定实例的网卡流出流量
此操作至少需要以下权限:
Cloudwatch.CloudWatchReadOnlyAccess
EC2.DescribeInstances
通过 cloudwatch 获取 ec2 实例的监控数据 [1]
aws cloudwatch get-metric-statistics |
获取 cloudFront (CDN) 域名的流量信息
此操作至少需要以下权限:
Cloudwatch.CloudWatchReadOnlyAccess
CloudFrontReadOnlyAccess
通过以下命令列出所有的 distributions
aws cloudfront list-distributions |
通过以下命令可查询指定的 CloudFront 中的 distribution 的流量统计信息,区域必须使用美国东部(弗吉尼亚北部)区域 (us-east-1
),--dimensions Name=DistributionId,Value=E5MHZ8YUS8CUR Name=Region,Value=Global
中同时需要指定 CloudFront 的 Region 为 Global
[3]
aws cloudwatch get-metric-statistics --region us-east-1 --metric-name BytesDownloaded \ |
s3
查看 s3 命令用法
aws s3 help |
不同区域的桶之间同步数据
aws s3 sync --source-region ap-southeast-1 --region us-west-1 s3://my-bucket1 s3://my-bucket |
常见错误
[Errno 2] No such file or directory: ‘less’
使用命令报错:
aws --region ap-east-1 ec2 describe-instances |
错误原因:
系统未安装 less
命令,安装 less
命令 (yum install -y less
) 后正常。
An error occurred (InvalidClientTokenId) when calling the GetMetricStatistics operation: The security token included in the request is invalid.
使用命令报错
aws cloudwatch get-metric-statistics --metric-name Requests --start-time '2022-12-01T00:00:00.000Z' --end-time '2022-12-31T23:59:59.000Z' --period 2678400 \ |
错误原因
通过 CloudWatch 调用 CloudFront 的统计数据时,区域必须指定为 美国东部(弗吉尼亚北部)区域 (us-east-1)
,使用选项 --region us-east-1