在js的aws sdk中列出应用程序负载均衡器的实例的IP地址

时间:2017-09-14 10:37:10

标签: amazon-elb aws-sdk-js

对于我曾经称之为

的经典ELB
elb.describeLoadBalancers

并收到loadBalancerDescription中嵌入了IP地址的实例列表 从sdk docs http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/ELB.html#describeLoadBalancers-property

开始

现在我们正在切换到应用程序负载均衡器,因此我们需要切换到api版本2 http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/ELBv2.html

describeLoadBalancers有相同的方法 - 但是,对于应用程序负载均衡器,有一个包含实例的targetGroups概念。

在API版本2的elb.describeLoadBalancers的响应中,没有类似的字段。

如何/应该如何调用以获得与经典loadbalancer相同的信息?

2 个答案:

答案 0 :(得分:0)

在浏览文档几个小时后,我很确定无法通过loadbalancer名称检索Application Loadbalancer的实例。幸运的是,我的实例上也有标签,所以我能够使用EC2 API describeInstances中的方法,包括合适的标签作为过滤器。还有没有标签的替代选项 - 使用健康检查。

答案 1 :(得分:0)

对于那些年后发现这个问题的人(像我一样)。我发现了一种获取Application LoadBalancer实例的方法。我使用了describeTargetHealth传递LoadBalancer arn,从中我得到了我需要访问我的EC2实例的信息,例如实例Id。

文档: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/ELBv2.html#describeTargetHealth-property

Git,我偶然发现并帮助了我很多: https://gist.github.com/miguelmota/d748d507e18bb8d365a4948aa7187fec

如果您使用的是Application LoadBalancer,还可以确保使用ELB V2。