2010-03-20 64 views
16

我要发布一个网站上亚马逊的服务器,即:我需要亚马逊的EC2,Cloudfront,RDS吗?

  1. 奔跑的CakePHP
  2. 使用MySQL存储数据
  3. 允许用户通过Flash上​​传音频(目前使用的是托管的Flash媒体服务器),并听取了文件后

我需要亚马逊的EC2网站,RDS为MySQL数据库,以及CloudFront的为FMS?我真的很喜欢我应该使用哪些服务的演练。

谢谢。

回答

23

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

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

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

CloudFront的有一定的优势:

  • 用户将被自动发送到您的内容的高性能交付最近的边缘位置。
  • 您也可以使用它通过RTMP协议传输内容。
  • 您不必担心存储的大小。通过EBS,您可以创建具有特定大小的存储。如果您以后发现需要更多存储,这可能会成为问题。使用CloudFront时,文件将安装在S3中,您无需担心它们的大小。
  • 您不会浪费网络服务器的容量。如果您使用EBS,这些文件将由EC2中的服务器提供。

您也可以使用S3,但不能使用RTMP协议,您需要手动创建指向文件的链接。另外,它不可能使用您的域名作为文件。

RDS也有过在EC2上安装MySQL的一些优势,EBS:

  • 自动化的数据库备份
  • 您可以监控与Amazon CloudWatch的(免费服务)
+0

很酷,谢谢,非常有用。 – ash 2010-04-18 09:56:25

+3

您可以像使用CloudFront一样在S3中CNAME域名。 – ceejayoz 2011-03-09 17:43:26

0

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

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

+0

EBS/S3是否支持闪存介质服务器/文件?我不太明白。 – ash 2010-04-08 10:11:27

0

一件事不是你的数据库在任何这些答复中提到的是可能(或可能不)需要绕过文件访问的安全性。云网络对于可公开访问的数据非常有用,但我还没有看到一个云网络,它可以为每个用户提供细粒度的文件访问级别。虽然您可能能够混淆网址以访问文件,以便顺序推测音频文件ID并不容易,但如果人们保留私人音频,这可能不够。不要说不这样做,只要小心做出决定。

+0

Cloudfront和S3都支持“私有”资产,即只能使用时间戳和签名url访问的文件。文件名本身甚至不必是随机的。 – 2012-12-03 16:19:10