指向私有子网的弹性负载均衡器

Aff*_*ris 4 amazon-ec2 subnet amazon-web-services amazon-elb private-subnet

我已经创建了一个面向互联网的弹性负载均衡器来指向 VPC 中的 EC2 实例,就像我之前多次创建的那样,但是在这个实例中,我使用带有 nat 网关的私有子网来控制传出流量并通过列入白名单的IP。

不幸的是,这个负载均衡器本身就存在间歇性连接问题,这会导致各种问题,包括 Cloudfront 可靠地联系源站点。

这适用于公共子网(事实上我现在已经直接将其交换),但不适用于私有子网。

任何想法将不胜感激,

克里斯

Mic*_*bot 8

我能让它可靠工作的唯一方法是将其指向两个公共子网。

这是设计使然。

面向 Internet 的应用程序负载均衡器 (ALB) 和经典 ELB 必须专门在公共子网中配置。

无论平衡器后面的实例是否位于私有子网中,这始终是正确的。

如果平衡器放置在私有子网中,则浏览器无法建立到平衡器的连接,因为平衡器子网的默认路由不是 Internet 网关,因此平衡器的回复会被错误路由并且连接超时。如果平衡器位于公共子网和私有子网的混合上,超时会变得间歇性,因为某些连接通过公共子网到达平衡器(并且工作),而其他连接通过私有子网到达平衡器(并且不工作)。

平衡器不需要位于任何私有子网上,因为 VPC 路由表始终包含一条隐式路由,允许 VPC 内的所有子网到达所有其他子网,仅受安全组和网络 ACL 规则的约束。将平衡器置于与实例完全不同的子网中不会带来性能劣势。