我需要亚马逊的EC2,Cloudfront,RDS吗?

时间:2010-03-20 19:30:41

标签: amazon-ec2 amazon-rds amazon-cloudfront

我想在亚马逊的服务器上发布一个网站:

  1. 运行CakePHP
  2. 使用MySQL存储数据
  3. 允许用户通过Flash上​​传音频(目前使用托管的Flash Media Server),并稍后收听文件
  4. 我是否需要亚马逊的EC2用于网站,RDS用于MySQL数据库,CloudFront用于FMS?我真的很喜欢我应该使用哪些服务的演练。

    感谢。

3 个答案:

答案 0 :(得分:24)

首先,您需要EC2服务才能拥有虚拟机,您可以在其中安装Apache,PHP和Web应用程序。

然后,您还需要一个用于媒体文件的数据库服务器和数据存储库。建议的方式正是您的建议:RDS for MySQL和CloudFront作为文件存储库。

最初没有上述服务(RDS,CloudFront甚至EBS)可用。开发人员无法使用MySQL数据库,因为即使它安装在EC2实例中,也不能保证实例保持运行状态,如果实例丢失,数据也会丢失。出于这个原因,引入了EBS。它创建了一个具有保证持久性的已安装存储,您可以从EC2实例访问该存储。从理论上讲,你可以在那里安装MySQL并用它来存储flash文件。如果您只想通过HTTP协议提供文件,那么使用EBS就没有问题。

然而,CloudFront有一些优势:

  • 用户会自动路由到最近的边缘位置,以便高效地投放您的内容。
  • 您还可以使用它通过RTMP协议流式传输内容。
  • 您不必担心存储空间的大小。使用EBS,您可以创建具有特定大小的存储。如果您稍后发现需要更多存储空间,则可能会出现问题。使用CloudFront,文件将安装在S3中,您无需担心其大小。
  • 您不会浪费Web服务器容量。如果您使用EBS,则文件将由EC2中的服务器提供。

您也可以使用S3,但是您无法使用RTMP协议,您需要手动创建指向文件的链接。此外,无法将您的域名用于文件。

与在EC2,EBS中安装MySQL相比,RDS还有一些优势:

  • 自动数据库备份
  • 您可以使用Amazon CloudWatch(免费服务)
  • 监控您的数据库

答案 1 :(得分:0)

您需要EC2才能启动实例并创建LAMP服务器。如果您不需要自己管理MySql数据库,则RDS很好,但RDS的一个限制因素是您无法进行数据库复制。

对于持久存储,您可以使用EBS或S3作为数据文件。

答案 2 :(得分:0)

这些回复中未提及的一件事是可能(或可能不)需要绕过文件访问的安全性。云网络适用于可公开访问的数据,但我还没有看到云网络,它将基于每个用户提供精细级别的文件访问。虽然您可能能够对网址进行模糊处理来访问文件,以便顺序猜测音频文件ID并不容易,但如果人们保留私人音频,这可能还不够。不是说不这样做,只要谨慎做出决定。