用于扩展的EBS上MySQL的体系结构(Amazon Web服务)

用于扩展的EBS上MySQL的体系结构(Amazon Web服务),mysql,amazon-ec2,amazon-web-services,amazon-ebs,Mysql,Amazon Ec2,Amazon Web Services,Amazon Ebs,我试图理解如何构建AmazonWeb服务应用程序 我有一个运行EBS的实例。据我所知,我需要安装EBS驱动器,以便在上面存储MySQL数据库 当我以后想扩大规模时,我该怎么做?我知道我可以添加更多服务器实例,但它们将如何访问数据库?因为据我所知,EBS卷只能连接到一个服务器实例。我不能谈论这个特定的设置,因为我没有将EBS与MySQL实例一起使用的经验,但是这种类型的扩展通常是通过将特定实例作为主数据库服务器来实现的。任何时候,您启动仍在使用master DB IP连接的其他web服务器时。当数

我试图理解如何构建AmazonWeb服务应用程序

我有一个运行EBS的实例。据我所知,我需要安装EBS驱动器,以便在上面存储MySQL数据库


当我以后想扩大规模时,我该怎么做?我知道我可以添加更多服务器实例,但它们将如何访问数据库?因为据我所知,EBS卷只能连接到一个服务器实例。

我不能谈论这个特定的设置,因为我没有将EBS与MySQL实例一起使用的经验,但是这种类型的扩展通常是通过将特定实例作为主数据库服务器来实现的。任何时候,您启动仍在使用master DB IP连接的其他web服务器时。当数据库成为瓶颈时,您可以在其中一个框(或其自己的专用框)上启动从属数据库实例。然后,您可以配置主从方向的复制或循环复制,以便也可以写入从实例

如果选择经典的主从复制,则必须确保只在master DB实例上执行写操作


您可以设置Zeus或任何其他连接负载平衡器,这样您只需连接到单个数据库IP,然后该IP将循环路由您的读取连接到服务器池。否则,您必须自己管理连接,这绝对不是小事。祝您好运。

您可以尝试在支持EBS的实例上使用MySQL群集。我也有类似的问题,但有更多的要求。EBS卷容量可以使用快照->启动新的卷技术来扩展,或者使用EBS条带化(RAID 0)来扩展存储容量


在AWS中,您不能同时将相同的EBS卷装载到2个EC2实例,因此,当您扩展应用程序时,您需要通过复制或集群来扩展MySQL数据库。AWS RDS是MySQL的一个非常好的选择,如果您的应用程序是读密集型的,那么您也可以使用RDS读取副本进行扩展。如果您需要写扩展,那么可以探索功能分区或MySQL碎片

AWS有一个完整的产品专门用于此:

在除最罕见和最专业的情况外的所有情况下,使用RDS会比尝试创建和优化自己的EBS/EC2/MySQL基础设施更好

RDS还直接回答您的问题-它们直接支持创建只读数据库,用作查询从属数据库。RDS还为您执行备份、升级和各种故障转移基础架构


使用EBS,无法将磁盘连接到多个EC2实例,因此无法使用该方法构建故障群集。相反,您需要某种类型的复制或备份工具

RDS
绝对是一个解决方案,但我不同意你的一些观点。如果您需要SUPER()权限,或者您特别注重成本,那么此时RDS不是合适的解决方案。备份EBS支持的mysql卷也很容易:只需对它们进行快照即可。与物理服务器中的新磁盘相比,只需一次AWSAPI调用就可以实现,而且成本很低。EBS支持的dbs有其缺点,但并非总能解决问题。@Christopher。我同意,对某些用户来说,缺乏超级特权和定价可能是个问题。就我个人而言,我发现RDS的自动备份比快照EBS卷更容易,尽管编写和安排脚本来完成这项工作非常简单。对于MySQL的一般使用,我发现RDS是一个很好的整体解决方案,并且比我自己在EC2+EBS上设置它所做的工作要少。你也可以将IOPS调到EBS卷中以提高RW性能,但它一点也不便宜。你可以在AWS中的“ELB”后面平衡MySQL从属服务器的负载。。。最好是在专有网络中。