3

在 Amazon AWS 设置中,两个克隆实例(位于不同区域)如何引用和共享相同的“基本”动态 Web 服务器文件并从同一个主数据库读取/写入?

我们当前的 AMI 实例现在位于 EBS 支持的卷上。但是,显然尝试在两个实例之间共享 EBS 卷是一个坏主意。我从这个 2009 年的旧答案中收集了很多信息,但它并没有分解除 Amazon S3 之外的其他替代方案。还是 S3 是唯一的选择?OP 的推理在 3 年后仍然有效吗?我们有哪些存储选项可以让多个实例实时共享数据库数据?

如果您想要共享数据,您可以设置所有实例都可以访问的服务器。如果您希望为所有实例提供一个简单的存储区域,您可以使用 Amazon 的 S3 存储服务来存储分布式和可扩展的数据。

迁移到云端,您可以拥有完全相同的设置,但您可以将文件服务器替换为 S3,或者让所有实例都连接到文件服务器。

4

3 回答 3

3

确认:您想在两个实例之间共享 a) 相同的数据库和 b) 相同的文件,每个实例位于不同的区域(不是不同的可用区)?

跨多个区域共享同一个数据库并不容易。您最好的选择是异步、多主复制或手动分片策略。但是,要安全有效地执行任何这些操作,必须仔细规划,并且在编写应用程序时必须牢记这种架构。 本文将为您提供与 MySQL 的多主复制相关的注意事项的一个很好的概述。

跨区域共享文件也可能有点挑战,因为您有很多选择,但通常比使用 SQL 数据库更容易。变量包括:

  • 多少复制延迟是可以接受的?
  • 你要写信到这两个地方吗?
  • 您在本地需要什么样的 I/O 性能?
  • 文件多久更改一次?

对于大多数用例来说, GlusterFS通常是一个很好的折衷方案。然而,就在昨天,AWS 宣布了一项允许跨区域复制 EBS 快照的新功能。根据您的需要,这也可能值得研究。

于 2012-12-19T17:50:20.050 回答
2

如果您有一个 EBS 支持的 AMI,那么每个服务器实例都将拥有自己的 EBS 卷数据“副本”,这些数据存储在 AMI 中,它们不会共享完全相同的物理卷。这与您使用实例存储 AMI 然后将特定 EBS 卷安装到每个实例的情况不同。

于 2012-10-26T17:59:23.980 回答
0

第 1 点)GlusterFS 是多可用区和多区域复制的不错选择。在跨区域复制期间会有一定的复制延迟,请在您的架构中注意这一点

第 2 点)如果您的 EBS 快照大小较小并且您可以适应几个小时的复制延迟,您可以使用 Amazon EBS 快照复制功能。但这需要在目标区域上努力分离/附加卷。

第 3 点)S3 仍然是这个用例的一个选项

于 2013-05-24T19:02:30.030 回答