AWS-cli ec2 描述实例

AWS-cli ec2 describe instances

我正在研究 aws cli,在过去的 5 个小时里,我一直在努力处理 2 个 cli 命令

  1. 我应该通过提供其键(包括不给定的标签,即 NULL)来获取 InstanceId、名称(这是一个标签值)和特定标签值

  2. 我应该通过提供其键(不包括 NULL 标签)来获取 InstanceId、名称和特定标签值

我得到了第 1 个问题和第 2 个问题 0% 的 50%

我的 cli 命令:

aws ec2 describe-instances --query 'jsondata[ ].Instances[ ].[InstanceId, [Tags[?keys='Name'].Value] [0][0]' --output table`

           Ex: {

  "Jsondata" : [
                 { "Instances" : "i-xxxxxx",

                   "Tags":[

                  { "valve":" testserver",
                      "key": "server"
                   },
                 { "valve":" elb",
                    "key": "Name"
                  }
                ]
                },
             { "Instances" : "i-yyyyyy",

              "Tags":[

                    { "valve": " ",
                       "key": " "
                     },
                 { "valve":" elb2",
                      "key": "Name"
                    }
                      ]
                   }
                ]`

提前致谢。请帮助我,我需要睡觉

用标签 "NAME" 描述所有实例使用:

aws ec2 describe-instances --filters "Name=tag-key,Values=Name"

这会给出带有特定标签的 InstanceId "Name"

aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId, Tags[?Key==`Name`].Value[0]]'

这会给出具有特定标签 "Name" 和标签值

的 InstanceId
aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId, Tags[?Key==`Name`], Tags[?Key==`Name`].Value[]]'

描述标签为 "Purpose" 的所有实例及其值为 "test" 使用:

aws ec2 describe-instances --filters "Name=tag:Purpose,Values=test"

如果您已经知道实例 ID:

aws ec2 describe-instances --instance-ids i-1234567890abcdef0

查找不包含名为 "Purpose" 的标签的每个实例:

aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(contains({Tags: [{Key: "Purpose"} ]}) | not)'

过滤标签的值,而不是标签的名称:

aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(contains({Tags: [{Key: "Name"}, {Value: "testbox1"}]}) | not)'

查找不包含标签的每个实例:

aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(contains({Tags: [{Key: ""}, {Value: ""}]}) | not)'