Elastic Load Balancing 发送到我的 Web 服务器的流量的源 IP 地址是什么?

上次更新时间:2020 年 8 月 14 日

我的 Web 服务器使用了 Elastic Load Balancing。我想知道负载均衡器将流量转发到我的 Web 服务器所使用的 IP 地址。如何找到负载均衡器的 IP 地址?

简短描述

您可以解析负载均衡器的 DNS 名称,从而确定与内部负载均衡器或面向互联网的负载均衡器关联的 IP 地址。这些是客户端应在其中向负载均衡器发送请求的 IP 地址。但是,Classic Load Balancer 和 Application Load Balancer 使用与弹性网络接口关联的私有 IP 地址作为转发到 Web 服务器的请求的源 IP 地址。对于网络负载均衡器,这些请求的源 IP 地址取决于目标组的配置。

这些 IP 地址可用于各种用途,如在 Web 服务器上和在请求处理时允许负载均衡器。建议在 Web 服务器的安全组入站规则上使用安全组引用,以允许来自 Classic Load Balancer 或 Application Load Balancer 的负载均衡器流量。但是,由于 Network Load Balancer 不支持安全组,根据目标组配置,Web 服务器的安全组必须允许客户端的 IP 地址或与 Network Load Balancer 关联的私有 IP 地址。

解决方法

注意:Classic Load Balancer 和 Application Load Balancer 的 IP 地址会随时间而更改。不要使用此信息来静态配置您的应用程序以指向这些 IP 地址。

使用 AWS 管理控制台查找与负载均衡器弹性网络接口关联的私有 IP 地址

1.打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台

2.在 Load Balancing 下,从导航窗格中选择负载均衡器

3.选择您要为其查找 IP 地址的负载均衡器。

4.在描述选项卡中,复制名称

5.在网络和安全下,从导航窗格中选择网络接口

6.粘贴您在步骤 4 中在搜索框中复制的负载均衡器名称。筛选结果会显示与负载均衡器关联的所有弹性网络接口。

7.对于筛选结果中的每个弹性网络接口:
选择弹性网络接口。
选择详细信息选项卡。
找到包含主要私有 IPv4 IP 的 IP 地址的接口。这是弹性网络接口的主要私有 IP 地址。

使用 AWS CLI 查找与负载均衡器弹性网络接口关联的私有 IP 地址

运行以下命令:

aws ec2 describe-network-interfaces --filters Name=description,Values="ELB elb-name" --query 'NetworkInterfaces[*].PrivateIpAddresses[*].PrivateIpAddress' --output text

elb-name 替换为以下其中一个值:

  • 对于 Classic Load Balancer:负载均衡器的名称
  • 对于 Application Load Balancer:app/load-balancer-name/load-balancer-id
  • 对于网络负载均衡器:net/load-balancer-name/load-balancer-id

对于 Application Load Balancer 和网络负载均衡器,请使用以下命令查找 load-balancer-id

aws elbv2 describe-load-balancers --names load-balancer-name

load-balancer-id 是字符的最后一个字段,后接 ARN 中负载均衡器名称后的尾部斜杠。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?