首页 云上高可用架构

云上高可用架构

更新时间: 2024-10-08 15:07:01

手动部署

100

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

方案概览

业务的持续稳定可服务,决定着企业对客户的服务质量,是企业发展的基础。而应用部署的高可用架构对于业务的稳定与发展起着至关重要的作用,本方案从企业上云最基础的需求出发,面向可能遇到的单点故障风险,介绍了“业务上云高可用架构”方案设计,为您演示:

  • 如何搭建一个跨可用区的高可用架构系统

  • 搭建完成后,通过模拟故障,观察网站的可用性

方案架构

本架构采用单地域双可用区部署,将业务系统、数据库部署在2个不同可用区,实现了可用区级故障灾备能力,从而保证了业务的连续性。同时,该架构还利用专有网络VPC、交换机和跨可用区安全组等基础设施,实现了私有网络下的系统通信。

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

image

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

  • 1个专有网络VPC:为应用型负载均衡ALB、云服务器ECS、云数据库RDS等云资源构建云上私有网络。

  • 6台交换机:按照经典架构设计3个子网平面(公网平面、业务平面、数据平面),分别部署在两个可用区,提供基本的网络分段和隔离功能。ALB横跨两个可用区部署在公网平面,两台ECS分别部署在两个可用区的业务平面,一对云数据库RDS高可用版主备节点分别部署在两个可用区的数据平面。

  • 1个公网应用型负载均衡ALB:将公网访问流量分发到不同云服务器ECS,支持配置后端服务器组自动弹性伸缩。公网ALB通过EIP提供公网服务能力。

  • 2台云服务器ECS:用于部署业务系统,提供应用服务。

  • 1个云数据库RDS MySQL高可用版:为业务系统提供数据服务。

部署准备

10

开始部署前,请按以下指引完成账号申请、账号充值。

准备账号

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

  2. 为阿里云账号充值。本方案的云资源支持按量付费,且默认设置均采用按量付费引导操作。如果确定任何一个云资源采用按量付费方式部署,账户余额都必须大于等于100元。

规划网络和资源

5

网络规划

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

规划项

数量

说明

地域

1

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

专有网络VPC

1

在部署过程中新建1个VPC作为本方案的专有网络。

交换机

6

本方案建议至少6台交换机,分布在2个可用区,对应3个子网平面,分别为公网平面、业务平面、数据平面。

  • 公网平面:ALB所在平面,承载应用对公网提供的统一服务入口

  • 业务平面:2台ECS所在平面,承载应用服务内部组件之间的交互

  • 数据平面:1对RDS所在平面,承载数据库的存储、访问

应用型负载均衡ALB-基础版

1

本方案需要1台应用型负载均衡ALB-基础版实例,用于对网站的多台云服务器进行流量分发。它可以通过流量分发扩展应用系统的服务能力,通过消除单点故障提升应用系统的可用性。WAF增强版同时为Web应用提供了安全防护能力。

安全组

1

用于限制专有网络VPC下云服务器ECS的网络流入和流出规则。

规划云资源

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

规划项

数量

说明

ECS

2

本方案需要2台ECS实例,要求同地域、同VPC、不同可用区(即与网络规格在同一个地域,选择交换机所在的2个可用区,用于实现跨可用区高可用)。

RDS

1

本方案需要高可用版的RDS 1台,要求与ECS同地域、同VPC,对应相同的可用区。

部署资源

60

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

创建专有网络VPC和交换机

