如何使用单个命令,在我的情况下,从美国东部-1和我们西-1显示来自多个区域的EC2实例的详细信息?

问题描述 投票:0回答:2

我试图让主办的EC2实例的实例ID,可用区域,实例的状态,实例名称(从标签)美国东部-1和美国西1区在一个AWS CLI命令,这样我可以导出在Excel文件输出。

我可以使用下面的命令,同时得到来自一个地区的输出,但不能找到一种方法,使用一个命令两个地区得到的输出。

aws ec2 describe-instances --region us-east-1 --query Reservations[].Instances[].{ID:InstanceId,State:State.Name,AZ:Placement.AvailabilityZone,TagName:Tags[0].Value} --output text>C:\Users\PiyushVermaVerma\Desktop\testfile.xls

和:

aws ec2 describe-instances --region us-west-1 --query Reservations[].Instances[].[InstanceId,Tags[0].Value,Placement.AvailabilityZone,State.Name] --output text>C:\Users\PiyushVermaVerma\Desktop\testfile.xls
amazon-web-services amazon-ec2 aws-cli
2个回答
2
投票

在bash中,这是不可能指定一个以上的区域,但你总是可以做到这一点:

for region in us-east-1 us-west-1 ; do
  aws ec2 describe-instances --query \
    'Reservations[*].Instances[*].{ID:InstanceId,State:State.Name,AZ:Placement.AvailabilityZone,TagName:Tags[0].Value}' \
  --output text --region $region
done > C:\Users\PiyushVermaVerma\Desktop\testfile.xls

对于Windows批量,你可能最好关闭只是运行在序列中的两个命令,并使用append >>操作:

aws ec2 describe-instances --region us-east-1 --query Reservations[].Instances[].{ID:InstanceId,State:State.Name,AZ:Placement.AvailabilityZone,TagName:Tags[0].Value} --output text > C:\Users\PiyushVermaVerma\Desktop\testfile.xls
aws ec2 describe-instances --region us-east-1 --query Reservations[].Instances[].{ID:InstanceId,State:State.Name,AZ:Placement.AvailabilityZone,TagName:Tags[0].Value} --output text >> C:\Users\PiyushVermaVerma\Desktop\testfile.xls

1
投票

你只可以同时列出一个地区的情况。

每个区域是区域的集合。您正在连接到每个区域列出的实例在该地区内的区域。这些区域是数据中心和大多数是相当大的。

您将需要遍历直通每个区域。

© www.soinside.com 2019 - 2024. All rights reserved.