将流量路由到 AWS 上的负载平衡、自动缩放的 NAT 层

网络工程 路由器 纳特 负载均衡器 自动化
2021-07-06 23:43:11

我正在尝试在 AWS 中创建具有以下功能的网络:

  1. 具有一个 EC2 实例的私有子网,称为“流量源”
  2. 来自流量源子网、目的地为 0.0.0.0/0 的所有 HTTP(S) 流量都路由到 AWS 弹性负载均衡器
  3. AWS Elastic Load Balancer 将流量路由到 Auto-scaling 组
  4. Auto-scaling Group 将标准 NAT 机器映像作为其启动配置文件
  5. 源自 Auto-scaling Group 的所有 HTTP(S),目的地为 0.0.0.0/0 都路由到 Internet 网关

我在为上面的第 2 步配置路由时遇到问题:将 0.0.0.0/0 流量从流量源路由到负载均衡器。据我所知,AWS 中的路由表仅采用 CIDR 格式的单个 IP 地址或资源 ID。

AWS 弹性负载均衡器当然有多个IP 地址、一个规范的 DNS 名称并且没有资源 ID。

如何使用 AWS 中的路由表功能将流量从 AWS VPC 中的私有子网路由到内部 AWS Elastic Load Balancer?

由于我所在组织的内部限制,AWS 的新 NAT 网关产品不是我可以使用的选项。

1个回答

如果由于 Cloud Formation 尚不支持而无法使用 NAT 网关,请尝试组合使用自定义 Cloud Formation 资源类型和 AWS lambda 函数——然后使用 JavaScript AWS API 来创建、读取、更新和删除 NAT网关设置。

  1. 在您的 Cloud Formation 模板中创建自定义资源类型
  2. 您的自定义资源类型将调用您编写的 AWS Lambda 函数
  3. 在您的 AWS Lambda 函数中使用 AWS API 创建、读取、更新和删除 NAT 网关资源

有关如何执行此操作的更详细示例,请参阅此处链接的页面