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 BalancerApplication Load Balancer 的负载均衡器流量。但是,由于 Network Load Balancer 不支持安全组,根据目标组配置,Web 服务器的安全组必须允许客户端的 IP 地址或与 Network Load Balancer 关联的私有 IP 地址。

解决方法

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

注意:如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请确保您运行的是最新版本的 AWS CLI

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

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

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

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
  • 对于 Network Load Balancer:net/load-balancer-name/load-balancer-id

对于 Application Load Balancer 和 Network Load Balancer,请使用以下命令查找 load-balancer-id

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

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


这篇文章对您有帮助吗?


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