服务
关于
CloudProse博客

AWS的高可用性:您准备好了吗?

安迪·沃宗(Andy Warzon)Trek10
安迪·沃宗(Andy Warzon) | 2015年3月5日

2015年3月5日,星期四

AWS强制重启对于云采用者而言是一个很好的提醒……如果您不设计高可用性,则可能会定期看到AWS停机。如果采取以下简单步骤,几乎可以肯定不会停机。

在AWS上运行单个服务器比在内部运行同一台服务器要可靠得多,但是仍然不能保证故障的发生。硬件故障,网络故障和AWS可能会出现数据中心范围的问题。仅在AWS上运行服务器并不能使其高度可用。

在AWS中,每个“区域”都有多个“可用区”(AZ),它们是独立的数据中心,几乎没有共享的故障点。 AWS问题(或自然灾害)很少同时跨越多个可用区。当他们最近重新启动时,AWS小心每晚只能触摸一个可用区。

他们的单个AZ的SLA仅为99.95%,即每周停机5分钟!如果您的应用程序无法忍受,则需要设计高可用性。您可以在AWS上做很多事情来获得高可用性,但是对于基本的两层Web应用程序,有两个简单且经常被误解的步骤。

跨可用区负载均衡的Web服务器:

使用AWS的Elastic Load Balancer时,跨可用区进行负载平衡很简单。只要确保在不同的可用区中启动每个实例即可。即使您的站点访问量不高,为什么不选择一个较小的实例大小并运行两个实例,而不是运行一个较大的实例呢?

RDS多可用区:

在运行数据库 RDS…除非您有非常高级的要求(几乎所有说出它们的人都确实没有),否则应该在RDS中运行数据库。然后,您只需选择一个复选框“ Multi-AZ”。 (您可以使用Oracle,SQL Server,MySQL或Postgres进行此操作。)这将在第二个可用区中设置同步副本,并且在出现问题(可能停机60秒)时自动进行故障转移。它得到了全面管理,您无需付出任何努力,而且一切正常。只需确保您的应用程序在处理连接方面做得很好即可...正确的重试逻辑并且不要缓存太久。它消除了数据库复制的所有麻烦,并使您的数据库与Web服务器一起成为AZ冗余。

而已。如果要在AWS上使用高可用性应用程序,请确保立即执行以下两个简单步骤。

哦,还有其他要记住的东西……曾经尝试过在内部构建数据中心冗余的环境吗?多个数据中心合同,多个硬件部署,特殊软件,昂贵的网络链接……这真是一个痛苦的企业。总的来说,这就是IaaS的魅力,而AWS尤其如此……单击几下即可实现数据中心冗余。

作者
安迪·沃宗(Andy Warzon)Trek10
安迪·沃宗(Andy Warzon)

创办人& CTO

创办人&CTO Andy一直在AWS上进行开发已有十多年,并且是AWS认证解决方案架构师-专业人士。