我有一个web应用程序,提供二进制文件(图像等)。我们的应用程序运行在亚马逊EC2上。我们最初打算使用亚马逊S3来存储和服务这些文件,这不再是一种选择。
我们需要使用HTTPS通过CNAME传输这些文件。由于许多技术原因,亚马逊S3显然不可能做到这一点。亚马逊提供弹性块存储(EBS),它允许您将大小高达1TB的块挂载到一个实例上。我们将有多个实例并行地访问这些数据。
我想的是使用像MogileFS/GluserFS/插入-更多-在这里和弹性块存储(EBS)这样的分布式文件系统。
因此,我的问题是:其他人目前正在做什么来在亚马逊EC2上创建一个可扩展的(几个100 to )文件存储系统,而不使用冗余的亚马逊S3?数据仍将在亚马逊S3上备份,但所有读取都将离开文件系统。
谢谢你的进阶。如果有人需要澄清任何事情,请随时询问。
发布于 2010-09-09 23:34:27
一个可怕的老问题突然又冒了出来.:-)
因此,我的问题是:其他人目前正在做什么来在亚马逊EC2上创建一个可扩展的(几个100 to )文件存储系统,而不使用冗余的亚马逊S3呢?
没有,在AWS上,您将使用S3来存储100 TB的BLOB,其他任何东西都是荒谬的。
我们需要使用CNAME在HTTPS上传输这些文件。由于许多技术原因,亚马逊S3显然不可能做到这一点。
是的,但通过其他方法是可能的。
由于您需要在您自己的域名上访问HTTPS,所以您将在EC2节点上设置两个HTTPS服务器(或代理),作为因特网和S3之间的SSL加密/解密网关。
我从未使用过Apache流量服务器 (以前的Inktomi),但它看起来非常适合这一点。否则,nginx或Apache可以用于SSL处理,如果需要缓存,还可以使用Squid或Varnish。
在高级别上,请求响应如下所示:
Internet request via https -->
(optional) Elastic Load Balancing -->
EC2 instance with SSL capable HTTP proxy (fx nginx) -->
plain unencrypted http to S3此外,您还需要一种确定性的方法来处理URL重写。外汇。https://secure.yourdomain.com/<id>被重写为http://<bucket>.s3.amazonaws.com/<id>
发布于 2010-09-09 23:23:48
我知道Acquia在EBS上运行Gluster和EC2。所以从技术上讲,它似乎是有效的。
发布于 2010-10-25 11:35:36
我目前正在构建一个基于Gluster 3.1和EBS的复制集群文件系统,通过FUSE客户端进行访问。
如果你对一个拥有大量文件调用的web应用程序进行了大量投资,并且你想升级到从多个负载平衡的应用服务器访问,并创建可伸缩的复制存储,而不需要重写所有的文件访问代码,那么这似乎是你唯一的选择。
我还没有完成这个项目,所以我对完成的结果没有太多的反馈。有一个简单的教程这里
https://serverfault.com/questions/96001
复制相似问题