AWS: Elastic IP vs ENI



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

我正试图解释两者的优点,所以如果有人能帮我,我将不胜感激!

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

1.使用弹性负载平衡器

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

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

"自动缩放"可用于在多个可用性区域中创建这些多个实例,还可以在添加/删除实例时更新负载平衡服务。

2.重定向弹性IP地址

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

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

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

所有EC2实例都有一个主ENI。它们可以选择具有额外的ENI。

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

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

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

请参阅文档:什么是弹性负载平衡?

只是为了回答所问的问题。

主实例和辅助实例处置

弹性IP只能分配给公共子网中的实例
弹性网络接口只能在同一个AZ和同一个VPC的实例之间重新连接。(文档还指出,它们应该在不同的子网中。)

限制弹性IP的数量默认限制为每个区域每个帐户5个实例
弹性网络接口的数量通常仅受VPC的CIDR容量限制。

最新更新