为 EC2 实例分配多个弹性 IP

Ian*_*ton 11 amazon-ec2 amazon-web-services amazon-elastic-ip

当我尝试将第二个弹性 IP 关联到一个小型 EC2 实例时,当前分配的弹性 IP 被取消关联。

我需要使用 VPC 吗?

Mat*_*ser 9

经典 EC2 实例只能有一个关联的弹性 IP 地址。要获取多个 IP 地址,您必须使用 VPC 并在您的实例上设置多个网络接口。

注意:在 2012 年和 2014 年之间的某个时间,AWS 发生了变化,因此单个 ENI 可以分配多个 EIP。因此,这个答案和问题不再相关。


小智 6

要获得与一个 EC2 实例关联的 2 个弹性 IP,您需要为第二个 IP 提供不同的路由。这涉及到设置一个新的 ip 规则,指定应使用什么路由。

例如,有一个实例具有两个网络接口(命名为eth0eth1),每个接口都有一个内部 ip(172.31.4.255172.48.55.23),这些内部 ip 会转换为其关联的弹性 ip。

您需要指定 eth1(172.48.55.23) 的 ip 以采取不同的路由:

 ip rule add from 172.48.55.23 table default
Run Code Online (Sandbox Code Playgroud)

然后,将他的默认路由关联到该规则:

 ip route add default via 172.48.0.1 dev eth1 table default
Run Code Online (Sandbox Code Playgroud)

并刷新缓存:

ip route flush cache
Run Code Online (Sandbox Code Playgroud)

您可以从本文中挖掘“正式”解释