为了实现高可用,您需要将云服务器等资源尽可能分布在多个可用区,规避单可用区故障造成的服务不可用。本方案以双可用区为例,因此,您需要创建1个专有网络和6个交换机。

  1. 登录专有网络管理控制台

  2. 在顶部菜单栏,选择华东1(杭州)地域。

  3. 在左侧导航栏,单击专有网络

  4. 专有网络页面,单击创建专有网络

  5. 创建专有网络页面,配置1个专有网络和6台交换机。配置交换机时,请确保交换机所属的可用区的ECS、ALB是可用状态。

    项目

    说明

    示例值

    VPC名称

    建议您在部署过程中新建一个VPC作为本方案的专有网络。部署过程中填写VPC名称即可创建对应名称的VPC。

    长度为2~128个字符,以英文大小字母或中文开头,可包含数字、下划线(_)和连字符(-)。

    VPC_HZ

    IPv4网段

    在创建VPC时,您必须按照无类域间路由块(CIDR block)的格式为您的专有网络划分私网网段。阿里云VPC支持的网段信息请参见组成部分

    在网络规划时可以按照管理网段-开发网段-测试网段-生产网段等规则做好规划。网段一旦投入使用,调整过程复杂,因此规划十分重要。

    192.168.0.0/16

    交换机

    建议您创建6个交换机,平均分布在两个可用区,可用区需要确保ECS、ALB是可用状态(例如可用区J、可用区K),交换机名称

    长度为2~128个字符,以英文大小字母或中文开头,可包含数字、下划线(_)和连字符(-)。

    • vsw_pub_001

    • vsw_pub_002

    • vsw_app_001

    • vsw_app_002

    • vsw_db_001

    • vsw_db_002

    可用区

    建议选择排序靠后的,一般此类可用区较新。新可用区资源更充沛,新规格也会在新的可用区优先上线。

    • 可用区 J

    • 可用区 K

    IPv4网段

    每台虚拟交换机需要一个IPv4网段

    例如:

    • vsw_db_001:192.168.1.0/24

    • vsw_db_002:192.168.2.0/24

    最终交换机与可用区创建如下所示:

image

创建安全组

您已经在1个专有网络VPC下的2个可用区分别创建3台交换机。接下来您需要创建1个跨可用区的安全组,用于限制该专有网络VPC下的6台交换机的网络流入和流出。

  1. 登录ECS管理控制台

  2. 在顶部菜单栏,选择华东1(杭州)地域。

  3. 在左侧导航栏,选择网络与安全>安全组

  4. 安全组页面,单击创建安全组

  5. 创建安全组页面,创建1个安全组。

    项目

    说明

    示例值

    名称

    设置安全组的名称。

    SecurityGroup_1

    网络

    选择之前规划的专有网络VPC。

    VPC_HZ

    安全组类型

    本方案选择普通安全组,具体差异您可以参考普通安全组与企业级安全组

    普通安全组

    入方向

    入方向除默认的端口号外,本方案还需添加3306端口号。

    3306

创建云服务器ECS

您已经创建1个双可用区的专有网络VPC。接下来您需要在2个可用区分别创建1个云服务器ECS实例,来实现服务跨可用区的高可用。

  1. 登录ECS管理控制台

  2. 在顶部菜单栏,选择华东1(杭州)地域。

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

  4. 实例页面,单击创建实例

  5. 在云服务器ECS购买页面,创建2台云服务器ECS,两台ECS需要分布在两个可用区(与专有网络创建交换机时所使用的可用区一致,本示例为可用区J和K)。

    项目

    说明

    示例值

    实例名称

    实例的名称。

    APP001

    网络

    VPC专有网络

    选择上一步创建的专有网络

    可用区及交换机

    使用之前创建的交换机所对应的可用区。

    可用区 J或K中的

    vsw_app_001和vsw_app_002

    支付方式

    按量付费

    实例规格

    ECS的实例规格及内核、vCPU数量。关于ECS选型的最佳实践请参见ECS选型最佳实践

    ecs.e-c1m2.large

    镜像

    ECS的“装机盘”,为ECS实例提供操作系统、预装软件等。

    CentOS

    镜像版本

    镜像的版本。

    CentOS 7.6 64位

    系统盘类型

    硬盘类型。

    ESSD云盘

    系统盘容量

    硬盘容量。

    40 GiB

    公网IP

    用于在云服务器ECS上从公网拉取Docker镜像和配置博客网站服务。

    分配公网 IPv4 地址

    带宽计费方式

    由于本方案只需在某些情况下上传图片,因此选择按使用流量,以节省流量成本。

    按使用流量

    带宽值

    本方案以5 Mbps为例。

    5 Mbps

    安全组

    使用之前创建的安全组。

    SecurityGroup_1

    管理设置

    使用自定义密码,方便后续登录服务器安装相关软件。

    自定义密码

