如何使 EBS 卷在零停机时间可用并在 ebs 卷崩溃时附加到 EC2 实例?

问题描述

我有一个 r5.xlarge windows ec2 实例,它连接到 6TB EBS 卷,每周都会进行 EBS 备份。 现在我想要一个零停机时间更好的解决方案。

  1. 如果 ec2 实例失败,我希望创建新的 ec2 实例,并且它应该自动附加到 EBS 卷。
  2. 如果 EBS 卷崩溃,我希望备份快照可用并附加到 ec2 实例,零停机时间和卷内容立即可用。

有没有办法为此实施解决方案以及如何实施?

解决方法

如果您想提高大驱动器的可用性,我会推荐 FSx。这不是那么简单 - 您需要设置 Active Directory,并且您的 EC2 需要加入 AD - 但是一旦您拥有所有这些组件(并且还有额外的成本)- 假设您正在使用,FSx 提供比 EBS 高得多的可用性多可用区设置。 更多信息here

请注意,负载均衡器标签与您的问题无关 - 尽管要解决您的第一种情况,您可能需要负载均衡器平衡两个 EC2 实例

,

您应该尝试使用 Elastic BeanStalk,它会自行处理自动缩放。您只需要在创建时配置设置。 这应该是您需要的最接近的解决方案,正如上面 Marcin 所解释的那样,2 个单点故障没有零停机时间。因此,Elastic BeanStalk 似乎是最适合您的解决方案。

更新:

因此,在这种情况下,您可以做的是添加负载平衡并添加自动缩放,以便您的问题的第一点得到注意,如果 ec2 实例因自动缩放而出现故障,将创建一个新实例,并在shell 脚本可以添加命令以映射到 EBS。 对于 EBS,您无能为力,您可以进行定期备份,如果 EBS 出现故障,则将其替换为最新的备份或快照,还可以查看以下链接: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-restoring-volume.html