我应该在AWS S3上托管我的webapp的静态内容吗?

时间:2013-10-02 06:19:05

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

对于将部署在Amazon EC2实例上的具有适量静态媒体内容的Web应用程序,将静态内容包含在war文件中或将其托管在单独的S3实例上是否有意义。

性能方面的差异是什么? 服务成本方面的差异是什么? 复杂性方面的差异是什么?

1 个答案:

答案 0 :(得分:6)

绝对。有4个以上的原因:

  • Amazon S3几乎不需要管理,因此在配置,扩展等方面没有麻烦。
  • 您将减少EC2服务器负载
  • S3中的存储比EC2 EBS卷中的存储更便宜,因为在S3中您只需支付您所消耗的费用,您在EC2中支付整个EBS配置存储的费用(因此您需要支付一些可用空间)< / LI>
  • 您最终可以添加CloudFront分配,以便随时随地向您的用户提供静态内容(http://aws.amazon.com/cloudfront
  • 可能更多......

就成本而言:

  • 从S3到互联网的数据传输与您在EC2上支付的数据相同
  • 您可能会降低存储成本
  • 对S3文件的请求数量(http://aws.amazon.com/s3/#pricing)将产生额外费用
  • 在高流量负载下,您可能还需要更少的EC2实例/资源(这显然不是事实,因为它取决于您应用的100%)

在发布新版本的应用程序时,您也会遇到复杂的开销,因为除了将其部署到EC2实例之外,您还必须将新的静态文件版本上载到S3。但是你可以用一个非常简单的脚本自动化它。