我有一台主 EC2 服务器(Windows)和一个备份服务器,我一直将其停止运行,这样就不必为此付费。我正在寻找最简单的方法来确保如果我需要启动备份,它将具有主服务器中的最新文件。我可以对卷进行快照,但这需要一段时间,并且在发生意外中断的情况下会导致更多的停机时间。我是否应该设置与 S3 的同步,然后在启动备份后从相同的文件进行同步?
我的问题有点难以搜索,因为如果我搜索有关同步文件的信息,我会得到有关保持 EC2 实例同步运行的内容,如果我使用“备份”这个词,我会得到有关将文件备份到 S3 和 Dropbox 等的信息。
答案1
这个问题有很多解决方案,我们没有足够的信息来判断哪个是最好的。我有很多想法,但我不会详细介绍其中任何一个,因为每个想法都需要花费大量时间才能写出来。如果您发表评论或编辑您的问题以提供更多信息,我可以改进。
听起来如果你注意到第一个实例挂了,你就会手动点击第二个实例的“启动”。自动化可能会更好。
确保始终有一个实例运行的好方法是自动扩展,最大大小为一个。通常,这与弹性负载平衡 (ELB) 一起使用,因此您不必担心实例 IP 地址,但您可以编写一个启动脚本,在服务器启动时获取弹性 IP,这比使用 ELB 更便宜。此主题对于如何实现这一目标有一些想法。
如果您有一小部分数据文件发生变化,则可以使用 Amazon弹性文件系统。这样 EBS 磁盘就不必保持最新状态。如果您有广泛分布的文件,这可能不切实际。
自动快照很容易。可能有一种使用脚本的方法,可以让实例启动并将其自身与 EBS 实例关联。
您可以使用一个 EBS 实例来存储操作系统,另一个存储数据,而不是使用一个 EBS 实例。实例在启动时可能可以将其自身与第二个 EBS 卷关联。此主题是我通过 Google 快速搜索找到的一种可能的方法。
您可以采取更标准的做法,让两个实例在负载均衡器后面运行并实时同步它们,但这会增加您的成本。