将多个弹性IP分配给EC2实例

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

我需要使用VPC吗?

传统的EC2实例只能有一个与之关联的弹性IP地址。 要获得多个IP地址,您必须使用VPC并在您的实例上设置多个networking接口。

注意:2012年和2014年之间的某个时候,AWS会进行更改,以便单个ENI可以分配多个EIP。 这个答案和这个问题不再是相关的。

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

例如,有两个networking接口(名为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 

然后,将其默认路由与该规则相关联:

  ip route add default via 172.48.0.1 dev eth1 table default 

并刷新caching:

 ip route flush cache 

你可以从这篇文章中find一个“正式”的解释