【发布时间】:2015-04-14 00:48:40
【问题描述】:
我要解决的问题是如何让我的代码在作为负载平衡 AWS 集群的一部分的 EC2 实例中运行,以了解有多少其他 EC2 实例使用同一个集群/负载平衡器。
我有以下代码,当给定负载均衡器的名称时,它可以告诉我有多少 EC2 实例与该负载均衡器相关联。
DescribeLoadBalancersResult dlbr = loadBalancingClient.describeLoadBalancers();
List<LoadBalancerDescription> lbds = dlbr.getLoadBalancerDescriptions();
for( LoadBalancerDescription lbd : lbds )
{
if( lbd.getDNSName().equalsIgnoreCase("MyLoadBalancer"))
{
System.out.println(lbd.getDNSName() + " has " + lbd.getInstances().size() + " instances") ;
}
}
它工作正常并打印出负载均衡器名称和与之关联的实例数。
但是我想看看我是否可以在不提供负载均衡器名称的情况下获取此信息。在我们的设置中,一个 EC2 实例只会与一个负载均衡器相关联,那么有没有办法从 EC2 实例返回到负载均衡器?
我想我可以沿着从所有区域获取所有负载均衡器的路线,遍历它们直到找到包含我的 EC2 实例的路径,但我认为可能有更简单的方法?
【问题讨论】: