玩转ECS第6讲 | 弹性计算Region化部署和跨可用区容灾介绍

本文涉及的产品
轻量应用服务器 2vCPU 4GiB,适用于搭建容器环境
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
轻量应用服务器 2vCPU 1GiB,适用于搭建电商独立站
简介: 本次分享由阿里云弹性计算架构负责人李钟(谢顿)为大家介绍阿里云region化部署和跨可用区容灾的实践经验,说明多Region部署场景中使用阿里云弹性计算的最佳实践,并结合弹性计算的实践经验探讨如何基于阿里云多可用区实现跨地域容灾。

关键词:弹性计算、单元化、跨可用区容灾

演讲嘉宾简介:李钟(谢顿),阿里云智能弹性计算高级技术专家。2015年7月加入阿里云弹性计算团队,目前负责阿里云弹性计算管控架构团队,主导弹性计算管控系统架构的优化和演进。

以下内容根据演讲视频以及PPT整理而成。观看回放
更多课程请进入“玩转ECS详情页”了解

本次分享主要围绕以下三个方面:

一、Region和可用区介绍
二、Endpoints和资源作用域
三、多可用区容灾和Region化部署

弹性计算Region化部署和跨可用区容灾本身是非常复杂的课题,本次分享由阿里云弹性计算架构负责人李钟(谢顿)为大家介绍如何选择Region,同时结合阿里云在Region化部署和跨可用区容灾的实践经验,分享多region部署场景中如何使用阿里云弹性计算的最佳实践,并结合弹性计算的实践经验探讨如何基于阿里云多可用区实现跨地域容灾。

一、Region和可用区介绍

该部分主要介绍Region和可用区,包括阿里云建设Region和可用区的原因、划分等。

1.Region(地域)与Available Zone(可用区)

Region(地域):根据定义,Region是相互独立的地理区域,Region中包含多个Available Zone。可通过阿里云Region和可用区分布图直观了解。

Available Zone(可用区):Available Zone是Region内网络和电力相互独立的区域,具有两个主要特点。第一,Available Zone网络和电力相互独立,具有故障隔离能力。当一个可用区内部网络、电力出现问题时,不会影响其他可用区。第二,相同Region内的可用区之间内网互通,通过高速网络连接,网络延迟低(ms级)。

即可用区之间有故障隔离,同时相同Region内的可用区之间网络延迟较低,可以将多个可用区视为整体提供服务,也为后续做跨可用区容灾提供了基础。
此处需要指明,并不是先规定了地域和可用区后才发现可支持高可用服务建设,而是在有高可用服务需求的基础上通过Region与可用区方式进行了资源划分。

2.如何选择Region?

选择一个Region有以下三点重要影响因素:

第一,地域选择需要符合相应政策和法律合规性需要。例如向美国提供服务,要求对应数据与服务器资源必须在该国家内部,那么根据下方Region与可用区分布,只能申请美西、美东两处资源。
第二,需要根据所需云产品在各个地域的功能开通情况和SLA选择合适区域。
第三,一般选择距离用户更近且网络延迟更低的地域,保证用户快速接入。

image.png

虽然Region的选择看似条款化,但是实际选择时是更为简单直观的,较易得到最优选择。

3.阿里云Region与可用区分布

目前为止,阿里云公共云在全球建设21个地域63个可用区,资源正在快速增长中,未来将支持更多形态。

下图所示体现了阿里云在全球多个地理位置提供服务的能力,可见Region是一个地理概念。例如当用户在华北2(北京)Region购买资源时,对应的ECS、RDS产品的确是在该地域范围内。

image.png

目前Region与可用区分布较集中在中国,其他国家地区也有分布,在南美与非洲缺少Region建设,是后续的发展方向。

而Region的使用稍显复杂。与各个Region交会并不直接使用其名字,而是通过REGION_ID。REGION_ID看似杂乱,其实具有一定特点,可大致分为以下三种:

中国REGION_ID为cn-(城市名),如cn-hangzhou。
大面积国家REGION_ID为(国家代码)-(方位)-(编号),如USA-EAST-2。
其他地区REGION_ID为(地区)-(方位)-(编号)。

二、Endpoints和资源作用域

该部分介绍使用Region与可用区时需要关注的两个关键点:Endpoints和资源作用域。

1. Endpoints

Endpoints是调用ECS API的接入地址。

调用ECS API首先需要获取Endpoints,即需要知道需要调用的地域的域名,才能调用到相应服务。第二需要有AK,通过某种阿里云特定的算法对调用串做一些加签。如此便可以完成一次请求。

如下表所示,根据不同Region类型,Endpoints接入方式有如下三种:

第一种类型是中心域名Region,其接入点域名地址是ecs.aliyuns.com。此类老地域使用兼容模式只能通过中心域名接入,如cn-beijing。
第二种类型是Region化域名,其接入点为Region化域名地址ecs.${REGION_ID}.aliyuns.com。此类Region使用Region化域名调用,兼容中心域名接入,如cn-zhangjiakou。
第三种类型开始考虑不兼容中心域名接入的Region化域名,只能通过Region化域名地址ecs.${REGION_ID}.aliyuns.com接入,如cn-heyuan。

image.png

针对以上三种类型Region的接入得到了最佳实践。非中心域名的地域,建议使用Region化域名地址ecs.${REGION_ID}.aliyuns.com。部分Region只能使用中心域名访问,后续会之间切换为Region化域名。

2.资源作用域

使用ECS过程中会有多种资源,每一种资源有其特定的作用域。

下表罗列了部分资源。如账号、角色、AK此类为全局性信息,所有Region共享。实例、云盘为可用区级别的概念,创建实例、云盘都需要选择一个特定的可用区,但是实例只能挂载相同可用区的云盘。快照、镜像资源、keypair、安全组的作用域均为Region,在Region内各个可用区均可访问。当需要跨Region使用快照、镜像资源时,需要先进行资源复制操作,在另一个Region上形成新资源才可以使用。

image.png

资源作用域并非规定成章,有时会存在变化,大部分时期是上述情况。

三、多可用区容灾和Region化部署

该部分介绍如何利用Region与可用区地域分布以及可用区电力、网络故障隔离和低延迟的特点实现多可用区容灾和Region化部署。

1.跨可用区容灾——冷备方式

冷备方式指两个可用区,一个主可用区运行,一个不运行作为备份。一旦运行中的可用区服务故障,部署并运行备份可用区。冷备方式较易实现,其缺点为主备切换耗时大(分钟级)。

单可用区提供服务:如下图所示,可用区a和可用区b同时提供两套服务,由单可用区提供服务。正常情况下可用区a提供服务,可用区b的ECS服务不进行部署和运行,对应的SLB没有流量。流量从DNS解析到可用区a的SLB,接入请求后SLB会分发到某个ECS。

image.png

RDS主备架构:两个ECS访问同一个RDS,RDS采用主备结构,主RDS提供读写服务,同时有一条路径自动同步数据到备RDS,保证两个可用区的数据一致性与及时性,为容灾切换提供基础。

无状态服务:ECS部署无状态服务,所有业务状态存储在数据库中或可从数据库恢复。如此才能在可用区a故障时将整个业务切换到可用区b。

故障恢复方案:可用区a、b存在电力、网络的物理隔离,延迟低,发生可用区级别故障时可切换可用区提供服务。可用区a发生问题时,部署并运行可用区b服务,RDS主备切换,可用区a恢复后可继续进行数据同步。切换DNS,可用区b SLB接收流量开始提供服务。

劣势:冷备方式比单纯的单个可用区提供服务有更强的容灾能力,但是其缺点是切换可用区启动ECS、启动服务等、运行SLB等等操作耗费一定时间,属于分钟级别的容灾。

2.跨可用区容灾——双活方式

双活容灾方式与冷备方式区别在于两个可用区同时运行,数据同步。一旦某一可用区服务故障,另一可用区继续提供服务。双活方式同样易于实现,且主备切换耗时低(s级)。

双可用区同时提供服务:如下图所示,有可用区a和可用区b同时提供两套服务。SLB同时挂载两个可用区的ECS服务,每个可用区的SLB需要将请求分发给两个可用区的ECS。

image.png

RDS主备架构:自动同步数据,保证两个可用区的数据一致性与及时性。正常情况下两可用区服务均访问RDS主节点。

无状态服务:ECS部署无状态服务,所有业务状态存储在数据库中或可从数据库恢复。

故障恢复方案:当一个可用区发生问题时,RDS可自动主备切换。DNS定时检测SLB状态,屏蔽故障可用区,SLB定时检测ECS服务状态,屏蔽故障服务。该场景下大部分检测自动实现,部分复杂场景下可能需要手动确认故障,但是该切换过程迅速,可实现秒级切换。

以上两种跨可用区容灾方式较为实用、常见,实现条件均是可用区之间具备网络、电力的物理隔离以及低延迟特点。

3.跨Region部署

此处仅介绍较为简单的跨Region部署模式。

image.png

首先进行地域划分。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容灾。


关注百晓生,笑谈云计算

