就高可用性而言,使用弹性IP或弹性网络接口(interface)掩盖实例故障有什么区别?唯一的区别是因为ENI可以用于私有(private)实例,而弹性IP不能用于私有(private)实例吗?

我正在尝试解释两者的优点,因此,如果有人可以帮助我,我将不胜感激!

最佳答案

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

1.使用弹性负载均衡器

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

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

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

2.重定向弹性IP地址

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

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

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

所有EC2实例都有一个主ENI。他们可以选择具有其他ENI。

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

由于与重新关联弹性IP地址(上面)的原因相同,因此不建议使用作为的此方法,而且还因为只能在同一AZ中重新分配ENI。它不能用于将流量定向到其他AZ中的EC2实例。

底线:使用弹性负载均衡器。它提供了真正的高可用性,并且可以自动执行。

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

关于amazon-web-services - AWS : Elastic IP vs ENI,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36608349/

10-16 17:39
查看更多