是否可以将主弹性网络接口从Ec2实例更改为其他Ec2实例?
我可以在两个Ec2实例之间调换辅助网卡,但无法将主网卡从一个Ec2实例切换到另一个实例。
是否可以更换主网卡?
发布于 2018-07-16 08:20:13
这不可能。即使实例停机,主网卡也会在实例的整个生命周期内锁定到实例。
私有网络中的每个实例都有一个默认网络接口,称为主网络接口(eth0)。您不能将主网络接口与实例分离。
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html
发布于 2019-09-02 18:38:14
您可以替换掉几乎所有其他内容(例如块卷、用户数据和属性),而不是移动主网卡。
就像在我的例子中,我想用Dockerized版本替换我的旧实例,但又想重用它的旧IP地址。
我设法通过停止旧实例和新实例来做到这一点。已断开两个实例上的数据块卷连接。已将新数据块卷连接到旧实例。更新旧实例的用户数据以匹配新实例的用户数据。已更新旧实例类型以匹配新实例类型。我还必须通过在另一台主机上执行以下命令来启用ENA支持:
aws ec2 modify-instance-attribute --instance-id <instance id> --ena-support然后我又重新启动了旧的实例。
发布于 2020-05-27 21:41:10
不确定这是否准确地回答了您的问题。我想在这两个术语之间做一个区分。主要/次要和首选。可以将辅助接口设置为首选接口。
假设有两个EC2实例A和B,每个实例都有一个主网卡- ENI_A和ENI_B,它们是A和B各自的操作系统用来路由流量的首选网卡。现在需要创建另一个弹性网卡,比方说ENI_C (eth1),可以用于迁移。此ENI_C可以从实例A解除连接,然后连接到另一个实例B,反之亦然(正如您正确地做的那样)。
无论何时将ENI_C连接到任何实例,都必须使其成为路由流量的首选网络接口。
这可以通过创建新的路由表来实现。将那里的路由添加到默认网关,并指定使用新路由表的条件。
示例:
echo "1 test" >> /etc/iproute2/rt_tables
ip rule add from 10.1.0.0/24 table test # When to use test routing table
ip route add default via 10.1.0.1 dev eth1 table test # The default gateway您还可以通过将度量值设置为小于100的值,通过ENI_C添加高优先级默认路由来达到预期效果
route add -net default gw 10.1.0.1 netmask 0.0.0.0 dev eth1 metric 50 相应地更改上面的IP。
为了测试ENI_C (eth1)是否是发送流量的首选NIC,让我们看看哪个NIC用于发送流量,例如发送到Google DNS (8.8.8.8)
ip route get 8.8.8.8https://stackoverflow.com/questions/51351132
复制相似问题