创建负载均衡ALB

接下来您需要创建1个公网类型的应用型负载均衡ALB并配置服务器组和监听,从而实现这个专有网络VPC下的2台云服务器ECS对外的公网访问和流量分发。

  1. 登录应用型负载均衡ALB控制台

  2. 创建应用型负载均衡ALB实例:

    1. 在顶部菜单栏左上角,选择华东1(杭州)地域。

    2. 实例页面,单击创建应用型负载均衡

    3. 应用型负载均衡(按量付费)页面,购买1个ALB实例。

    4. 项目

      说明

      示例值

      实例网络类型

      本方案面向公网提供应用型负载均衡服务,公网可访问。

      公网

      VPC

      选择之前规划的VPC。

      VPC_HZ

      可用区和交换机

      选择之前规划的交换机。

      • 杭州可用区 J vsw_pub_001

      • 杭州可用区 K vsw_pub_002

      IP模式

      每个可用区至少有一个IP,随着业务请求的增加,应用型负载均衡会自动扩展IP数量,此模式下应用型负载均衡具备超强弹性能力。

      动态

      协议版本

      本方案以IPV4为例。

      IPV4

      功能版本(实例费)

      本方案以基础版为例。

      基础版

      实例名称

      设置应用型负载均衡ALB实例的名称。

      ALB_HZ

  3. 创建服务器组:

    1. 在左侧导航栏,选择应用型负载均衡ALB>服务器组

    2. 服务器组页面,单击创建服务器组

    3. 创建服务器组面板,设置服务器组名称,选择ECS所在的VPC,选择默认资源组,其他保持默认设置,然后单击创建

  4. 配置服务器组端口为80:

    1. 服务器组页面,找到创建的服务器组实例,在其右侧操作列,单击编辑后端服务器

    2. 后端服务器组页签下,单击添加后端服务器

    3. 添加后端服务器面板,添加后端服务器组:

      1. 选中之前创建的2台ECS实例,单击下一步

      2. 再此选中之前创建的2台ECS实例,设置端口为80,其他保持默认设置,然后单击确定

  5. 创建80端口监听:

    1. 在左侧导航栏,选择应用型负载均衡ALB>实例

    2. 实例页面,找到创建的应用型负载均衡实例,在其右侧操作列,单击创建监听

    3. 配置监听页签下,设置监听端口为80,单击下一步

    4. 选择服务器页签下,选择创建的服务器组,单击下一步

    5. 配置审核页签下,确认配置,然后单击提交

创建云数据库RDS

