首页 两地三中心异地多活网络

两地三中心异地多活网络

更新时间: 2023-11-22 18:04:11

一键部署

75

https://www.aliyun.com/solution/tech-solution/tltcamanidl

方案概览

对于中大型上云的企业客户,为了进一步提高其业务系统的可靠性,同时进一步利用云计算资源的弹性、便捷的优势,越来越多的客户选择以两地三中心多地域VPC互联来作为整体业务系统高可靠的设计,整体可靠性RTO可达分钟级。企业常有以下场景:

  • 基于云上网络迅速构建异地多活内网互联,构建安全可靠的数据链路。

  • 利用阿里云全球高品质传输网络,保障业务跨域互访及数据同步的高质量传输。

  • 基于CEN-TR+DTS分钟级构建跨域VPC互联及数据库同步。

方案架构

方案提供的默认设置完成部署后在阿里云上搭建的网站运行环境如下图所示。实际部署时您可以根据资源规划修改部分设置,但最终形成的运行环境与下图相似。

image.png

本方案的技术架构包括以下基础设施和云服务:

  • 2个专有网络VPC:分别在上海和北京地域创建两个PROD VPC,VPC为客户搭建可信的私有网络,为应用型负载均衡ALB、云服务器ECS、云数据库PolarDB MySQL等云资源形成云上私有网络。

  • 4个弹性公网IP EIP:EIP用于互联网用户访问接入。

  • 2个公网应用型负载均衡ALB:对外提供访问并将用户请求分配到不同云服务器ECS上的生产服务。

  • 4台云服务器ECS:用于部署生产服务。

  • 2个云数据库PolarDB MySQL集群:为生产服务提供数据服务。

  • 1个云企业网实例CEN:用于管理整个云上私网网络。

  • 2个转发路由器TR:用于连接网络实例VPC及跨地域连接。

  • 1个数据传输服务DTS:用于同步异地PolarDB MySQL数据。

  • 云解析DNS:将用户的请求解析到两个地域下的公网型ALB的EIP或DNS名称。

部署准备

10

开始部署前,请按以下指引完成账号申请、账号充值、RAM用户创建和授权。

