如何为我的负载均衡器指定 IP 地址?
How can I specify IP address to my load balancer?
我在 AWS 中有 ECS 服务 运行,我打算为此服务创建应用程序负载均衡器。我已通读此文档:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html 但我不太明白如何为我的负载均衡器指定入口端点 IP 地址。客户端将使用此 IP 地址向我的服务发送请求。根据我的理解,IP 应该在负载均衡器中配置,而不是我的 ECS 服务的任务。
使用 IP 地址连接到弹性负载均衡器不是一个好主意。 ELB 是弹性的,这意味着在单个负载均衡器后面有多个实例以实现容错。这就是 AWS 建议使用主机名而不是 IP 地址的原因。
如果您仍想使用负载均衡器 IP 地址测试连通性,可以尝试 nslookup
命令
nslookup yourELBPublicDNS
这会给你返回多个地址,你可以尝试打一个。但请记住,这些 IP 地址可能会发生变化。原因很简单,如果负载均衡器的底层主机出现故障,它将被替换为一个新的主机,很可能会有新的 IP。但保持不变的是域名,所以建议使用主机名。
如答案中所述,IP 是个坏主意,但如果是静态 IP 则不然。由于 NLB 支持静态 IP,而应用程序 LB 不支持静态 IP。
如果你是找静态IP,那你需要把网络LB放在应用LB的最上面,应用LB会和后端ECS服务通信,而NLB是给客户端的。客户端将能够使用不会更改的 NLB 静态 IP 进行通信。
针对每个可用区,您有 NLB 的静态 IP,您可以检查进一步的集成 here。
如果您正在寻找允许特定 IP 使用您的端点,那么您需要 AWS application firewall。
我在 AWS 中有 ECS 服务 运行,我打算为此服务创建应用程序负载均衡器。我已通读此文档:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html 但我不太明白如何为我的负载均衡器指定入口端点 IP 地址。客户端将使用此 IP 地址向我的服务发送请求。根据我的理解,IP 应该在负载均衡器中配置,而不是我的 ECS 服务的任务。
使用 IP 地址连接到弹性负载均衡器不是一个好主意。 ELB 是弹性的,这意味着在单个负载均衡器后面有多个实例以实现容错。这就是 AWS 建议使用主机名而不是 IP 地址的原因。
如果您仍想使用负载均衡器 IP 地址测试连通性,可以尝试 nslookup
命令
nslookup yourELBPublicDNS
这会给你返回多个地址,你可以尝试打一个。但请记住,这些 IP 地址可能会发生变化。原因很简单,如果负载均衡器的底层主机出现故障,它将被替换为一个新的主机,很可能会有新的 IP。但保持不变的是域名,所以建议使用主机名。
如答案中所述,IP 是个坏主意,但如果是静态 IP 则不然。由于 NLB 支持静态 IP,而应用程序 LB 不支持静态 IP。
如果你是找静态IP,那你需要把网络LB放在应用LB的最上面,应用LB会和后端ECS服务通信,而NLB是给客户端的。客户端将能够使用不会更改的 NLB 静态 IP 进行通信。
针对每个可用区,您有 NLB 的静态 IP,您可以检查进一步的集成 here。
如果您正在寻找允许特定 IP 使用您的端点,那么您需要 AWS application firewall。