如何使用 PublicDnsName 获取 InstanceID?

How to get the InstanceID using the PublicDnsName?

使用 AWS CLI,给定一个 PublicDnsName,我怎样才能得到 InstanceID?我试过了

aws ec2 describe-instances --filters 'Name=publicdnsname,Values=ec2....

但它抱怨

publicdnsname is not a valid filter

列出了有效过滤器 in the docs

要按 public DNS 名称过滤,您应该使用的过滤器名称是:dns-name

dns-name

aws ec2 describe-instances --filters "Name=dns-name,Values=ec2-xxxxx.compute-1.amazonaws.com" --query 'Reservations[*].Instances[*].InstanceId' --output text

输出

i-00123458ca3fa2c4f