准备账号

  1. 如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。

  2. 为阿里云账号充值

    1. 为节省成本,本方案基本使用按量付费资源,仅在使用云企业网的跨地域连接功能时,涉及预付费的带宽包。请确保账户余额大于等于440元。

    2. 完成本方案的部署及体验,预计产生费用不超过460元。

      假设您选择最低规格资源,且资源运行时间不超过1小时。实际情况中可能部分实例无法购买需要根据实际情况调整资源规格,同时因您操作过程中实际使用的流量差异,会导致费用有所变化,请以控制台显示的实际报价以及最终账单为准,如下表格仅供参考。

    如下表格仅供参考,以实际情况为准

    序号

    产品

    费用来源

    规格

    地域

    预估费用参考

    说明

    1

    应用型负载均衡ALB

    ALB1实例费

    基础版

    华东2(上海)

    0.049元/时

    -

    2

    ALB1容量费

    -

    华东2(上海)

    0.049元/LCU

    -

    3

    ALB2实例费

    基础版

    华北2(北京)

    0.049元/时

    -

    4

    ALB2容量费

    -

    华北2(北京)

    0.049元/LCU

    -

    5

    弹性公网IP EIP

    ALB1的EIP1配置费

    按使用流量计费

    华东2(上海)

    0.020元/时

    -

    6

    ALB1的EIP1流量费

    200Mbps

    华东2(上海)

    0.800元/GB

    -

    7

    ALB1的EIP2配置费

    按使用流量计费

    华东2(上海)

    0.020元/时

    -

    8

    ALB1的EIP2流量费

    200Mbps

    华东2(上海)

    0.800元/GB

    -

    9

    ALB2的EIP3配置费

    按使用流量计费

    华北2(北京)

    0.020元/时

    -

    10

    ALB2的EIP3流量费

    200Mbps

    华北2(北京)

    0.800元/GB

    -

    11

    ALB2的EIP4配置费

    按使用流量计费

    华北2(北京)

    0.020元/时

    -

    12

    ALB2的EIP4流量费

    200Mbps

    华北2(北京)

    0.800元/GB

    -

    13

    云服务器ECS

    APP001

    实例:ecs.g6.large(通用型 g6, 2 vCPU 8 GiB)

    系统盘:ESSD云盘PL1 40GiB(3800 IOPS)

    华东2(上海)

    0.584元/时

    -

    14

    APP002

    华东2(上海)

    0.584元/时

    -

    15

    APP003

    华北2(北京)

    0.584元/时

    -

    16

    APP004

    华北2(北京)

    0.584元/时

    -

    17

    云原生数据库PolarDB MySQL

    PolarDB集群1计算节点费

    计算节点:polar.mysql.x4.large (4 核 16 GB ,独享规格)

    存储类型:PSL5

    华东2(上海)

    4.17元/时

    -

    18

    PolarDB集群1存储空间费

    华东2(上海)

    0.00486元/GB

    -

    19

    PolarDB集群2计算节点费

    华北2(北京)

    4.17元/时

    -

    20

    PolarDB集群2存储空间费

    华北2(北京)

    0.00486元/GB

    -

    21

    云企业网CEN

    TR1-VPC1连接费

    -

    华东2(上海)

    0.350元/时

    本方案所耗费流量极少。其中跨地域连接使用带宽包(预付费)分配带宽

    22

    TR1-VPC1流量费

    华东2(上海)

    0.130元/GB

    23

    TR1-VPC2连接费

    华北2(北京)

    0.350元/时

    24

    TR1-VPC2流量费

    华北2(北京)

    0.130元/GB

    25

    带宽包实例费

    2 Mbps

    中国内地⇋中国内地

    440元/月

    26

    数据传输服务DTS

    链路配置费用

    同步拓扑:单向同步

    同步链路规格:large

    华东2(上海)

    5.250元/时

    -

    按量费用:16.804元/小时

    LCU容量费用:2个

    流量费用:8个

    预付费用:440元

    该表格不包括在多个服务器中部署生产服务所产生的费用。

  3. 创建用于方案部署的RAM用户。

    1. 创建1个RAM用户。具体操作,请参见创建RAM用户

    2. 为RAM用户授予以下云服务的访问权限以完成方案部署。具体操作,请参见为RAM用户授权

      云服务

      需要的权限

      描述

      云服务器ECS

      AliyunECSFullAccess

      管理云服务器ECS的权限

      云企业网CEN

      AliyunCENFullAccess

      管理云企业网CEN的权限

      云原生数据库PolarDB

      AliyunPolarDBFullAccess

      管理云数据库PolarDB的权限

      专有网络VPC

      AliyunVPCFullAccess

      管理专有网络VPC的权限

      负载均衡ALB

      AliyunSLBFullAccess

      管理负载均衡SLB的权限

      弹性公网IP EIP

      AliyunEIPFullAccess

      管理弹性公网IP的权限

      数据传输服务DTS

      AliyunDTSFullAccess

      管理数据传输服务DTS权限

      云解析DNS

      AliyunDNSFullAccess

      管理云解析DNS的权限

      资源编排ROS

      AliyunROSFullAccess

      管理资源编排服务ROS的权限

规划网络和资源

10

网络规划

请参考表格中的说明和方案默认示例值为每个规划项做详细规划并在实际部署时将默认示例值修改为您的实际规划。

规划项

数量

说明

地域

2

您的云服务部署的地域。选择地域的基本原则请参见地域和可用区

专有网络VPC

2

在部署过程中在上海和北京地域分别新建1个VPC作为本方案的专有网络。

交换机

4

本方案需要至少4台交换机,用来连接不同的云资源实例。

应用型负载均衡ALB

2

本方案需要2台应用型负载均衡ALB实例,用于对网站的多台云服务器进行流量分发。它可以通过流量分发扩展应用系统的服务能力,通过消除单点故障提升应用系统的可用性。

弹性公网IP EIP

4

创建应用型负载均衡ALB实例时,选择公网类型,自动为应用型负载均衡ALB实例创建2个弹性公网IP。

云企业网CEN

1

本方案需要1个云企业网实例,用于管理整个云上私网网络。

转发路由器TR

2

用于连接网络实例VPC及跨地域连接。

云解析DNS

1

将用户的请求解析到两个地域下的公网型ALB的EIP或DNS名称。

规划云资源

请参考表格中的说明和方案默认示例值为每个规划项做详细规划并在实际部署时将默认示例值修改为您的实际规划。

