【问题标题】:Basic AWS questions基本 AWS 问题
【发布时间】:2012-03-17 10:13:42
【问题描述】:

我是 AWS 的新手,它有这么多产品(EC2、负载均衡器、EBS、S3、SimpleDB 等)和这么多文档,我不知道该从哪里开始。

我的目标是为可扩展性做好准备。

  1. 假设我想建立一个简单的网络服务器,它可以访问 mongolab 中的数据库。我想我需要一个 EC2 实例来运行它。在这一点上,我是否需要更多的东西(EBS、S3 等)?

  2. 在某个时间点,我的应用程序已达到足够的流量,我必须对其进行扩展。我正在考虑启动我的 EC2 机器的新副本(实例)。但随后它将有另一个IP。那么,如何在两个 EC2 实例之间分配流量?是自动做的吗?我必须租用负载均衡器服务来分配流量吗?然后我需要为 2 个 EC2 实例和 1 个 LB 付费吗?在这一点上,我是否需要更多的东西(例如:弹性 IP)?

【问题讨论】:

    标签: amazon-ec2 amazon-web-services scalability


    【解决方案1】:

    欢迎来到索尼桑托斯俱乐部,

    AWS 是一个非常强大的架构,但伴随着这种力量而来的是责任。我和大概其他许多人都已经学会了使用 AWS 的服务构建应用程序的艰难方法。

    你问,我从哪里开始?这实际上是一个非常好的问题,但您可能不会喜欢我的回答。您需要阅读和研究亚马逊甚至其他提供商(例如 Rackspace、GoGrid、Google 的 Cloud 和 Azure)提供的所有技术。亚马逊并不容易上手,但它并不意味着真的,它的重点更多是高度可定制和拥有非常广泛的 API。但让我们回到你的问题。

    1. 要运行一个简单的网络服务器,您需要启动一个 EC2 实例,该实例默认在名为 EBS 的磁盘驱动器上运行。 EBS 驱动器本质上是一个普通的硬盘驱动器,除了你可以用它做很多其他很酷的事情,比如把它从一台服务器上取下来,然后移动到另一台服务器上。 S3 实际上更像是一个文件存储系统,如果您有一堆图像或者如果您想存储大量数据库备份等,它会更有用,但它不是简单的网络服务器的要求。只需运行一个 EC2 实例即可,其他一切都将在幕后进行。

    2. 如果您的应用获得大量流量,您有两种选择。您可以通过关闭它并使用更大的实例启动它来扩展您的机器。一般来说,这是最容易做的事情,但你会达到一个地步,即使在更大的大小下,你也无法用 1 个实例处理所有流量,你会决定需要两个 OR您将需要一个容错能力更强的应用程序,在发生故障或更新时仍然在线。

      如果您创建第二个实例,您将需要进行某种形式的负载平衡。我推荐使用亚马逊 Elastic Load Balancer,因为它易于配置,并且与云的集成比使用 Round Robin DNS 或 haproxy 之类的应用程序要好。弹性负载均衡器并不昂贵,我相信它们每月花费大约 18 美元 + 在负载均衡器之间传递的数据。

      但不,您不需要任何其他东西来扩展您的网站。 2 个 EC2 实例和一个 ELB 就可以解决问题。

    您没有问但可能应该问的其他问题。

    1. EC2 实例多久会遇到一次硬件故障并导致我的服务器崩溃。如果发生这种情况,我该怎么办?

      它经常发生,通常是分批发生。有时我几个月都没有任何问题,然后我一次会遇到几台服务器崩溃。但它绝对是你应该计划的事情,我一开始并没有,我为此付出了代价。确保创建脚本并准备好备份和备份计划,以防服务器出现故障。从第一天开始就可以接受它或者有一个负载平衡的解决方案。

    2. 关于可扩展性最难的部分是什么?

      测试测试测试测试...永远不要假设任何事情。还要为流量的突然高峰做好准备。如果您的页面在一夜之间从 1 人增加到 1000 人,您必须为任何事情做好准备,您准备好应对了吗?你测试过你“认为”会发生什么吗?

    祝你好运,玩得开心...我知道我有:)

    【讨论】:

    • 我刚刚阅读了有关 EC2“短暂性”的内容(即使没有太多流量,频繁崩溃也是正常的),我必须为此做好准备(可能使用 CloudWatch 之类的服务)。谢谢你,我喜欢你的回答! :)
    • CloudWatch 只会监控实例性能,有时它可能会检测到它的故障,因为它们有 2 次连接检查,但它并不总是正常工作。最好有一些 3rd 方服务检查,如 pingdom 或 nagios 等。为崩溃做好准备不仅仅是知道它的故障(尽管这是第一步),您需要确保您可以快速恢复。最初几个月,我在 AWS 上拥有我的产品,我几乎无法入睡,我花了很多时间来修复东西。但现在我可以睡个好觉了,因为服务器崩溃会自行修复并且不会导致停机。
    • @bwight - 关于您的第二个“1” - 您是否丢失了写入 EBS 驱动器的数据?
    • 数据不,我需要的服务器配置文件是的。几次丢失服务器。早在 2011 年年中,它就非常有问题。已经消退了一点,但似乎每隔一两个月就会有另一台服务器崩溃。我不再丢失数据,因为我已经做好了准备,所以它不会打扰我。
    • @bwight,Elastic Beanstalk 怎么样?似乎它与 EC2 相关
    猜你喜欢
    • 2015-03-07
    • 1970-01-01
    • 2011-05-27
    • 2011-01-13
    • 2013-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多