AWS 实例会失败吗?我需要备份吗?

AWS 实例会失败吗?我需要备份吗?

我有一个托管在 AWS EC2 上的网站。如果实例发生故障,我是否需要备份?或者 Amazon 方面是否已经有足够的冗余?

答案1

您肯定需要备份!当运行单身的EC2 实例托管 Web 服务器,并且该 EC2 实例发生故障,您的数据将丢失。没有自动备份如果您只是启动一个 EC2 实例而没有进行进一步的配置(即将根卷设为 EBS 卷)。

EC2 实例失败,这必须是您的架构概念的一部分。通常,AWS 会在 AWS 计划退役之前宣布,但是,我见过实例在没有任何警告的情况下失败。我建议将它们视为短暂的,并假设它们随时可能失败。

来自AWS文档:

当 AWS 检测到托管实例的底层硬件发生不可修复的故障时,实例将被计划停用。当实例到达其计划的停用日期时,AWS 会停止或终止该实例。如果您的实例根设备是 Amazon EBS 卷,则实例将停止,您可以随时重新启动它。启动已停止的实例会将其迁移到新硬件。如果您的实例根设备是实例存储卷,则实例将终止,并且无法再次使用。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-retirement.html

还:

  • 使用 Amazon EBS 快照定期备份您的 EBS 卷,并从您的实例创建 Amazon 系统映像 (AMI) 以将配置保存为启动未来实例的模板。
  • 跨多个可用区域部署应用程序的关键组件,并适当地复制数据。
  • 如果实例和 Amazon EBS 卷出现故障,请定期测试恢复过程。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-best-practices.html, 部分备份和恢复

因此,根据您要实现的正常运行时间,建议不要只运行一个 EC2 实例,而是运行多个实例并将它们添加到负载均衡器。根据您可以配置的运行状况检查,它将自动替换故障实例。

您可能还想考虑将您的网站托管在AWS Elastic Beanstalk,它可以帮您设置所需的基础设施。

答案2

你需要考虑备份的用途。即使你拥有一个部署在不同可用区中的高弹性 Web 服务器,如果你的数据或磁盘损坏了,会发生什么?必须做好备份,以防发生这些情况。

亚马逊并不声称 EC2 实例具有任何方面的弹性,但他们确实提供了如何使用 2 个或更多实例构建弹性环境的材料。

您可以在以下位置找到有关如何构建弹性环境的资源https://aws.amazon.com/architecture/

EC2 的最新 (2020) 指南https://www.logicata.com/blog/aws-ec2-everything-you-need-to-know-about-ec2-instances/

相关内容