AWS CLI Elb / Elbv2-如何通过DNSName过滤负载均衡器?

时间:2018-07-29 21:04:37

标签: amazon-web-services aws-sdk amazon-elb

我需要找出负载均衡器的知识。我仅有的信息是DNS名称。

从DNS名称中提取区域似乎很容易,因为它是其中的一部分:

MyElbName.us-west-2.elb.amazonaws.com

但是过滤不起作用:

# aws elbv2 describe-load-balancers --filters "Name=DNSName,Values=MyElbName-1190680708.us-west-2.elb.amazonaws.com"
usage: aws [options]   [ ...] [parameters]
To see help text, you can run:

  aws help
  aws  help
  aws   help

Unknown options: --filters, Name=DNSName,Values=MyElbName-1190680708.us-west-2.elb.amazonaws.com --region "us-west-2"
#

--filters选项是否可能在elbv2名称空间中不可用?我在elb命名空间中遇到了同样的问题,但是在elb中,甚至 region 都不可用。

2 个答案:

答案 0 :(得分:0)

--filters没有describe-load-balancers选项。您可以使用jq

aws elbv2 describe-load-balancers | \
   jq '.LoadBalancers[] | 
       select(.DNSName == "your-dns-name.elb.amazonaws.com") | 
       .LoadBalancerArn'

答案 1 :(得分:0)

您可以使用查询和 jmespath

aws elbv2 describe-load-balancers --query 'LoadBalancers[*].[LoadBalancerName,DNSName,LoadBalancerArn]' --output text