亚马逊s3与Ec2存储文件

时间:2017-01-25 11:56:24

标签: amazon-web-services amazon-s3 amazon-ec2

哪一种更适合存储用户上传的图片和视频?

亚马逊s3或文件系统EC2?

1 个答案:

答案 0 :(得分:7)

虽然StackOverflow不鼓励基于意见的问题,而且答案总是取决于具体情况,但很可能非常可能,因为Amazon S3是您更好的选择。

您没有说是否只希望存储数据,或者您是否也希望向用户提供数据。我会假设两者。

使用Amazon S3存储静态资源的好处,例如图片和视频:

  • S3 即用即付(仅支付所消耗的存储空间,具有不同的选项,具体取决于您希望检索对象的频率/速度)
  • S3 高度可用:您不需要运行任何服务器
  • S3 非常耐用:您的数据在三个数据中心之间重复,因此更容易出现故障
  • S3 高度可扩展:它可以处理大量请求。如果您使用Amazon EC2提供内容,则必须进行横向扩展以满足请求
  • S3在对象,存储桶和用户级别具有内置安全性

基本上,Amazon S3是一种完全托管的存储服务,可以将静态资产提供给Internet。

如果您要在Amazon EC2实例上存储数据,并提供来自EC2实例的内容:

  • 您需要使用Amazon EBS卷预先配置存储空间(即使并未全部使用,也需要为整个卷付费)
  • 您需要快照EBS卷以提高持久性(EBS快照存储在Amazon S3中,在数据中心之间复制)
  • 您需要扩展您的EC2实例(让它们变大或添加更多)来处理工作量
  • 如果您运行多个EC2实例以满足请求量,则需要在实例之间复制数据
  • 您需要在EC2实例上安装和配置软件,以管理安全性,内容服务,监控等。

将此静态数据直接存储在Amazon EC2实例而非Amazon S3上的唯一好处是,可以立即访问到在该实例上运行的软件。这使代码更简单,访问速度更快。

还可以选择使用 Amazon Elastic File System(EFS),这是类似NAS的存储。您可以在多个EC2实例上同时安装EFS卷。数据在多个可用区之间复制。它按现收现付的方式收费。但是,它只是存储层 - 您仍然需要使用Amazon EC2实例将内容提供给Internet。