Amazon ec2 多个EC2实例(扩展)如何在一个EBS上进行数据存储?

Amazon ec2 多个EC2实例(扩展)如何在一个EBS上进行数据存储?,amazon-ec2,storage,amazon-ebs,Amazon Ec2,Storage,Amazon Ebs,因此,在一个简单的情况下,如果只有一个实例,那么我可以将数据存储到安装在该实例上的EBS卷中。e、 g./mnt/db 但是,如果我缩放并有多个实例(静态或动态缩放),它是如何工作的 因为一个EBS只能连接到一个实例,如果我有多个实例,这是否意味着我必须为每个实例连接一个EBS卷?如果是这种情况,每个实例的EBS卷上的数据将不同 很明显,我希望所有实例都访问(R&W)单个卷(作为数据存储)。卷中的数据将不断增长,不会出现停机 解决办法是什么?有没有一种方法可以让我不挂载设备(EBS),而直接调用

因此,在一个简单的情况下,如果只有一个实例,那么我可以将数据存储到安装在该实例上的EBS卷中。e、 g./mnt/db

但是,如果我缩放并有多个实例(静态或动态缩放),它是如何工作的

因为一个EBS只能连接到一个实例,如果我有多个实例,这是否意味着我必须为每个实例连接一个EBS卷?如果是这种情况,每个实例的EBS卷上的数据将不同

很明显,我希望所有实例都访问(R&W)单个卷(作为数据存储)。卷中的数据将不断增长,不会出现停机

解决办法是什么?有没有一种方法可以让我不挂载设备(EBS),而直接调用它来访问数据

以下是我能想到的: 1) 如果每个实例都有自己的EBS卷,则每个时间间隔(例如1小时),所有实例都将卸载和分离EBS卷,并附加一个新卷。然后是一个强大的实例,它装载刚刚分离的所有EBS卷,并聚合所有数据。 2) 或者类似于1),而不是分离和附加,我只是在所有实例的所有卷上拍摄快照。然后,强大的实例聚合快照中的数据。并将结果保存到另一个EBS或S3中

这两种方法似乎都奏效了。。但是需要做很多工作。有没有更聪明的方法来解决这个问题?谢谢

  • 顺便说一下,由于性能问题,我无法让实例将数据写入S3。:)
哦,这个怎么样
3) 首先,所有实例都有自己的EBS,并将数据写入EBS。然后每小时,数据将被发送到S3。然后另一个实例将聚合它们

拥有一个可以装载到其他实例上的ang NFS实例怎么样?

看来您需要为最新的EC2实例创建一个EBS快照。这将创建一个EBS支持的AMI。然后,您需要终止所有不是最新的EC2实例,并从新创建的AMI启动一个新的实例堆栈。如果您有一个正在运行的负载平衡器,那么您还必须将这些新实例附加到负载平衡器。
这似乎有点冗长,但都可以通过编程来完成。至少这是我认为使用Amazon在云中进行扩展的方式,以及在多个实例之间传播更改的方式。其他更有经验的人验证了这一点。我计划稍后自己测试。

是的,您可以在Linux中设置NFS。对于性能方面,显然比直接临时存储慢。或者使用临时驱动器,并在指定时间使用cron任务将其同步到NFS。这是一个非常好的问题,也是AWS自动伸缩的一部分,我不理解,希望得到答案。当数据库位于EBS卷上时,自动缩放如何工作?也就是说,新的EC2实例如何访问它?