在亚马逊AWS设置中,两个克隆实例(在不同区域)如何引用和共享相同的“基本”动态Web服务器文件以及从同一主数据库读取/写入?
我们当前的AMI实例目前正在EBS支持的卷上。然而,显然试图在两个实例之间共享EBS卷是一个坏主意。我从 this older 2009 answer 收集了很多,但除了Amazon S3之外,它没有分解可能存在的替代方案。或者S3是唯一的选择吗? OP的推理在3年后仍然有效吗?我们有多个实例实时共享数据库数据的存储选项是什么?
如果您需要共享数据,可以设置所有实例都可以访问的服务器。如果您想为所有实例创建一个简单的存储区域,可以使用Amazon的S3存储服务来存储分布式和可扩展的数据。
迁移到云端,您可以使用完全相同的设置,但您可以使用S3替换文件服务器,或者让所有实例连接到您的文件服务器。
答案 0 :(得分:3)
确认:您想要共享a)相同的数据库和b)两个实例之间的相同文件,每个实例位于不同的区域(不同的可用区域)?
跨多个地区共享同一个数据库并不容易。您最好的选择是异步,多主复制或手动分片策略。但是,要安全有效地执行这些操作,必须仔细规划,并且必须在编写此应用程序时编写应用程序。 This article将为您提供与使用MySQL进行多主复制相关的警告的概述。
跨区域共享文件也可能是一个挑战,因为您有很多选项,但它通常比对SQL数据库执行相同操作更容易。变量包括:
GlusterFS通常是大多数用例的妥协。然而,就在昨天,AWS宣布了一项新功能allows inter-region copies of EBS snapshots。根据您的需要,这也值得研究。
答案 1 :(得分:2)
如果您有EBS支持的AMI,那么每个服务器实例将拥有自己存储在AMI中的EBS卷数据的“副本”,它们将不会共享完全相同的物理卷。这与您使用实例存储AMI然后将特定EBS卷安装到每个实例的情况不同。
答案 2 :(得分:0)
要点1)GlusterFS是多区域和多区域复制的理想选择。在跨区域复制期间会有一些复制滞后,请在您的架构中注意这一点
第2点)如果您的EBS快照大小较小,并且您可以使用几小时的复制延迟,则可以使用Amazon EBS快照复制功能。但这需要在目标区域上分离/附加卷。
第3点)S3仍然是此用例的选项