【问题标题】:How to display ec2 instances details from multiple regions using single command, in my case from us-east-1 and us-west-1?如何使用单个命令(在我的例子中来自 us-east-1 和 us-west-1)显示来自多个区域的 ec2 实例详细信息?
【发布时间】:2019-02-04 03:10:55
【问题描述】:

我正在尝试在单个 AWS CLI 命令中获取托管在 us-east-1 和 us-west-1 区域中的 ec2 实例的实例 ID、可用区、实例状态、实例名称(来自标签),以便我可以将输出导出到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


    【解决方案1】:

    在 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 Batch,您最好只按顺序运行这两个命令,并使用 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
    

    【讨论】:

    • Alex,感谢您的快速响应,我尝试了上述命令,但收到错误消息“此时区域意外”。
    • 上面的代码可以在 Linux 上运行,但是 OP 似乎在使用 Windows。
    • 是的,我假设您使用的是 Bash shell,因为 PowerShell 上的 AWS CLI 具有不同的语法。我将在几秒钟内提供 Batch 语法。
    【解决方案2】:

    您一次只能列出一个区域中的实例。

    每个区域都是区域的集合。您正在连接到每个区域以列出该区域内区域中的实例。这些区域是数据中心,而且大部分都相当大。

    您需要遍历每个区域。

    【讨论】:

      猜你喜欢
      • 2014-07-19
      • 1970-01-01
      • 2020-11-10
      • 2019-03-21
      • 1970-01-01
      • 2020-01-30
      • 2021-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多