AWS - 影响负载均衡器标签到其网络接口(ENI)

时间:2018-03-19 14:45:23

标签: amazon-web-services aws-lambda aws-sdk amazon-elb network-interface

当我创建经典负载均衡器(CLB)或应用程序负载均衡器(ALB)时,弹性网络接口(ENI)自动创建并附加到Load Balancer。

我的目标:我想影响从我的负载均衡器到其网络接口的标签。

这有点奇怪,因为:

  • com.amazonaws.services.ec2.model.Instance有一个getNetworkInterfaces()用于列出EC2实例网络接口。
  • com.amazonaws.services.elasticloadbalancing.model.LoadBalancerDescription 没有列出CLB网络接口的方法。
  • com.amazonaws.services.elasticloadbalancingv2.model.LoadBalancer 没有列出ALB网络接口的方法。

我找到了另一种解决方案,但我对此不满意

  1. 我列出了EC2 com.amazonaws.services.ec2.AmazonEC2#describeNetworkInterfaces()
  2. 中的所有网络接口
  3. 我收到了网络接口的description字段。此描述字段包含Load Balancer的名称。如果它是CLB格式为ELB classic-load-balancer-name,如果它是ALB格式为ELB app/application-load-balancer-name/f8bb2c1b66c9a086
  4. 我将解析后的description与负载均衡器相关联。
  5. 如果有人更改了说明字段,此解决方案不再有效,影响负载均衡器标记到其网络接口的最佳方法是什么?

    注意:我使用的是Java AWS-SDK。

1 个答案:

答案 0 :(得分:2)

  

自动创建弹性网络接口(ENI)并将其连接到负载均衡器。

更确切地说,至少创建了一个 ENI,并将其连接到部署平衡器的每个可用区中的平衡器(NLB除外,每个应该只有一个) AZ)。在平衡器的使用寿命期间,新的ENI将出现,旧的ENI将消失,因为平衡器水平扩展(节点数)和/或垂直扩展(底层硬件的容量),所有这些都由基础设施透明地处理。即使您可以标记它们,标记也会随着时间的推移而变得陈旧。

  

如果有人更改了说明字段

您无法在这些ENI中编辑说明。访问被拒绝。