在Amazon EBS设备之间同步

时间:2010-11-11 13:43:37

标签: amazon-ec2 amazon-web-services

我有2个EC2实例,每个实例都附有自己的EBS。坐在EC2前面是一个负载平衡器。

这些实例运行CMS驱动的站点,用户可以在其中上传文件。

将文件上传到一个EBS并且负载均衡器将访问者发送到其EBS没有该文件的EC2实例的最佳解决方案是什么?某种运行rsync的cron?

建议非常欢迎!

由于

取值

4 个答案:

答案 0 :(得分:1)

我认为最好的解决方案是使用Amazon S3这样的单一共享存储。最好使用CMS的一些插件在S3上存储用户的文件。但是如果没有这样的插件,你可以使用Fuse s3fs适配器在两个实例上挂载文件系统,并配置你的CMS将这些文件存储在指定的目录中。

答案 1 :(得分:1)

我认为从头脑中可以解决这个问题。

  • nfs / samba在实例之间共享dir
  • svn deploy
  • 群集文件系统 - OCFS / GFS
  • 云管理,例如capistrano和trriger,当您需要时进行部署
  • 当然你可以做ftp,scp,rsync,s3sync / copy等cron作业

答案 2 :(得分:0)

或者可能,创建一个EC2实例作为NFS并与其他实例共享它的目录。

答案 3 :(得分:0)

有多种解决方案可以使EC2中的数据与使用或不使用EBS卷保持同步。

  1. 可以使用AWS EFS服务而不是使用EBS卷。 EFS卷可以在VPC中的EC2实例之间共享,并且两个实例都将在安装路径上的数据同步,其中EFS安装在实例上。
  2. 另一种解决方案是使用Gluster文件存储。这也适用于不同AWS区域中的EBS卷。请参阅此链接:http://sanketdangi.com/post/5601762671/gluster-config-aws-multi-az
  3. 可以使用S3 Fuse在您的EC2实例上安装S3存储桶。请参阅此链接:https://github.com/s3fs-fuse/s3fs-fuse/wiki/Fuse-Over-Amazon
  4. 也许你也可以使用" s3 sync"在两个ebs卷上。这样两个ebs将通过S3同步。请参阅此链接:https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html