AWS使用ALB负载均衡遇到的问题

AWS使用ALB负载均衡遇到的问题

💡 原文中文,约1000字,阅读约需3分钟。
📝

内容提要

文章讨论了ALB负载均衡器在AWS中的配置问题,指出由于ALB部署在私有子网导致请求失败。解决方案包括修改路由表将流量指向IGW,或将ALB迁移至公有子网以确保正常访问。

🔎

延伸解读

问题根因:子网路由决定ALB可达性

ALB解析到两个IP,分别位于不同子网。其中52.81.xxx.xx所在子网的路由表默认路由指向NAT网关,而非互联网网关(IGW),导致客户端无法主动连接该IP,也不会收到回包。这说明面向公网的ALB必须部署在公有子网,即子网路由的0.0.0.0/0需指向IGW,否则即使ALB本身配置正确,也会因网络路径不通而出现间歇性请求失败。

方案一:修改路由表的影响范围

将问题子网的路由表0.0.0.0/0改为指向IGW,可解决ALB访问问题,但该修改会影响所有关联此路由表的子网。若子网内资源没有公网地址,修改后将失去访问公网的能力;若有公网地址,则会直接从公网路由可达。因此操作前需评估关联子网中所有资源的网络需求,避免引发其他服务中断。

方案二:调整ALB子网更精准

在EC2控制台找到负载均衡,选择对应ALB,进入描述>基本配置>可用区,点击编辑子网,将问题子网替换为同可用区的公有子网(即路由表0.0.0.0/0指向IGW的子网)。此方案仅影响ALB本身,不会波及其他资源,风险更可控。但需确保所选公有子网与原有子网在同一可用区,以保持ALB的高可用架构。

❓

Q&A

ALB负载均衡器在AWS中遇到什么问题?

ALB负载均衡器在私有子网中部署,导致请求失败。

为什么52.81.xxx.xx无法连接?

因为52.81.xxx.xx在私有子网中,路由表指向NAT网关,导致客户端无法连接。

如何解决ALB负载均衡器的访问问题?

可以修改路由表将流量指向IGW,或将ALB迁移至公有子网。

ALB必须部署在哪种子网才能面向公网?

ALB必须部署在公有子网中,路由表需指向IGW。

修改路由表会有什么影响?

修改路由表会影响所有关联的子网,可能导致没有公网地址的资源失去访问能力。

如何在EC2控制台修改ALB的子网?

在EC2控制台找到“负载均衡”,选择对应的ALB,点击“编辑子网”进行修改。

🏷️

标签

➡️

继续阅读