您已经创建2台云服务器ECS。接下来您需要创建云数据库 RDS MySQL 版高可用、数据库、数据库账号。您需要记录创建的云数据库 RDS MySQL 版的内网连接地址、数据库名称、账号、密码用于之后的配置和使用。

  1. 访问RDS管理控制台,单击创建数据库

  2. 标准创建:

      项目

      说明

      示例值

      计费方式

      提供包年包月、按量付费、Serverless等计费方式,按需选择。

      按量付费

      地域

      本方案以华东1(杭州)地域为例。

      华东1(杭州)

      数据库引擎

      选择数据库引擎,本方案以MySQL 8.0为例。

      MySQL 8.0

      产品系列

      本方案推荐高可用系列,实现主备数据自动同步。

      高可用系列

      产品类型

      您可以选择标准版经济版,详情信息请参见产品类型

      标准版

      存储类型

      默认ESSD云盘 PL1。

      ESSD云盘 PL1

      网络类型

      默认选择专有网络。

      专有云网络

      专有网络VPC

      选择之前规划的专有网络VPC。

      VPC_HZ

      加入白名单

      将VPC网段加入到RDS实例白名单中,使得同一VPC下的ECS实例可以访问RDS实例。如果您此处配置了,您可以在实例创建成功后,手动设置白名单,具体请参见设置IP白名单

      主可用区及网络

      选择之前规划的交换机vsw_db_001。

      vsw_db_001:192.168.1.0/24

      部署方案

      推荐多可用区部署,主节点和备节点位于同一地域的不同可用区,具备跨可用区容灾。

      多可用区部署

      备可用区及网络

      选择之前规划的交换机vsw_db_002。

      vsw_db_002:192.168.2.0/24

      实例规格

      推荐独享规格,独占计算资源,性能更稳定。

      独享规格,mysql.x2.medium.2c,2核4GB

      存储空间

      存储空间的最小调整步长为5GB。部分基于本地SSD盘的实例的存储空间大小与实例规格绑定。

      20GB

  3. 创建数据库:

    1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

    2. 在左侧导航栏中单击数据库管理

    3. 单击创建数据库

    4. 设置如下参数。

      参数

      说明

      数据库(DB)名称

      • 长度为2~64个字符。

      • 以小写字母开头,以小写字母或数字结尾。

      • 支持小写字母、数字、下划线和中划线。

      • 数据库名称在实例内必须唯一。

      说明

      数据库名称中如果包含-,创建出的数据库的文件夹的名字中的-会变成@002d

      支持字符集

      选择需要的字符集。

      备注说明

      数据库相关的备注说明,支持输入2~256个字符。

    5. 单击创建

  4. 创建账号:

    1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

    2. 在左侧导航栏选择账号管理

    3. 单击创建账号

      说明

      账号重名或账号创建过于频繁(上一个账号还未创建结束)可能会有报错提示,出现该情况时,请检查账号名称是否重复或在上一个账号创建完成后再创建下一个账号。

    4. 填写数据库账号

      • 以小写字母开头,以小写字母或数字结尾。

      • 支持小写字母、数字和下划线。

      • 长度为2~32个字符。

    5. 选择账号类型

      • 普通账号:如果已创建数据库,则需选择要授权的数据库,单击图标添加至右侧,并设置权限:读写(DDL+DML)只读仅DDL仅DML

      • 高权限账号:无需选择要授权的数据库,因为高权限账号拥有实例里所有数据库的权限。

      说明

      • 高权限账号与普通账号的详细区别,请参见创建账号

      • 如果无法选中高权限账号,说明实例里已经有一个高权限账号。

    6. 填写账号密码,单击确定

      • 长度为8~32个字符。

      • 至少包含大写字母、小写字母、数字、特殊字符中的任意三种。特殊字符为!@#$%^&*()_+-=

  5. 设置白名单

a.在左侧导航栏,选择白名单与安全组

b.在顶部Tab页签,选择安全组,单击添加安全组按钮。

c.在选择安全组面板,选择规划的安全组,然后单击确定

