操作手册
云产品资源
实践记录

操作手册

业务云化过程中,Web类应用通常是上云第一步。在此过程中,IT从业者们往往会遇到一个问题,如何将Web应用通过云服务解决方案进行部署与托管?此时,您需要一个合适的架构,实现Web应用在云上的正确部署和长期演进。本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。本实验从企业级应用的稳定性架构出发,模拟了在线业务可能遇到机器宕机、单节点故障等场景,通过高可用架构成功避免了单点故障风险,保障了业务稳定性和服务永续。

场景简介

业务云化过程中,Web类应用通常是上云第一步。在此过程中,IT从业者们往往会遇到一个问题,如何将Web应用通过云服务解决方案进行部署与托管?此时,您需要一个合适的架构,实现Web应用在云上的正确部署和长期演进。本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。本实验从企业级应用的稳定性架构出发,模拟了在线业务可能遇到机器宕机、单节点故障等场景,通过高可用架构成功避免了单点故障风险,保障了业务稳定性和服务永续。

实验架构介绍

图片 1.png

本次实验,基于阿里云“高可用、稳定性”的企业级方案架构进行实践。同时,本实验使用了开源项目代码(若依框架-前后端不分离版),成功在此架构上构建了一个用户权限管理系统的网站应用。部署成功后,模拟企业业务中单机故障场景(如一台服务器宕机),此时高可用服务架构保障业务系统仍可正常访问,保障了企业服务的高可用性与稳定性。

方案部署:

  • 图中橙色部分是本次实验会重点涉及的产品,在部署高可用架构时,注意点如下:

    • 2台云服务器ECS:同地域、同VPC、不同可用区(实现跨可用区级高可用)

    • 应用型负载均衡ALB:(1)与2台ECS在同地域、同VPC,(2)ALB实例网络类型选择公网,此时默认包含按流量付费的弹性公网IP,(3)ALB配置时将2台ECS添加到ALB监听服务器组内。

    • 公网NAT网关:(1)与2台ECS在同地域、同VPC,(2)配置访问模式为VPC全通模式(SNAT),则VPC内ECS访问公网时都会统一通过NAT对外访问,实现了统一公网出口的架构收敛。

    • 云数据传输CDT:CDT提供了每个月免费20GB的公网流量,开通后可以抵扣按流量付费的弹性公网IP流量(如上述ALB/NAT所绑定的EIP流量费均可被抵扣),实现了公网的有效成本管理。

    • 云数据库RDS:(1)与2台ECS在同地域、同VPC,(2)RDS配置时,注意白名单管控,仅允许VPC内两台ECS私网地址进行访问,保障了数据安全性。

    • 其他产品:如存储OSS、DNS解析、SSL证书、CDN等,本次实验中未全部涉及,但实际企业业务部署时,均可能会涉及到使用,可以参考以上架构图进行搭建。

方案说明:

  • 架构中重点强调了VPC内架构的搭建,强调内容有:

    • 强调高可用:突出2个可用区,要求资源部署在2个可用区,实现可用区级别的容灾。

    • 强调VPC内的地址规划,首先是Public subnet,作为与公网交互的统一界面(类似于DMZ区的概念)

      • 负载均衡,作为外部用户访问业务系统的统一公网入口。所有用户访问web业务时,访问流都是通过DNS解析至ALB,ALB会通过监听规则,将流量分发至后端服务器组内的多台ECS。同时,负载均衡是本架构的核心,当一台服务器宕机时,负载均衡会通过健康检查,自动检测到宕机服务器,同时将流量转发至正常状态服务器,保障业务可以正常访问,实现高可用和服务永续。

      • NAT网关,作为VPC内ECS访问外网的统一公网出口。ECS访问公网(如download数据包、调用外网API服务)时,避免通过每台ECS绑定一个IP进行分别访问,这样会导致互联网暴露面安全性和地址管理复杂性。此时,通过NAT向VPC内ECS提供SNAT服务,所有ECS访问公网都通过NAT统一进行公网访问,可以有效收敛互联网暴露面、统一进行地址和流量管理等。

    • VPC还有三层subnet,分别是Web subnet、Application subnet、Database subnet

      • 软件开发里最经典的三层架构,就是把整个软件系统分为三个层次,分别是表示层(UI)、业务逻辑层(Business Logic Layer)、数据持久层(Data access layer),三层架构的好处有很多,比如实现高内聚、低耦合、方便团队分工。其实三层架构有一个最直白的解释,比如前端、后端、数据库,也就对应了咱们架构中的Web subnet(前端)、Application subnet(后端)、Database subnet(数据层)

      • 本文中采用了前后端融合的框架,所以Web subnet(前端)+Application subnet(后端)都部署到同一层ECS中。当网站系统规模比较庞大时,往往会进行前后端分离,我们会在其他实验中讲解前后端分离版业务架构的部署教程,本实验关注中小企业业务初期前后端不分离版的架构部署。

      • 2台云服务器ECS会预先安装前后端代码运行所需的环境(Node、JDK、Maven),然后再部署运行开源若依代码(前后端不分离版),实现项目运行启动。

      • 2台ECS内部署若依网站代码项目时,所需访问的数据内容,统一通过数据库连接文件配置,关联至阿里云数据库RDS,数据的存储和调用统一通过RDS提供服务,使得2台服务器项目运行时,始终可以保障数据一致性。

目录
上一步
下一步

【实践】每个IT人都想学的“Web应用上云经典架构”实战

资源开通说明

• 进入实操前,请确保您已通过 实名认证 账户余额 大于100元

• 资源开通在个人账号,默认时长240分钟

• 云资源产生的费用需您自行承担,云起实践平台不会向您征收额外费用

• 实操结束后,您可以选择继续付费保留资源,或参考手册自动/手动释放资源

包含云产品资源(8个):
云服务器 ECS
按量付费
ecs.e-c1m1.large, 2vCPU 2GiB, ESSD 40GiB
云数据库 RDS MySQL 版
按量付费
rds.mysql.t1.small, 1核1GB, SSD 20G
负载均衡
按量付费
应用型负载均衡ALB
弹性公网IP
按量付费
BGP(多线)
NAT网关
按量付费
公网NAT网关
专有网络VPC
IPV4网段:172.16.0.0/12
云服务器 ECS
VSwitch
云服务器 ECS
安全组
实践费用预估费用明细
6.24 起 / 4小时,1LCU
(最终费用将按实际云资源消耗计算)
请先阅读并同意服务协议
本区域为操作区,您可以边阅读左侧操作手册,边进行实操。
云控制台
Cloud Shell