AWS Public IP 地址是按网络接口还是按 EC2 实例发布的?

Does AWS Public IP addresses get issued per Network interface or per EC2 instance?

假设我在 AWS 上有一个 CentOS 服务器 运行。当我部署它时,我得到了一个 public IP t,我可以从我的其他系统连接到它,并且在我执行 ifconfig 时会显示该服务器上的私有 IP,该 VPC 之外的系统无法访问它。

因此,如果我添加另一个网络接口,是否会为该实例创建另一个 Public IP,或者每个实例只能有 1 个 Public IP?

如果是这样,我们如何决定要通过哪个接口路由流量? AWS 是否剥夺了用户的这种能力? (我尝试了解 Elastic IP,但遇到了困难,如果答案在那里,我会尝试阅读更多内容)

Here 是您需要阅读的文档。您可以将多个弹性网络接口附加到一个 EC2 实例。每个 ENI 可以有一个 public IP 地址。该 public IP 地址可以选择为弹性 IP 地址。

关于您如何决定将流量路由到哪个接口,这完全取决于您。您通常会将特定的 DNS 记录指向特定的 public IP 地址。

AWS EC2 实例具有 "Elastic Network Interfaces" (ENI) 的概念。

一个实例可以有多个弹性网卡,每个弹性网卡可以有多个IP地址。允许的数量取决于 EC2 实例类型并记录在文档中:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html

如何路由由您决定,因为您可以决定哪个 IP 接收流量(通过将流量指向此 IP)以及是否甚至允许该 IP 接收特定流量(通过 EC2 security groups and Network ACLs)。

在实例本身上使用路由 table 并利用 NAT instances.

的传出流量相同