amazon-ec2 - 我需要亚马逊的 EC2、Cloudfront、RDS 吗?

标签 amazon-ec2 amazon-rds amazon-cloudfront

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

  • 运行 CakePHP
  • 使用 MySQL 存储数据
  • 让用户通过 Flash 上传音频(目前使用托管的 Flash 媒体服务器),稍后收听文件

  • 我是否需要 Amazon 的 EC2 用于网站、RDS 用于 MySQL 数据库和 CloudFront 用于 FMS?我真的很想了解我应该使用哪些服务。

    谢谢。

    最佳答案

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

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

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

    然而,CloudFront 有一些优势:

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

  • 您也可以使用 S3,但不能使用 RTMP 协议(protocol),您需要手动创建文件链接。此外,无法将您的域名用于文件。

    相对于在 EC2、EBS 中安装 MySQL,RDS 也有一些优势:
  • 自动数据库备份
  • 您可以使用 Amazon CloudWatch 监控您的数据库(免费服务)
  • 关于amazon-ec2 - 我需要亚马逊的 EC2、Cloudfront、RDS 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2484410/

    相关文章:

    amazon-web-services - CloudFront自定义策略的多个策略声明(签名的Cookie)

    java - AWS EC2 Tomcat Java Webapp - 我如何管理 bot http session

    python - 如何解决 python 中的总线错误(核心转储)?

    amazon-web-services - AWS EC2无需通过Internet连接VPC内部的RDS

    amazon-s3 - AWS S3 : How do I set the TTL for an entire bucket?

    amazon-web-services - Cloudfront Nginx 重写导致问题

    java - AWS - Java 获取的 IP 地址每 1 分钟更改一次

    php - 在负载均衡环境中在 AWS/EC2 上托管 MediaWiki 的 session 问题

    MySQL:小表上的常量 "Searching rows for update"

    amazon-web-services - Amazon RDS - 在单个 rds 实例中创建/克隆多个数据库