创建数据库表

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在上方,单击登录数据库

  3. 在弹出的DMS页面中,填写数据库账号名和密码,然后单击登录

  4. 在左侧数据库实例->已登录实例中选择目标数据库。

  5. 执行如下建表语句。

    CREATE TABLE `todo_list` (
      `id` bigint NOT NULL COMMENT 'id',
      `title` varchar(128) NOT NULL COMMENT 'title',
      `desc` text NOT NULL COMMENT 'description',
      `status` varchar(128) NOT NULL COMMENT 'status 未开始、进行中、已完成、已取消',
      `priority` varchar(128) NOT NULL COMMENT 'priority 高、中、低',
      `expect_time` datetime COMMENT 'expect time',
      `actual_completion_time` datetime COMMENT 'actual completion time',
      `gmt_created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'create time',
      `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'modified time',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
    ;
  6. 执行以下代码,插入一条测试数据。

    INSERT INTO todo_list 
    (id, title, `desc`, `status`, priority, expect_time)
    value(1,  "创建一个高可用架构", "使用阿里云解决方案快速搭建云上高可用架构", "进行中", "高", "2024-07-30 00:00:00")
  1. 获取数据库的内网地址:

    1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID

    2. 在左侧导航栏,单击数据库连接

    3. 复制内网地址

开通云数据传输CDT(推荐)

  1. 登录云数据传输CDT控制台

  2. 单击立即开通按钮并按操作指引完成开通。

  3. 检查本次方案涉及产品的升级状态,对未升级的产品执行去升级操作。

说明

开通成功后需继续将云产品升级至CDT计费,赠送200 GB/月公网流量,其中20 GB/月可用于全球地域(含中国内地),180 GB/月仅限非中国内地地域使用,可抵扣云服务器ECS、弹性公网IP等按流量计费实例产生的公网流量,超出部分采用阶梯计费。

应用部署

15

部署示例应用

开通了云资源后,接下来您需要执行以下操作部署示例应用:

  1. 登录ECS管理控制台

  2. 在顶部菜单栏,选择华东1(杭州)地域。

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

  4. 部署示例应用。

    1. 实例页面,找到创建的一台ECS实例,在其右侧操作列,单击远程连接

    2. 远程连接对话框的通过Workbench远程连接区域,单击立即登录,然后根据页面提示登录。

    3. 执行以下命令

      sudo yum -y install java-1.8.0-openjdk-devel.x86_64
      
      cat << EOF >> ~/.bash_profile
      export APPLETS_RDS_ENDPOINT=<上一步中创建的RDS数据库链接地址>
      export APPLETS_RDS_USER=<上一步中创建的数据库用户名>
      export APPLETS_RDS_PASSWORD=<上一步中创建的数据库密码>
      export APPLETS_RDS_DB_NAME=<上一步中创建的数据库名称>
      EOF
      
      source ~/.bash_profile
      
      wget https://help-static-aliyun-doc.aliyuncs.com/tech-solution/cloud-demo-0.0.2.jar
      nohup java -jar cloud-demo-0.0.2.jar > demo.log 2>&1 &

完成及清理

10

方案验证

一、通过访问ALB的DNS名称,验证服务可用性

  1. 登录ALB控制台,从实例列表中获取ALB实例的DNS名称。image

  2. 通过浏览器访问该DNS名称,检查是否可以正常访问到示例应用。若页面显示如下图所示内容,则表明服务已经成功启动并处于正常运行状态。image (1)

二、通过ECS停机模拟服务器故障,验证服务高可用

完成多服务器配置后,可以通过停止任一服务器来模拟故障情况,以验证在部分服务器不可用时服务的可用性。

  1. 登录ECS管理控制台。在左侧导航栏,选择实例与镜像>实例。在顶部菜单栏,选择与试用实例相同的地域。

  2. 从列表中选择任意一个本次试用的ECS实例,在其右侧操作列中点击更多>实例状态>停止。在弹出的停止实例页面中,选择普通停机模式,然后单击确定image (2)

  3. 等待实例状态变为已停止,再次通过浏览器访问ALB实例的DNS名称,确认服务仍然可以正常访问。打开应用型负载均衡(ALB)控制台,点击相应的实例ID进入详情页面,再点击监控图表,查看健康检查。此时可以观察到负载均衡实例的健康服务器数量从两台减少为一台。image (3)

上述步骤能够验证负载均衡ALB的正确性和可靠性,确保即使在出现故障的情况下,系统仍能稳定运行并提供高可用的服务。

三、通过主备切换,验证数据库高可用

  1. 访问RDS实例列表,在顶部选择相应的地域,然后点击试用实例的ID进入详情页面。

  2. 基本信息页面,查看并记录当前主数据库和备用数据库所在的可用区。image (4)

  3. 在左侧导航栏中,选择服务可用性,在实例可用性区域,点击主备库切换。在弹出的对话框中选择立即切换,然后单击确定以执行切换操作。image

  4. 在主备状态于可用区间完成切换后,通过访问应用程序负载均衡器(ALB)实例的DNS名称,服务仍可正常进行。然而,在RDS实例的基本信息页面中,可以观察到主数据库与备用数据库所在的可用区已经发生对调。

  5. 待主备状态在可用区间完成切换后,通过浏览器访问应用程序负载均衡器(ALB)实例的DNS名称,确认服务仍然可以正常访问。再次查看RDS实例的基本信息页面,此时可以观察到主数据库与备用数据库所在的可用区已经互换位置。image (1)

以上步骤验证了RDS实例的高可用性配置能够确保在主备切换过程中服务连续性不受影响,并且数据的一致性和可靠性得到保障。

清理资源

在本方案中,您创建了2台云服务器ECS实例、1个应用型负载均衡ALB实例、6个交换机、1个专有网络VPC、1个云数据库RDS MySQL高可用版实例。测试完方案后,您可以参考以下规则处理对应产品的实例,避免继续产生费用:

  1. 释放2台云服务器ECS实例:

    登录ECS控制台,在实例页面,找到目标实例,然后在操作列选择216更多-竖向..png>释放设置,根据界面提示释放实例。

  2. 释放1个云数据库RDS(高可用版):

    登录RDS管理控制台,在集群列表页面,找到目标集群,然后在操作列中选择更多>释放

  3. 释放1个应用型负载均衡ALB实例:

    登录应用型负载均衡控制台实例页面,找到目标ALB实例,然后在操作列选择216更多-竖向..png>释放,按照界面提示释放实例。

  4. 释放6台交换机:

    登录专有网络控制台,在交换机页面,找到目标交换机,然后在操作列单击删除,按照界面提示释放实例。

  5. 释放1个专有网络VPC:

    登录专有网络控制台,在专有网络页面,找到目标VPC,然后在操作列单击删除,按照界面提示释放实例。

一键部署

35

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

方案概览

业务的持续稳定可服务,决定着企业对客户的服务质量,是企业发展的基础。而应用部署的高可用架构对于业务的稳定与发展起着至关重要的作用,本方案从企业上云最基础的需求出发,面向可能遇到的单点故障风险,介绍了“业务上云高可用架构”方案设计,为您演示:

  • 如何搭建一个跨可用区的高可用架构系统

  • 搭建完成后,通过模拟故障,观察网站的可用性

方案架构

本架构采用单地域双可用区部署,将业务系统、数据库部署在2个不同可用区,实现了可用区级故障灾备能力,从而保证了业务的连续性。同时,该架构还利用专有网络VPC、交换机和跨可用区安全组等基础设施,实现了私有网络下的系统通信。

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

image

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

  • 1个专有网络VPC:为应用型负载均衡ALB、云服务器ECS、云数据库RDS等云资源构建云上私有网络。

  • 6台交换机:按照经典架构设计3个子网平面(公网平面、业务平面、数据平面),分别部署在两个可用区,提供基本的网络分段和隔离功能。ALB横跨两个可用区部署在公网平面,两台ECS分别部署在两个可用区的业务平面,一对云数据库RDS高可用版主备节点分别部署在两个可用区的数据平面。

  • 1个公网应用型负载均衡ALB:将公网访问流量分发到不同云服务器ECS,支持配置后端服务器组自动弹性伸缩。公网ALB通过EIP提供公网服务能力。

  • 2台云服务器ECS:用于部署业务系统,提供应用服务。

  • 1个云数据库RDS MySQL高可用版:为业务系统提供数据服务。

部署准备

10

开始部署前,请按以下指引完成账号申请、账号充值。

准备账号

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

  2. 为阿里云账号充值。本方案的云资源支持按量付费,且默认设置均采用按量付费引导操作。如果确定任何一个云资源采用按量付费方式部署,账户余额都必须大于等于100元。

一键部署

10

一键部署基于阿里云资源编排服务ROS(Resource Orchestration Service)实现,ROS模板已定义好脚本,可自动化地完成云资源的创建和配置,提高资源的创建和部署效率。ROS模板完成的内容包括:

操作步骤

您可以通过下方提供的ROS一键部署链接,来自动化地完成这些资源的创建和配置:

  • 创建2台云服务器ECS实例。

  • 创建1个专有网络VPC。

  • 创建6台交换机。

  • 创建1个高可用的云数据库RDS MySQL。

一键部署资源:

  1. 单击一键部署,在顶部导航栏选择地域。

  2. 在配置页面修改资源栈名称,按需选择和配置参数。

  3. 资源栈信息页面的状态显示为创建成功时表示一键配置完成。

验证及清理

15

方案验证

一、通过访问ALB的DNS名称,验证服务可用性

  1. 登录ALB控制台,从实例列表中获取ALB实例的DNS名称。image

  2. 通过浏览器访问该DNS名称,检查是否可以正常访问到示例应用。若页面显示如下图所示内容,则表明服务已经成功启动并处于正常运行状态。image (1)

二、通过ECS停机模拟服务器故障,验证服务高可用

完成多服务器配置后,可以通过停止任一服务器来模拟故障情况,以验证在部分服务器不可用时服务的可用性。

  1. 登录ECS管理控制台。在左侧导航栏,选择实例与镜像>实例。在顶部菜单栏,选择与试用实例相同的地域。

  2. 从列表中选择任意一个本次试用的ECS实例,在其右侧操作列中点击更多>实例状态>停止。在弹出的停止实例页面中,选择普通停机模式,然后单击确定image (2)

  3. 等待实例状态变为已停止,再次通过浏览器访问ALB实例的DNS名称,确认服务仍然可以正常访问。打开应用型负载均衡(ALB)控制台,点击相应的实例ID进入详情页面,再点击监控图表,查看健康检查。此时可以观察到负载均衡实例的健康服务器数量从两台减少为一台。image (3)

上述步骤能够验证负载均衡ALB的正确性和可靠性,确保即使在出现故障的情况下,系统仍能稳定运行并提供高可用的服务。

三、通过主备切换,验证数据库高可用

  1. 访问RDS实例列表,在顶部选择相应的地域,然后点击试用实例的ID进入详情页面。

  2. 基本信息页面,查看并记录当前主数据库和备用数据库所在的可用区。image (4)

  3. 在左侧导航栏中,选择服务可用性,在实例可用性区域,点击主备库切换。在弹出的对话框中选择立即切换,然后单击确定以执行切换操作。image

  4. 在主备状态于可用区间完成切换后,通过访问应用程序负载均衡器(ALB)实例的DNS名称,服务仍可正常进行。然而,在RDS实例的基本信息页面中,可以观察到主数据库与备用数据库所在的可用区已经发生对调。

  5. 待主备状态在可用区间完成切换后,通过浏览器访问应用程序负载均衡器(ALB)实例的DNS名称,确认服务仍然可以正常访问。再次查看RDS实例的基本信息页面,此时可以观察到主数据库与备用数据库所在的可用区已经互换位置。image (1)

以上步骤验证了RDS实例的高可用性配置能够确保在主备切换过程中服务连续性不受影响,并且数据的一致性和可靠性得到保障。

清理资源

您可以使用ROS一键删除创建的云资源,避免继续产生费用。

  1. 登录ROS控制台

  2. 在左侧导航栏,选择资源栈

  3. 资源栈页面的顶部选择部署的资源栈所在地域,找到资源栈,然后在其右侧操作列,单击删除

  4. 删除资源栈对话框,选择删除方式释放资源,然后单击确定,根据提示完成资源释放。