如何在阿里云上构建高可用的跨AZ部署方案

陈善亮 2017-12-13

引言:

针对企业而言,不管业务是不是在云上,服务的稳定和连续性总归是无法回避的话题,为了降低不可抗力因素对服务提供造成的影响,我们有了高可用性和容灾的概念。虽然我们的产品已有很高的可用性,我们仍不能忽视构建服务高可用性和容灾的重要性。

针对一般企业而言,主要会用到ECS, SLB, RDS, OSS

产品介绍:

ECS

云服务器。相当于阿里云上的虚拟机,本身没有高可用性和容灾,需要通过架构来实现。

SLB

负载均衡,高可用性和容灾可以从两点来阐述:

1. 负载均衡的服务提供是基于集群部署的,各集群有一定数量的节点,避免了单点故障,个别或者部分节点服务器宕机不会影响负载均衡服务的提供。

2. 当前提供的负载均衡实例大多是多可用区实例,主备实例在同城不同可用区机房,当主实例机房出现故障,能及时进行切换,来实现容灾和服务的高可用性。

多可用区实例分布可以参考:

https://help.aliyun.com/document_detail/52395.html

RDS

云数据库。

单机基础版RDS:https://help.aliyun.com/document_detail/48980.html

双机高可用版RDS:在同一可用区有主备实例,在主实例出现故障时候可以进行主备切换,具有高可用和容灾特性.

多可用区RDS:主备实例在不同可用区

RDS之间还可以用DTS同步和迁移数据。

OSS

文件以chunk分块方式存储,默认每块存三副本,并分布在不同机架的ChunkServer节点上。在盘古集群中Master允许宕机1台,Chunkserver允许同时宕机2台,KVServer与WS允许宕机多台。

基本架构:

一. 多可用区SLB + 不同可用区ECS

如下图所示,在负载均衡实例下绑定不同可用区的 ECS,当可用区A未出现故障时,用户访问流量如蓝色实线所示;当可用区A发生故障时,用户访问流量的分发将变成黑色虚线,这样即可以避免因为单个可用区的故障而导致对外服务的不可用,也可以通过不同产品间可用区的选择来降低延迟。

如何在阿里云上构建高可用的跨AZ部署方案

搭建:

1.创建多可用区SLB实例

登录阿里云控制台,选择负载均衡,点击右上角“创建负载均衡”按钮

如何在阿里云上构建高可用的跨AZ部署方案

以华北2为例,购买主可用区B、备可用区A的多可用区实例。

如何在阿里云上构建高可用的跨AZ部署方案

2.在SLB主备可用区分别创建ECS实例

如何在阿里云上构建高可用的跨AZ部署方案

分别在华北2可用区A和B创建测试实例,本例中采用默认安全组,经典网络,1核1G内存CentOS 7.2实例。

如何在阿里云上构建高可用的跨AZ部署方案

3.创建监听并添加后端服务器

在控制台负载均衡界面,找到创建的实例,点击“管理”

如何在阿里云上构建高可用的跨AZ部署方案

点击后端服务器,选择未添加的服务器,找到对应实例并点击“添加”

如何在阿里云上构建高可用的跨AZ部署方案

我们可以在已添加界面看到对应ECS实例及其权重

如何在阿里云上构建高可用的跨AZ部署方案

点击左侧监听栏,选择“添加监听”,根据需要选择监听属性。本例中采用TCP四层模式,监听80端口,后端转发80端口,使用默认加权轮询,并开启会话保持,使用默认1000s超时时间。

如何在阿里云上构建高可用的跨AZ部署方案

设置健康检查为TCP模式,检查后端80端口

如何在阿里云上构建高可用的跨AZ部署方案

之后我们可以在监听页面看到添加的监听及其状态。

如何在阿里云上构建高可用的跨AZ部署方案

后续客户只需要在ECS上部署相关服务并监听80端口,并将域名解析到SLB公网IP,那么负载均衡即可将请求转发到后端ECS并提供服务。

二. 多可用区SLB + 不同可用区ECS +高可用RDS

多可用区版RDS:

如何在阿里云上构建高可用的跨AZ部署方案

对于没有多可用区RDS的地域,可以在对应可用区分别建立一台RDS,其中备用可用区的作为备库,跟主可用区的RDS实例进行同步。

如何在阿里云上构建高可用的跨AZ部署方案

搭建:

多可用区RDS的情况:

在多可用区SLB和不同可用区ECS的基础上,购买rds实例:

如何在阿里云上构建高可用的跨AZ部署方案

只有部分地域有多可用区RDS:

如何在阿里云上构建高可用的跨AZ部署方案

购买后可以在控制台查看:

如何在阿里云上构建高可用的跨AZ部署方案

同样在控制台我们可以查看RDS高可用信息以及进行主备切换:

如何在阿里云上构建高可用的跨AZ部署方案

不同可用区分别搭建RDS的情况:

分别在可用区A和B购买双机高可用RDS。然后创建DTS同步

如何在阿里云上构建高可用的跨AZ部署方案

如何在阿里云上构建高可用的跨AZ部署方案

具体同步作业创建参考:

https://help.aliyun.com/document_detail/26633.html?spm=5176.doc26592.6.597.1CsqxD

三.高可用性-异地容灾

如何在阿里云上构建高可用的跨AZ部署方案

在前面同城多可用区的情况下,异地也部署一套环境。

具体访问哪边可以配置DNS解析,RDS用DTS同步。

相关推荐