有没有一种方法可以将一个静态弹性IP分配给多个实例?

Con*_*lon 0 amazon-ec2 amazon-web-services

无论如何,许多ec2实例可以共享相同的IP吗?那么来自 ec2 实例的所有出站 API 请求都来自同一 IP 地址吗?如果 API 提供商将单个静态 IP 地址列入白名单,它将授予对所有实例的访问权限。

任何想法都会很棒!

Jas*_*son 5

如果这仅用于出站,则可以使用NAT 网关来实现。

所有 EC2 实例都将位于公共 NAT 网关后面,然后为 NAT 网关分配一个弹性 IP 地址

来自 EC2 实例的所有流量将通过 NAT 网关路由到 Internet 网关,目标环境将看到源自分配给 NAT 网关的弹性 IP 地址的所有流量。

但是,如果流量必须走另一条路(入站),则此架构将不起作用。

更新:NAT 网关必须驻留在公共子网中,该子网将具有到 Internet 网关的路由 0.0.0.0/0。EC2 实例将驻留在私有子网中,并具有到公有子网中 NAT 网关的路由 0.0.0.0/0。

此外,为了实现高可用性,建议您至少有 4 个子网,其中 2 个子网位于 2 个不同的可用区 (AZ)。NAT 网关不跨越子网,因此至少应使用两个 NAT 网关,一个位于位于第一个可用区的公有子网 A 中,另一个位于位于第二个可用区的公有子网 B 中。

该架构如下:

在此输入图像描述

其中路由表 A(与两个公共子网关联)具有到 Internet 网关的路由,即

  • 10.0.0.0/16 - 本地
  • 0.0.0.0/0 - igw-xxxxxxxxx

路由表 B 与私有子网 10.0.10.0/24 关联,具有到公共子网 (10.0.0.0/24) 中 NAT 网关的路由,即

  • 10.0.0.0/16 - 本地
  • 0.0.0.0/0 - nat-123456

路由表 C 与私有子网 10.0.11.0/24 关联,具有到公共子网 (10.0.1.0/24) 中 NAT 网关的路由,即 10.0.0.0/16 local 0.0.0.0/0 nat-654321

在此架构中,每个 NAT 网关都将拥有自己的弹性 IP 地址,这意味着目标将可以看到 2 个 IP 地址,如果高可用性并不重要,那么您可以在一个公共子网中使用 1 个 NAT 网关。请注意,NAT 网关支持 5 Gbps带宽并自动扩展到 45 Gbps。如果您需要更多带宽,可以将资源拆分为多个子网,并在每个子网中创建 NAT 网关。

有关在 VPC 内配置 NAT 的更多详细信息,请参阅文档中的以下页面