AWS:弹性IP与ENI

use*_*018 3 networking amazon-web-services

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

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

Joh*_*ein 9

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

1.使用Elastic Load Balancer

这是提供高可用性的首选方法.

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

Auto Scaling可用于跨多个可用区创建这些多个实例,还可以在添加/删除实例时更新Load Balancing服务.

2.重定向弹性IP地址

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

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

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

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

可以将流量定向到辅助ENI,然后将该辅助ENI移动到另一个实例.这类似于重新分配弹性IP地址.

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

底线:使用Elastic Load Balancer.它提供真正的高可用性,并且可以自动执行.

请参阅文档:什么是Elastic Load Balancing?