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

Posted 菜鸟运维笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS使用ALB负载均衡遇到的问题相关的知识,希望对你有一定的参考价值。

文章原文

问题描述

ALB 负载均衡 RGC-Dev-ALB.xxx.cn-north-1.elb.amazonaws.com.cn 解析到2个IP 54.223.xxx.xx52.81.xxx.xx, 发现每2次请求会失败一次,在进一步测试抓包发现没有收到52.81.xxx.xxx的返回信息。

问题分析

随后检查ALB建立在两个子网(subnet-a1xxxxxsubnet-f3xxxxx
其中54.223.xxx.xxsubnet-f32xxxx中,子网路由表rtb-49xxxx中0.0.0.0/0 指向IGW,因此客户端可以主动访问到54.223.xxx.xx
52.81.xxx.xxsubnet-a1xxx中,子网路由表rtb-24xxx中0.0.0.0/0指向了nat gateway(nat-0axxxxxxxxxx), 这将导致客户端无法连接到52.81.xxx.xx, 因此也不会收到52.81.xxx.xx的回包。
请知晓,对于面向公网的ALB,需要将ALB部署在公有子网中, 即子网路由表0.0.0.0/0需要指向IGW。

解决办法

目前有2个解决办法

1) 修改子网路由表rtb-24xxx, 将0.0.0.0/0指向igw, 请知晓, 这个修改将影响所有关联了rtb-24xxx这个路由表的子网,
如果对应子网中的资源没有公网地址,修改完成后将失去访问公网的能力,此外对于子网中有公网地址的资源,将直接从公网路由可达。
2) 修改ALB的子网,可以在EC2的控制台找到“负载均衡” ,选择对应的ALB, 在“描述” > “基本配置” >"可用区" > 点击“编辑子网”, 将subnet-a1xxx 修改为同AZ的公有子网(即路由表0.0.0.0/0指向igw的子网)
文章原文

以上是关于AWS使用ALB负载均衡遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章

基于 AWS 应用程序负载均衡器 (ALB) 路径的路由未按预期运行

带有 ALB 入口控制器的 Terraform AWS Kubernetes EKS 资源不会创建负载均衡器

网络负载均衡器的AWS EC2安全组权限

HAProxy 上的哪些设置需要与 AWS ALB(应用程序负载均衡器)配合使用?

AWS/ALB、http/2 和 GOAWAY

如何在 Istio 中设置 AWS ALB 而不是 ELB?