二维码-三分之一.gif

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5天前
|
并行计算 前端开发 异构计算
告别服务器繁忙,云上部署DeepSeek
本文以 DeepSeek-R1-Distill-Qwen-32B-FP8 为例,向您介绍如何在GPU实例上使用容器来部署量化的 DeepSeek-R1 蒸馏模型。
|
7天前
|
机器学习/深度学习 人工智能 开发者
DeepSeek服务器繁忙?拒绝稍后再试!基于阿里云PAI实现0代码一键部署DeepSeek-V3和DeepSeek-R1大模型
阿里云PAI平台支持零代码一键部署DeepSeek-V3和DeepSeek-R1大模型,用户可轻松实现从训练到部署再到推理的全流程。通过PAI Model Gallery,开发者只需简单几步即可完成模型部署,享受高效便捷的AI开发体验。具体步骤包括开通PAI服务、进入控制台选择模型、一键部署并获取调用信息。整个过程无需编写代码,极大简化了模型应用的门槛。
140 7
|
8天前
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
Node.js 是一种高效的 JavaScript 运行环境,基于 Chrome V8 引擎,支持在服务器端运行 JavaScript 代码。本文介绍如何在阿里云上一键部署 Node.js 环境,无需繁琐配置,轻松上手。前提条件包括 ECS 实例运行中且操作系统为 CentOS、Ubuntu 等。功能特点为一键安装和稳定性好,支持常用 LTS 版本。安装步骤简单:登录阿里云控制台,选择扩展程序管理页面,安装 Node.js 扩展,选择实例和版本,等待创建完成并验证安装成功。通过阿里云的公共扩展,初学者和经验丰富的开发者都能快速进入开发状态,开启高效开发之旅。
|
10天前
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
|
11天前
|
机器学习/深度学习 弹性计算 人工智能
在阿里云ECS上一键部署DeepSeek-R1
Open WebUI 和 Ollama 的联合,通过集成 DeepSeek-R1 的强大功能,赋予每一位用户使用尖端 AI 技术的能力,使得复杂的 AI 技术不再是遥不可及的梦想。无论是研究人员、开发者,还是企业用户,您都能从这一创新中获得新的灵感和增长点。本文介绍通过计算巢一键部署和使用DeepSeek-R1。
在阿里云ECS上一键部署DeepSeek-R1
|
26天前
|
安全 前端开发 Go
轻松部署翼龙面板社区版:您的游戏服务器管理新体验
翼龙面板(Pterodactyl)社区版正是为此而生,它通过强大的开源技术栈(PHP、React 和 Go)和可靠的安全设计,让游戏服务器管理变得简单而高效。本文将带您通过阿里云计算巢快速部署翼龙面板社区版,尽享流畅的管理体验。
轻松部署翼龙面板社区版:您的游戏服务器管理新体验
|
29天前
|
XML Java 应用服务中间件
Spring Boot 两种部署到服务器的方式
本文介绍了Spring Boot项目的两种部署方式:jar包和war包。Jar包方式使用内置Tomcat,只需配置JDK 1.8及以上环境,通过`nohup java -jar`命令后台运行,并开放服务器端口即可访问。War包则需将项目打包后放入外部Tomcat的webapps目录,修改启动类继承`SpringBootServletInitializer`并调整pom.xml中的打包类型为war,最后启动Tomcat访问应用。两者各有优劣,jar包更简单便捷,而war包适合传统部署场景。需要注意的是,war包部署时,内置Tomcat的端口配置不会生效。
233 17
Spring Boot 两种部署到服务器的方式
|
2月前
|
存储 弹性计算 人工智能
弹性计算第九代企业级ECS实例新品发布
阿里云第九代企业级实例基于全新CIPU 2.0架构,搭载最新英特尔和AMD处理器,大幅提升性能、安全性和稳定性。G9i实例采用英特尔新一代处理器,内存带宽和L3缓存显著提升,标配AMX加速器;G9A实例则搭载AMD先进处理器,提供更高的性价比和端到端加密能力。九代产品在算力、IO能力和安全性上全面升级,尤其适用于搜推、大数据处理等场景,助力客户实现更高业务价值。
|
3月前
|
存储 人工智能 弹性计算
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理。通过合理优化资源分配、利用自动伸缩及高效数据管理,ECS能显著提升AI系统的性能与效率,降低运营成本,助力科研与企业用户在AI领域取得突破。
112 6
|
3月前
|
NoSQL 容灾 MongoDB
MongoDB主备副本集方案:两台服务器使用非对称部署的方式实现高可用与容灾备份
在资源受限的情况下,为了实现MongoDB的高可用性,本文探讨了两种在两台服务器上部署MongoDB的方案。方案一是通过主备身份轮换,即一台服务器作为主节点,另一台同时部署备节点和仲裁节点;方案二是利用`priority`设置实现自动主备切换。两者相比,方案二自动化程度更高,适合追求快速故障恢复的场景,而方案一则提供了更多的手动控制选项。文章最后对比了这两种方案与标准三节点副本集的优缺点,指出三节点方案在高可用性和数据一致性方面表现更佳。
230 5

相关产品

  • 云服务器 ECS