将 public 和私有流量路由到 AWS ALB

Routing public and private traffic to an AWS ALB

我有一个 VPC,其 public 子网包含一个 NAT 网关和一个包含 ec2 实例的私有子网 运行 我的应用程序。

A public ALB 提供对私有子网中 运行ning 应用程序的入站互联网访问。

我还想允许使用客户网关和中转网关通过站点到站点 VPN 访问此 ALB。

避免重复 ALB 及其配置(即避免使用 public 和内部 ALB)的最佳模式是什么?是否可以 运行 VPN 用户将直接连接的单个私有 ALB 并将 public 互联网流量从 public NLB 路由到它?

您可以使用 AWS API 使用 VPC 的网关私有集成模式 link 提供对您的服务的 public 访问,并在内部应用程序负载均衡器后面托管您的服务,如下所示:

您可能还需要考虑 AWS 和本地网络之间的 dns 解析。

您应该能够使用中转网关路由 table 来完成此操作。创建两个 TGW 附着点;一个用于您的 VPN,一个用于您的 ALB 所在的子网。现在,将这两个连接点从主 TGW 路由 table 中分离出来。新建两条TGW路由tables:

  • 一个将 0.0.0.0/0 指向您的 ALB 子网附件并将其关联到您的 VPN TGW 附件(启用 DNS 解析)
  • 将 0.0.0.0/0 指向您的 VPN 子网附件并将其关联到您的 ALB 子网 TGW 附件(启用 DNS 解析)

这样,来自您的 VPN 的任何流量都将进入您的私有 ALB 子网并解析为 ALB 私有 IP 地址。任何离开您的 ALB 目的地到非本地 IP 地址的流量(return 流量)都将被路由到您的 VPN TGW 附件。

虽然我没有测试您的特定场景,但我能够使用此方法将 TGW 流量路由到 GWLB 端点和从 GWLB 端点路由。

您可以将 public 互联网流量的路由原样保留到您的 ALB(来自您的 public NLB)。现在您可以通过两种方式让客户访问同一个 ALB;一个 public 和一个私人