规划项

数量

说明

ECS

4

本方案需要4台ECS实例,用于同时部署博客网站服务。

PolarDB集群

2

本方案需要在上海和北京地域分别创建1个 PolarDB集群,用于存储生产业务数据。

DTS

1

本方案需要开通DTS同步作业,用于实现上海和北京异地数据源之间的数据实时同步。

部署资源

40

规划好资源后,请按照以下步骤部署方案中的所有资源。

步骤一:一键部署资源

一键配置基于阿里云资源编排服务ROS(Resource Orchestration Service)实现,旨在帮助开发者通过IaC(Infrastructure as Code)的方式体验资源的自动化配置。本方案中的一键部署脚本可完成除DTS以外的资源部署。

  1. 单击一键部署前往ROS控制台,系统自动跳转至创建资源栈页面,并默认进入配置模板参数配置向导页面。

  2. 资源栈名称可保持默认值。

  3. 地域和可用区配置区域,根据业务部署规划配置资源部署地域和可用区。

    本方案配置中:

    • 资源部署地域1:选择华东2(上海),并选择可用区M可用区N

    • 资源部署地域2:选择华北2(北京),并选择可用区H可用区I

  4. ECS实例配置区域,根据实际情况选择实例规格。

    实际情况中可能部分实例无法购买,需要根据实际情况调整资源规格。

  5. ECS实例密码配置区域,配置ECS实例的登录密码。

  6. PolarDB配置区域,配置PolarDB账号名称和登录密码以及PolarDB规格。

  7. 单击创建开始创建资源。

  8. 可选:资源创建过程中,可开启右上角自动刷新开关,及时了解资源部署进度。

    资源部署完成后,在该页面查看部署结果,资源栈信息的状态显示创建成功,则表示资源已成功完成部署。

步骤二:添加DTS云服务路由

您需要在上海和北京地域的转发路由器路由表中分别添加DTS云服务路由。

  1. 登录云企业网管理控制台

  2. 云企业网实例页面,找到目标云企业网实例,单击目标实例ID。

  3. 基本信息 > 转发路由器页签,找到上海地域的转发路由器实例,单击目标实例ID。

  4. 在转发路由器实例详情页面,单击转发路由器路由表页签。

  5. 在页签左侧区域,单击目标路由表ID,在路由表详情页面的路由条目页签下,单击创建路由条目

  6. 添加路由条目对话框,配置DTS云服务路由,下一跳指向一个中转服务VPC的TR连接,然后单击确定

    DTS服务的IP地址,请参见迁移、同步或订阅本地数据库时需添加的IP白名单

    image.png

  7. 根据以上步骤,为北京地域的转发路由器路由表添加DTS云服务路由。

步骤三:配置DTS数据同步任务

完成ROS一键部署后,系统已创建以华东2(上海)为源库,以华北2(北京)为目标库的同步任务,该任务具体配置需要您进行手动操作。

