当我尝试将第二个弹性IP关联到一个小的EC2实例时,当前分配的弹性IP将被解除关联。
我需要使用VPC吗?
传统的EC2实例只能有一个与之关联的弹性IP地址。 要获得多个IP地址,您必须使用VPC并在您的实例上设置多个networking接口。
注意:2012年和2014年之间的某个时候,AWS会进行更改,以便单个ENI可以分配多个EIP。 这个答案和这个问题不再是相关的。
要获得2个弹性ip关联到一个ec2实例,您需要为第二个ip提供不同的路由。 这涉及到设置一个新的ip规则来指定应该使用什么路由。
例如,有两个networking接口(名为eth0
和eth1
)的实例,每个接口都有一个内部IP( 172.31.4.255
和172.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一个“正式”的解释