4

我的公司即将在 SharePoint 中编写一个面向公众的新网站(如 Windows Server 2008 RC2、SQL Server 2008 RC2 等),我们正在考虑使用 Amazon EC2 来托管它。我已经阅读并被告知实例可能会消失(通常是由于用户错误,但也可能是批量消失),所以我怀疑 EC2 是否适合我们。

我在亚马逊 AWS 网站上进行过研究,但必须承认,使用的大多数术语都很混乱,谷歌搜索我的问题经常把我带到这里,所以我想我也会在这里问我的问题,看看人们是否可以给我建议.

1) 我们的网站尽可能地向公众开放是至关重要的(通常 99.9% 的正常运行时间适用)。Amazon EC2 服务水平协议承诺 99.95% 的可用性,这很好,但如果我们达到 0.05% 的情况会发生什么?我们的 E2 实例会丢失吗?这些可以恢复吗?如果是这样,我们需要做些什么来确保我们恢复到我们网站的不太旧的版本?

2) 我已经阅读了有关 Amazon Elastic Block Store (EBS) 的信息,以及它是如何独立于实例的生命周期而持续存在的。如果我理解正确,EBS 就像有一个硬盘驱动器,所以如果实例丢失,我们可以使用我们的 EBS 启动一个新实例来恢复最新版本,而如果实例丢失,“本地实例存储”将丢失也是。那正确吗?

3)“保留实例”是更稳定的选择吗?即它们消失的可能性较小吗?如果它们仍然消失,它们会提供哪些恢复好处(如果有的话)?

我知道这些问题有点模糊,但希望你能从基本信息中提供一个新手 - 足以为我指明正确的方向,至少可以进行更深入的研究。

非常感谢。

凯文

4

4 回答 4

5

我们的网络服务器依赖 AWS。我不会使用其他任何东西。它们具有高度可扩展性、易于配置且正常运行时间很长。我从来没有和他们一起经历过停机时间。我们已经和他们在一起两年了。

预留实例更便宜。如果您打算使用该实例一段时间,请获取它们。这只是一个成本/预算问题。

从未听说过有人丢失 EC2 实例。

对 EBS 了解不多,但 S3 是备份数据的好方法。

高温高压

编辑:

遇到一些可能有用的链接。干杯。

http://techblog.netflix.com/2010/12/four-reasons-we-choose-amazons-cloud-as.html

http://techblog.netflix.com/2010/12/5-lessons-weve-learned-using-aws.html

http://www.codinghorror.com/blog/2011/04/working-with-the-chaos-monkey.html

于 2011-04-26T23:34:35.297 回答
0

The SLA amounts to none, when we found out that:

  1. Instances and EBS volumes DID get lost

  2. It takes Amazon more than 2 days to recover from a disaster, and even that not to the full extent

We were the lucky ones, that managed to get back on our feet in less than 2 days. Other companies got stuck with no recovery option.

And what does Amazon recommend? "Don't trust our reliability. Pay for 2 or 3 more copies of your system in different regions, and then you will be safe".

More information can be found here:

http://www.zdnet.com/blog/saas/lightning-strike-zaps-ec2-ireland/1382

于 2012-03-02T06:09:54.303 回答
0

AWS 的主要设计目标之一是提供容错服务——即可以从故障中恢复的服务。也就是说,他们在设计所有服务时都假设某些事情会在某些时候以某种方式发生故障,但是会有冗余和其他机制来从那些不可避免的故障中恢复。

对于像 S3 和 SimpleDB 这样的存储服务,这主要是通过在多个数据中心的多个节点(机器)之间复制数据来实现的。因此,当一个节点出现硬件故障或一个数据中心出现断电时,没有真正的停机时间,因为副本仍然可以为请求提供服务。作为消费者,您甚至不知道出现故障的节点或数据中心。

EC2 设计为类似地工作,但它不像 S3 和 SimpleDB 那样封装,因此您需要自己计划一些工作。例如,如果您需要保证正常运行时间和可用性的 Web 服务,则需要研究 AWS ELB(弹性负载平衡)服务。这样,如果一个实例关闭,请求将自动路由到其他健康的实例。对于您的数据,您可以将其存储在具有内置冗余的其他 AWS 服务(如 S3 和 SimpleDB 和 EBS)中,也可以使用类似的冗余技术构建自己的解决方案。

于 2011-04-27T00:48:29.377 回答
0

tldr:如果您知道自己在做什么,AWS 就非常可靠,如果您不知道,那就是个坏主意。

由于您不熟悉术语,这里有一个非常快速的词汇表:AZ - 可用区,每个区域有几个可用区(例如,爱尔兰有 3 个)。它们是物理隔离的数据中心,具有不同的电网、洪泛区等。但具有内部网络质量速度连接。甚至有可能某个 AZ 可能在某个时候变得不可用,但我不认为一个区域中的所有 AZ 都已关闭。

EBS/Instance Store - 这是实例可用的两种主要存储类型。描述它们的最佳方式是 Instance Store 相当于您通过 sata 插入主板的 HDD - 它非常快。但是,如果您关闭您的实例(或者如果主板出现故障)并想立即在另一块板上启动会发生什么?(亚马逊完全隐藏了物理硬件设置)显然您不会等待工程师将驱动器从一台服务器拔出并插入另一台服务器,因此他们甚至不提供此功能。实例存储速度很快,但是是临时的,并且与物理机器相关联,不要在上面存储任何重要的东西。EBS 是另一种选择,它是一个非常低延迟的网络驱动器,任何服务器都可以连接到它,就好像它是本地的一样。你关闭了一个服务器,

商品云硬件——我对所有“云硬件总是失败——它确实有风险且不可靠”的解释是,是的,AWS 硬件不如托管数据中心中的企业级组件可靠。这并不意味着它不可靠,它只是意味着您应该将失败作为一个选项纳入您的设计。

在谈论 SLA 时要注意的第一件非常重要的事情是,亚马逊非常清楚地表明 SLA 仅适用于一个或多个可用区出现故障。因此,如果您不了解他们的服务是如何工作的,并且只在一个 AZ 中构建了一台服务器,并且生成器或路由器出现故障,那是您自己的错。

至于恢复,这取决于 - 您的整个应用程序状态是否存储在一台服务器上 - 如果是,请不要打扰云。但是,如果您可以将您的状态集群在多个服务器上,请将其存储在 RDS 或其他一些持久性数据库中。或者,如果您的内容很少更改,您可以使用定期副本到 s3 存储,您会没事的。您的故障策略(按优先顺序)可以是集群、故障转移或自动修复。对于第一个,您拥有共享状态的集群服务器 - 无论您丢失服务器还是 AZ 都没关系。对于第二个,您只有一个实时服务器,但如果它出现故障,您将有一个具有相同内容的故障转移。最后,自动修复有两种可能的情况 - 如果您的数据仅在一个 EBS 驱动器上,您可以使用相同的驱动器启动另一个实例并继续。

预留实例不再可靠 - 它们是相同的硬件,您只是签订合同说我将拥有 x 台机器 y 年。这使 aws 可以更好地计划,这对您来说更便宜。

于 2015-02-06T18:52:47.917 回答