【问题标题】:What is the difference between Amazon S3 and Amazon EC2 instance? [closed]Amazon S3 和 Amazon EC2 实例有什么区别? [关闭]
【发布时间】:2013-01-01 18:07:54
【问题描述】:

我需要使用 php mysql 和 html 创建一个 Web 应用程序。请求和数据的数量将非常高。我需要亚马逊服务器空间。

我阅读了亚马逊的文档,发现 S3 是一个提供简单 Web 服务接口的存储。 EC2 是一种 Web 服务,可在云中提供可调整大小的计算容量。

我可以购买 S3 并运行 php 并查询我的数据库吗?

请告诉我 Amazon S3 和 Amazon Ec2 实例的区别。

【问题讨论】:

    标签: amazon-web-services


    【解决方案1】:

    EC2 实例类似于运行 Windows 或 Linux 的远程计算机,您可以在其上安装所需的任何软件,包括运行 PHP 代码的 Web 服务器和数据库服务器。

    Amazon S3 只是一种存储服务,通常用于存储大型二进制文件。 Amazon 还提供其他存储和数据库服务,例如用于关系数据库的 RDS 和用于 NoSQL 的 DynamoDB。

    【讨论】:

    • 感谢您的回复。那么,如果我有一个 EC2 实例和 S3 存储,我可以设法运行一个服务器(PHP、mysql)吗?还是 EC2 实例足以运行服务器?
    • 一个 EC2 实例足以运行带有 PHP 和 MySQL 的服务器。
    • 是不是说S3、EBS就像硬盘一样提供额外的存储空间?
    • EBS 是 EC2 实例本身的文件系统,有点像 NTFS 或 ext4。 S3 可以看成是一个大容量、高可用的外置存储设备。
    • 据我了解,您可以公开web server on S3,但它只是静态的,例如巨大的 HTML、图像或文档。
    【解决方案2】:

    亚马逊 EC2

    它只是一种托管在 AWS 数据中心某处的普通计算机。并且,作为其中的一部分,它具有硬盘驱动器或本地存储。而且,从某种意义上说,任何想要长期存储的东西都不想存储在 EC2 实例的硬盘驱动器上,这不是永久性的,因为在添加服务器时容易进行扩展和缩减,副-反之亦然(保持弹性属性)。而且,您不希望将想要永久保存在本地存储中的东西保存在本地存储中,因为当您添加或删除实例时,您可能会丢失该信息或丢失该数据。 EC2 旨在将您的应用程序部署在服务器上(使用其处理能力),该服务器分别通过 S3 和 RDS 提供内容。因此,Amazon EC2 适用于任何类型的处理活动。

    亚马逊 S3

    举个例子Netflix,他们实际上存储了数百万个为其内容提供支持的物理视频文件。必须有这些视频文件和这些存储的多个版本。这就是 S3 发挥作用的地方。 Amazon S3 是 AWS 的存储平台。特称大容量无限存储桶(上限很高)。因此,S3 是存储文档、电影、音乐、应用程序、图片以及您想要存储的任何内容的理想场所,只需转储到 S3 上即可。而且,这将是您放在那里的文件的多个冗余和备份。因此,您将始终拥有决定存储在 S3 上的任何文件的高可用性。

    S3 的使用:

    1. 大容量存储容器
    2. 长期储存

    因此,作为一个全面的故障保护,Amazon S3 是您想要长期保留的任何东西的理想场所,它具有大量冗余,而且它非常棒,因为它基本上是无限的存储空间。因此,Amazon S3 是 Netflix 存储他们必须存储的数千 PB 视频文件的地方。因此,Amazon S3 是海量存储存储桶。

    【讨论】:

      【解决方案3】:

      Ec2 实例足以运行一个服务器, S3 存储不需要运行服务器,它只是用于存储您的资源,也可以存储在您的 ec2 实例中。

      【讨论】:

      • 那我们为什么需要它?是因为EC2的内存有限吗?如果是这样,为什么 EC2 的内存有限,为什么要引入 S3?
      • 我一整天都在问同样的问题。
      • 查看 EC2 定价页面以获取该信息。它有存储限制。 aws.amazon.com/ec2/pricing
      • EBS 是您连接到 EC2 实例的虚拟硬盘驱动器。 EBS 大小受 EC2 实例的操作系统支持的限制。 S3 只是一个更大的硬盘,不受 EC2 操作系统的限制source
      【解决方案4】:

      虽然您的标题表明您在询问 Amazon S3 和 Amazon EC2 实例之间的区别,但在帖子中您说您想用它来为您的客户/用户提供服务,所以我会指出,如果您想要一个 CDN(内容交付网络)然后 Amazon S3 不是真正的 CDN。 S3 专为内容存储而设计。用于内容交付的正确 Amazon 服务是 Amazon CloudFront。休息一下,你的标题的答案已经被问到了。可能会在将来对某人有所帮助。

      【讨论】:

        【解决方案5】:

        EC2 使用 EBS,它是基于块的存储,如 linux/windows 文件系统

        S3 使用对象存储 - blob - Binary Large OBject 文件系统,类似于平面数据库,存储在对象级别。这通常用于任何场景中的任何类型的静态文件。不能用于在 EC2 实例上运行服务。

        【讨论】:

          【解决方案6】:

          所以我的理解是 EC2 提供了一个完整的虚拟机,我们可以用它来安装任何东西。无论是巨大的物理文件还是部署您的 .Net/PHP 代码。 但是与 S3 相比,EC2 的成本非常高。

          S3 可用于存储巨大的物理文件和部署您的静态网站。并且与 S3 相关的成本非常低。所以我们应该将我们的物理文件存储在 S3 存储桶上,并将我们的代码部署在 EC2 实例上

          【讨论】: