赞
踩
导读:在遭遇灾害时如何能保证信息系统能正常运行?弹性计算Region化部署和跨可用区容灾是一项非常复杂的课题。
本次分享将从如何选择Region出发,结合阿里云在Region化部署和跨可用区容灾的实践经验,分享多Region部署场景中如何使用阿里云弹性计算的最佳实践。
作者 | 阿里云弹性计算架构负责人 李钟
来源 | 弹性计算百晓生
01 Region和可用区介绍该部分主要介绍Region和可用区,包括阿里云建设Region和可用区的原因、划分等。
Region(地域)与Available Zone(可用区) Region(地域):根据定义, Region是相互独立的地理区域,Region中包含多个Available Zone。 可通过阿里云Region和可用区分布图直观了解。 Available Zone(可用区): Available Zone是Region内网络和电力相互独立的区域, 具有两个主要特点。第一,Available Zone网络和电力相互独立,具有故障隔离能力。 当一个可用区内部网络、电力出现问题时,不会影响其他可用区。第二,相同Region内的可用区之间内网互通,通过高速网络连接,网络延迟低(ms级)。 即可用区之间有故障隔离,同时相同Region内的可用区之间网络延迟较低,可以将多个可用区视为整体提供服务,也为后续做跨可用区容灾提供了基础。中国REGION_ID为cn-(城市名),如cn-hangzhou。
大面积国家REGION_ID为(国家代码)-(方位)-(编号),如USA-EAST-2。
其他地区REGION_ID为(地区)-(方位)-(编号)。
ecs.${REGION_ID}.aliyuns.com接入,如cn-heyuan。
针对以上三种类型Region的接入得到了最佳实践。非中心域名的地域,建议使用Region化域名地址ecs.${REGION_ID}.aliyuns.com。部分Region只能使用中心域名访问,后续会之间切换为Region化域名。 资源作用域 使用ECS过程中会有多种资源,每一种资源有其特定的作用域。 下表罗列了部分资源。如账号、角色、AK此类为全局性信息,所有Region共享。实例、云盘为可用区级别的概念,创建实例、云盘都需要选择一个特定的可用区,但是实例只能挂载相同可用区的云盘。快照、镜像资源、keypair、安全组的作用域均为Region,在Region内各个可用区均可访问。当需要跨Region使用快照、镜像资源时,需要先进行资源复制操作,在另一个Region上形成新资源才可以使用。 资源作用域并非规定成章,有时会存在变化,大部分时期是上述情况。 03 多可用区容灾和Region化部署 该部分介绍如何利用Region与可用区地域分布以及可用区电力、网络故障隔离和低延迟的特点实现多可用区容灾和Region化部署。 跨可用区容灾——冷备方式 冷备方式指两个可用区,一个主可用区运行,一个不运行作为备份。一旦运行中的可用区服务故障,部署并运行备份可用区。 冷备方式较易实现,其缺点为主备切换耗时大(分钟级)。 单可用区提供服务:如下图所示,可用区a和可用区b同时提供两套服务,由单可用区提供服务。正常情况下可用区a提供服务,可用区b的ECS服务不进行部署和运行,对应的SLB没有流量。流量从DNS解析到可用区a的SLB,接入请求后SLB会分发到某个ECS。 RDS主备架构:两个ECS访问同一个RDS,RDS采用主备结构,主RDS提供读写服务,同时有一条路径自动同步数据到备RDS,保证两个可用区的数据一致性与及时性,为容灾切换提供基础。 无状态服务 : ECS部署无状态服务,所有业务状态存储在数据库中或可从数据库恢复。如此才能在可用区a故障时将整个业务切换到可用区b。 故障恢复方案: 可用区a、b存在电力、网络的物理隔离,延迟低,发生可用区级别故障时可切换可用区提供服务。可用区a发生问题时,部署并运行可用区b服务,RDS主备切换,可用区a恢复后可继续进行数据同步。切换DNS,可用区b SLB接收流量开始提供服务。 劣势: 冷备方式比单纯的单个可用区提供服务有更强的容灾能力,但是其缺点是 切换可用区启动ECS、启动服务等、运行SLB等等操作耗费一定时间,属于分钟级别的容灾。 跨可用区容灾——双活方式 双活容灾方式与冷备方式区别在于两个可用区同时运行,数据同步。一旦某一可用区服务故障,另一可用区继续提供服务。 双活方式同样易于实现,且主备切换耗时低(s级)。 双可用区同时提供服务:如下图所示,有可用区a和可用区b同时提供两套服务。SLB同时挂载两个可用区的ECS服务,每个可用区的SLB需要将请求分发给两个可用区的ECS。 RDS主备架构:自动同步数据,保证两个可用区的数据一致性与及时性。正常情况下两可用区服务均访问RDS主节点。 无状态服务: ECS部署无状态服务,所有业务状态存储在数据库中或可从数据库恢复。 故障恢复方案: 当一个可用区发生问题时,RDS可自动主备切换。DNS定时检测SLB状态,屏蔽故障可用区,SLB定时检测ECS服务状态,屏蔽故障服务。该场景下大部分检测自动实现,部分复杂场景下可能需要手动确认故障,但是该切换过程迅速,可实现秒级切换。 以上两种跨可用区容灾方式较为实用、常见,实现条件均是可用区之间具备网络、电力的物理隔离以及低延迟特点。 跨Region部署 此处仅介绍较为简单的跨Region部署模式。 首先进行地域划分。Region化部署完成后,每个Region中由可用区容灾的集群保证高可用性。 但是客户端调用地域时一个Region不能支持所有用户与资源访问。因此首先需要根据用户或者资源所属地域进行划分,通过DNS服务获取Region化地址。该DNS可能是阿里云提供的服务或其他服务,DNS根据用户或资源返回相应的Region化地址。 例如某用户访问Region 1,则调用Region 1的服务提供相应支持,某用户访问Region 2,则调用Region 2的服务提供相应支持。 Region内双可用区容灾。地域划分完成后,当可用区级别问题扩大到Region级别问题场景下,并未提供Region级别容灾能力,但是提供了隔离能力。 例如当Region1发生问题,无法切换到Region2进行容灾,但是可以实现隔离,当Region 1出现问题时Region 2不受影响,即能够保存一部分工作服务的能力。 若需要提供Region级别容灾能力,需要实现跨Region的数据同步或复制,将一个Region的数据、用户状态等复制到另一个Region,即可实现Region切换。 如此将更加复杂。Region级别容灾等复杂方案此处不做介绍,有兴趣者可自行查阅资料。 故障影响和恢复。用户最终选择的容灾方式、故障隔离级别、故障恢复方案等需要根据自身业务需求、实现难度与故障概率等进行判断,选择最适合自身业务的方案。 综上所述,本次分享介绍了Region、可用区的定义、故障隔离与低延迟特性、关键点以及跨可用区容灾等基本概念。大家可以利用阿里云的基础架构以及业务相应支持提高服务可用性,在一定级别实现容灾,提供更好的服务。 感兴趣的同学可通过学习更加具体的场景下不同跨可用区容灾方案,更加深入了解跨Region容灾。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。