内容提要
文章讨论了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,点击“编辑子网”进行修改。