在开始本任务前,请先为源数据库开启binlog。如何开启,请参见开启Binlog

  1. 进入同步任务的列表页面。

    1. 登录DMS数据管理服务

    2. 在顶部菜单栏中,单击集成与开发(DTS)

    3. 在左侧导航栏,选择数据传输(DTS) > 数据同步

  2. 同步任务右侧,选择同步实例所属地域。本方案为华东2(上海)

  3. 在同步任务列表中,找到目标同步任务,在操作列,单击配置任务,配置源库及目标库信息。

    类别

    配置

    说明

    任务名称

    DTS会自动生成一个任务名称,建议配置具有业务意义的名称(无唯一性要求),便于后续识别。

    源库信息

    选择已有的DMS数据库实例

    您可以按实际需求,选择是否使用已有实例。

    • 如使用已有实例,下方数据库信息将自动填入,您无需重复输入。

    • 如不使用已有实例,您需要输入下方的数据库信息。

    数据库类型

    选择PolarDB for MySQL

    接入方式

    选择云实例

    实例地区

    选择源PolarDB MySQL版集群所属地域华东2(上海)

    PolarDB MySQL实例ID

    选择源PolarDB MySQL版集群ID。

    说明

    源和目标PolarDB MySQL版集群可以不同或相同,即您可以使用DTS实现两个PolarDB MySQL版集群间的数据迁移或同一PolarDB MySQL版集群内的数据迁移。

    数据库账号

    填入源PolarDB MySQL版集群的数据库账号,需具备待同步对象的读权限。

    数据库密码

    填入该数据库账号对应的密码。

    目标库信息

    选择已有的DMS数据库实例

    您可以按实际需求,选择是否使用已有实例。

    • 如使用已有实例,下方数据库信息将自动填入,您无需重复输入。

    • 如不使用已有实例,您需要输入下方的数据库信息。

    数据库类型

    选择PolarDB for MySQL

    接入方式

    选择云实例

    实例地区

    选择目标PolarDB MySQL版集群所属地域。

    PolarDB MySQL实例ID

    选择目标PolarDB MySQL版集群ID。

    数据库账号

    填入目标PolarDB MySQL版集群的数据库账号(高权限账号)。

    数据库密码

    填入该数据库账号对应的密码。

  4. 配置完成后,单击页面下方的测试连接以进行下一步

    如果源或目标数据库是阿里云数据库实例(例如RDS MySQL云数据库MongoDB版等),DTS会自动将对应地区DTS服务的IP地址添加到阿里云数据库实例的白名单中;如果源或目标数据库是ECS上的自建数据库,DTS会自动将对应地区DTS服务的IP地址添到ECS的安全规则中,您还需确保自建数据库没有限制ECS的访问;如果源或目标数据库是IDC自建数据库或其他云数据库,则需要您手动添加对应地区DTS服务的IP地址,以允许来自DTS服务器的访问。DTS服务的IP地址,请参见迁移、同步或订阅本地数据库时需添加的IP白名单

    警告

    DTS自动添加或您手动添加DTS服务的公网IP地址段可能会存在安全风险,一旦使用本产品代表您已理解和确认其中可能存在的安全风险,并且需要您做好基本的安全防护,包括但不限于加强账号密码强度防范、限制各网段开放的端口号、内部各API使用鉴权方式通信、定期检查并限制不需要的网段,或者使用通过内网(专线/VPN网关/智能网关)的方式接入。

  5. 配置任务对象及高级配置。

    配置

    说明

    同步类型

    固定选中增量同步。默认情况下,您还需要同时选中库表结构同步全量同步。预检查完成后,DTS会将源实例中待同步对象的全量数据在目标集群中初始化,作为后续增量同步数据的基线数据。

    源库触发器迁移方式

    请根据实际情况选择同步触发器的方式,若您待同步的对象不涉及触发器,则无需配置。更多信息,请参见同步或迁移源库中的触发器

    说明

    仅当同步类型选择了库表结构同步时才可以配置。

    同步拓扑

    选择单向同步

    目标已存在表的处理模式

    • 预检查并报错拦截:检查目标数据库中是否有同名的表。如果目标数据库中没有同名的表,则通过该检查项目;如果目标数据库中有同名的表,则在预检查阶段提示错误,数据同步任务不会被启动。

      说明

      如果目标库中同名的表不方便删除或重命名,您可以更改该表在目标库中的名称,请参见库表列名映射

    • 忽略报错并继续执行:跳过目标数据库中是否有同名表的检查项。

      警告

      选择为忽略报错并继续执行,可能导致数据不一致,给业务带来风险,例如:

      • 表结构一致的情况下,如在目标库遇到与源库主键或唯一键的值相同的记录:

        • 全量期间,DTS会保留目标集群中的该条记录,即源库中的该条记录不会同步至目标数据库中。

        • 增量期间,DTS不会保留目标集群中的该条记录,即源库中的该条记录会覆盖至目标数据库中。

      • 表结构不一致的情况下,可能会导致无法初始化数据、只能同步部分列的数据或同步失败,请谨慎操作。

    源库对象

    源库对象框中选中待同步对象,然后单击image.png将其移动至已选择对象框。

    说明

    同步对象选择的粒度为库、表、列。若选择的同步对象为表或列,其他对象(如视图、触发器、存储过程)不会被同步至目标库。

    已选择对象

    • 如需更改单个同步对象在目标实例中的名称,请右击已选择对象中的同步对象,设置方式,请参见库表列名映射

    • 如需批量更改同步对象在目标实例中的名称,请单击已选择对象方框右上方的批量编辑,设置方式,请参见库表列名映射

  6. 单击下一步高级配置,进行高级配置。

    本方案保持默认配置。您可以根据实际业务需要进行配置,更多信息,请参见配置数据同步任务

  7. 上述配置完成后,单击页面下方的下一步保存任务并预检查

    您可以将鼠标光标移动至下一步保存任务并预检查按钮上,然后单击气泡中的预览OpenAPI调用,查看调用API接口配置该实例时的参数信息。

  8. 预检查通过率显示为100%时,单击返回列表

    同步任务正式开始,您可在数据同步界面查看具体任务进度。

