【问题标题】:Syncing between Amazon EBS Devices在 Amazon EBS 设备之间同步
【发布时间】:2011-05-08 11:42:24
【问题描述】:

我有 2 个 EC2 实例,每个实例都附加了自己的 EBS。位于 EC2 前面的是负载均衡器。

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

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

欢迎提出建议!

谢谢

S

【问题讨论】:

    标签: amazon-ec2 amazon-web-services


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我认为这个问题有几种解决方案

      • nfs/samba 实例间共享目录
      • svn 部署
      • 集群文件系统 - OCFS/GFS
      • 云管理,例如 capistrano 和在需要时触发部署
      • 当然还有 cron 作业,您可以执行 ftp、scp、rsync、s3sync/copy 等操作

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

          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. 也许您也可以在两个 ebs 卷上使用“s3 sync”。这样,两个 eb 将通过 S3 同步。参考这个链接:https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-04-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多