AWS:弹性IP与ENI

时间:2016-04-13 19:57:09

标签: amazon-web-services networking

就高可用性而言,使用弹性IP或弹性网络接口来屏蔽实例故障有什么区别?唯一的区别是因为ENI可以用于私有实例而弹性IP可以用于<?p?

我试图解释两者的优点,所以如果有人可以帮助我,我会很感激!

1 个答案:

答案 0 :(得分:7)

要实现高可用性,您需要能够在实例失败的情况下重定向流量。有几种选择:

<强> 1。使用Elastic Load Balancer

这是提供高可用性的首选方式。

运行多个Amazon EC2实例,最好在不同的可用区(AZ)中运行。用户连接到ELB(通过提供的DNS名称),将流量重定向到EC2实例。如果实例失败,ELB会通过常规的运行状况检查注意到这一点,并且只会将流量定向到健康的实例。

Auto Scaling可用于跨多个可用区创建这些多个实例,还可以在添加/删除实例时更新负载平衡服务。

<强> 2。重定向弹性IP地址

运行多个实例(最好跨多个可用区)。将弹性IP地址指向所需的实例。用户通过弹性IP地址连接并定向到实例。如果实例失败,将弹性IP地址重新关联到另一个实例,然后该实例将立即开始接收流量。

此方法不推荐,因为只有一个实例正在接收所有流量,而其他实例处于空闲状态。它还需要一种机制来检测故障并重新关联弹性IP(您必须自己做)。

第3。重新分配弹性网络接口(ENI)

所有EC2实例都具有主要ENI。他们可以选择有额外的ENI。

可以将流量引导至辅助ENI ,然后将该辅助ENI移至另一个实例。这类似于重新分配弹性IP地址。

此方法不推荐的原因与重新关联弹性IP地址(上图)相同,但也因为ENI只能在同一个AZ中重新分配。它不能用于将流量定向到不同AZ中的EC2实例。

底线:使用Elastic Load Balancer。它提供真正的高可用性,并且可以自动完成。

请参阅文档:What Is Elastic Load Balancing?