步骤四:配置DNS解析记录

您可以添加CNAME记录,将用户的请求解析到两个地域下的公网型ALB的DNS名称。

  1. 登录云解析DNS控制台

  2. 单击域名解析,然后在域名解析列表中,单击目标域名右侧的解析设置

  3. 单击添加记录,填写域名解析信息。

    项目

    说明

    记录类型

    选择域名指向的类型。 此处选择CNAME记录。

    主机记录

    根据域名前缀填写主机记录。本方案以顶级域名为例,例如example.com,输入@

    解析线路

    解析域名时使用的线路。 选择默认,系统将自动选择最佳线路。

    记录值

    分别将上海和北京地域ALB的2个DNS名称添加为记录值。

    TTL

    域名的更新周期,保留默认值。

  4. 单击确定

    添加DNS解析记录.png

完成及清理

15

方案验证

在多个服务器上完成了生产服务部署后,您可以停止任一服务器,来验证在部分服务器不可用时,服务的可用性。

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择实例与镜像 > 实例

  3. 在顶部菜单栏,选择和试用实例相同的地域。

  4. 选择任意1个ECS实例,在其右侧操作列,选择更多1.png > 实例状态 > 停止

  5. 停止实例页面,选择普通停机模式,然后单击确定

  6. 待实例状态变成已停止后,再次访问网站,网站依然可以访问。

    以停止APP001实例为例,使用任意一台可以连接公网的终端来测试网站连通性。

    1. 打开终端的命令行窗口。

    2. 多次执行curl http://网站域名命令,如果网站依然可以正常响应,且返回信息类似下图在APP002、APP003、APP004之间切换,则表示该方案部署成功。

    命令行验证00.png

清理资源

  1. 登录资源编排管理控制台,左侧导航栏菜单选择资源栈

  2. 在页面的顶部选择部署的资源栈所在地域,找到部署的资源栈。单击其右侧操作列的删除并确认,可一键删除所有创建的资源。

  3. 删除云企业网实例并退订带宽包。

    1. 登录云企业网管理控制台,在云企业网实例页面,找到目标云企业网实例,单击目标实例ID。

    2. 删除上海地域的DTS云服务路由条目、自定义路由表、跨地域连接、转发路由器实例。

      1. 基本信息 > 转发路由器页签,找到上海地域的转发路由器实例,单击目标实例ID。

      2. 在转发路由器实例详情页面,单击转发路由器路由表页签。

      3. 在页签左侧区域,单击目标路由表ID,在路由表详情页面的路由条目页签下,找到目标DTS云服务路由条目,在操作列单击删除

      4. 在路由表详情页面的基本信息区域右侧,单击删除以删除自定义路由表。

      5. 在转发路由器实例详情页面,单击跨地域连接管理页签,找到目标跨地域连接,在操作列单击删除

      6. 在删除对话框,逐一确认每个地域下跨地域连接关联的各种配置,确认无误后在对话框底部选中确认上述x条配置删除后不影响业务稳定性,可一次性全部删除,然后单击确定

      7. 确定删除实例对话框,再次进行确认,然后单击确认

      8. 返回基本信息 > 转发路由器页签,找到上海地域的转发路由器实例,在操作列单击删除

    3. 根据以上步骤,依次检查删除北京地域的DTS云服务路由条目、自定义路由表、跨地域连接、转发路由器实例。

    4. 解绑带宽包。

      在云企业网实例详情页面,选择基本信息 > 带宽包管理管理页签,找到目标带宽包,在操作列单击解绑,并完成解绑操作。

    5. 删除云企业网实例。

      返回云企业网实例页面,找到目标云企业网实例,在操作列单击删除

    6. 退订带宽包。

      更多信息,请参见退订管理