【发布时间】:2012-08-08 06:40:04
【问题描述】:
我正在开展一个包含文件存储和共享功能的项目,经过数月研究利用 AWS 的最佳方法后,我仍然有点担心。
基本上,我的决定是使用 EBS 存储来存放用户文件还是使用 S3。当用户想要下载少量文件时,系统将包含即时 zip 归档。此外,当用户下载任何文件时,我不希望文件的 URL 暴露。
我想出的两个最佳选择是:
-
拥有一个 EC2 实例,该实例安装了多个 EBS 卷来存储用户文件。
- 优点:它似乎比 S3 快得多,而且从 EBS 卷中压缩文件非常简单。
- 缺点:我认为 Amazon 限制了您可以使用的 EBS 存储量,并且没有 S3 那样冗余。
-
文件上传和处理后,系统会将这些文件推送到 S3 存储桶以进行长期存储。当请求文件时,我将从 S3 检索文件并输出回客户端。
- 优点:冗余,无文件存储限制
- 缺点:看起来很慢,无法将 S3 存储桶作为卷挂载在文件系统中,提供压缩文件意味着将每个文件传输到 EC2 实例,压缩,然后最后发送输出(再次,慢!)
我的任何假设有缺陷吗?谁能想到管理大量文件存储的更好方法?
【问题讨论】:
-
您可以将 S3 存储桶挂载为卷。查看s3fs。我用它上传了一个巨大的 (5GB) zip 文件到 S3,然后将我的存储桶安装为一个卷,然后解压缩它。它就像一个魅力。
标签: amazon-s3 amazon-ec2 amazon-web-services amazon