在 EC2 实例上备份 WordPress 网站的最佳方法

在 EC2 实例上备份 WordPress 网站的最佳方法

我的 WordPress 网站位于单个 EC2 实例上。我的网站有 60GB 的文件和 800MB 的数据库大小。仅通过运行 Duplicator 插件进行备份,我的网站空间就不够了。您推荐的替代方案是什么?EBS 快照?AMI?等等?

更新:我想远程保存备份文件。

答案1

EBS 快照至关重要。如果实例发生问题,它们可以快速将实例恢复到已知的良好状态。我建议使用 AWS EC2 控制台中的 Lifecycle Manager,您可以每晚或每周拍摄快照,并根据需要保留它们,具体取决于您的 RPO/恢复点目标。请注意,EBS 快照成本会迅速增加,即使它们旨在对快照中的块进行重复数据删除。

AMI 只是一个 EBS 快照,其中包含一些有关您的实例的元数据。没有实际需要。

对于异地备份我所做的是:

  • 每晚运行 MySqlDump
  • 运行开源Restic 备份工具配置为每晚将 MySQL 备份和 Wordpress 文件存储到异地位置。您可以在 B2、S3、Azure、Google 等上拥有存储库,详情这里

备份的一个重要部分是定期进行恢复测试。

答案2

虽然这个问题已经由 Tim 回答,并且已被选为正确答案,但让我也分享一下我对备份作为答案的看法,因为这样其他人会更清楚。正如我在对原始问题的评论中提到的,这个问题非常广泛。它可以导致多个答案。有不同类型的备份。例如,Tim 回答的是服务器级备份,其中将整个服务器作为备份。无论它运行什么应用程序或软件(例如 WordPress),它都会发生。

还可以进行应用程序级备份。根据应用程序的不同,有些应用程序只有静态文件。有些有数据库。对于 WordPress,它包含数据库和文件。应用程序级备份独立于它们运行的​​服务器。当我们有应用程序级备份时,我们可以快速切换主机。大多数托管的 WordPress 平台提供免费迁移。他们所需要的只是一个完整的 WordPress 备份(数据库和文件)。因此,当我们有完整的 WP 备份时,我们可以在任何网络主机上托管我们的网站(而不仅仅是 AWS EC2)。应用程序级备份的另一个优点是……甚至可以自动化部署我们网站的过程,或者我们可以从备份中快速部署一个临时网站来测试更新(例如 WordPress 核心更新、主题和插件)。

由于提到了 WordPress 和 Duplicator 插件,我认为您正在寻找应用程序级备份解决方案。EBS 快照在某些用例上确实很有效。没有适合每种用例的特定解决方案。例如,某些站点可能需要实时备份数据库和/或文件。在这种情况下,推荐使用类似于 VaultPress 的解决方案。

答案3

Tim 提到了 EBS 快照,非常棒。但我更喜欢 AMI 镜像。为什么?

  1. 恢复新的 EC2 实例比仅从 EBS 快照尝试创建新的 EC2 实例的步骤更少。
  2. 无论如何,您都会获得 EBS 快照以及 AMI 映像。
  3. 与 EBS 快照相比,AMI 映像没有额外成本。

注意:可以从 EBS 快照创建 AMI 映像,但这不适用于 Windows AMI 映像。

答案4

(1)启用快照。任何备份应用程序都不需要它,但您将拥有一些一致性和恢复点。

(2) 在 (1) 中启用快照后,您可以配置备份插件(JetPack、BlogVault 等,WordPress 有几个选项),甚至可以配置在拍摄快照后及时执行的简单 bash 脚本,将最新文件直接上传到正在运行的 VM 之外的 S3(S3 有 Linux CLI,因此不会太难)。这样,备份文件就不会占用 EC2 实例上的空间。

(3)如果您不想搞乱(1)和(2),您可以使用 AWS 平台上提供的商业备份应用程序,例如 Veeam。

相关内容