背景介绍
小云所在公司的业务主要集中在杭州地区,公司决定将总部地点设在杭州。同时,公司为了更好地吸引北京各高校的科技人才,特在北京设立了远程研发中心。因此分别在北京和杭州的本地机房部署了开发环境和生产环境,具体环境描述如下:
- 开发环境:开发环境在北京本地机房,比较简单,仅包含几个开发服务器供开发人员使用, 方便开发团队协作进行代码开发上传,版本发布的流程如下:
- 当正式版本的代码需要发布到生产环境时,会先从开发服务器上传到杭州的文件服务器
- 运维人员再将文件服务器的代码包分发至所有生产环境中的Web服务器上,并分批完成代码的部署、发布和测试工作,确保版本发布过程中的稳定安全
- 生产环境:生产环境部署在杭州本地机房,因为生产环境承载的是核心线上业务,进行了前后端分离、高可用、访问权限管理等管控,具体如下:
- 为了便于扩展和更新,做了前后端分离架构,即将Web服务器和数据库服务器分开部署,运维人员会根据开发人员提交的版本,对前端Web服务器进行变更
- 为了提升整体业务的可用性,前端Web服务器和后端数据库服务器需要多机房部署,规避了单一机房故障造成业务中断
- 为了提升整体业务的安全性,在开发环境、文件服务器和Web服务器上,都做了严格的访问规则配置,其中:
- 文件服务器允许北京开发环境中的开发服务器通过22端口上传文件
- Web服务器允许所有人通过Web服务访问80端口,也允许文件服务器通过22端口上传和配置文件
- 数据库的服务器只允许生产环境的Web服务器来连接,其他的所有连接都会拒绝
- 开发环境与生产环境通过VPN方式打通,网络带宽较小。
思考:以上为小云目前在本地机房的业务逻辑,小云要如何基于本地业务架构设计云上网络架构?如何在阿里云上规划地域、交换机、VPC、安全组、网络ACL,小云应该如何规划云上路由走向,才能连通不同的企业网络环境?
小云根据现有业务情况,在阿里云上设计了如下图所示的网络架构:
其中网络架构为:
- 北京开发环境有一个VPC:VPC-DEV(172.16.0.0/16),该VPC下有一个开发环境交换机:VSW-DEV(172.16.1.0/24),交换机中部署了两台研发服务器ECS-DEV01、ECS-DEV02,互为主备,避免单点故障导致代码等重要文件丢失。
- 杭州生产环境有一个VPC:VPC-PRD(192.168.0.0/16),该VPC下有五个交换机,分别为:
- 两个WEB服务交换机VSW-WEB1(192.168.1.0/24)和VSW-WEB2(192.168.2.0/24),用于跨可用区部署Web业务,避免可用区故障导致整个业务不可用,大大提升Web服务的可用性;
- 两个数据库DB服务交换机VSW-DB1(192.168.100.0/24)和VSW-DB2(192.168.101.0/24),用于跨可用区部署数据库服务,避免可用区故障导致整个业务不可用,大大提升数据库服务的可用性;
- 一个文件服务器交换机VSW-FS(192.168.200.0/24),用于从北京开发环境获取最新版本的软件包,并将软件包分发至生产环境中的Web服务器,该文件服务器因为与Web服务器在一个VPC中,因此可以通过内网传输文件,速度快且无需带宽费用的支出,Web服务器越多,其优势越明显。
- 杭州和北京两个VPC需要通过VPC对等连接完成网络打通,并手动添加路由完成从开发环境交换机VSW-DEV到文件服务器交换机VSW-FS的联通。
- 各个区域安全组访问权限控制:
访问控制资源 | 源/目标IP | 方向 | 访问权限 | 协议和端口 | 作用说明 |
北京开发安全组SG-DEV | VSW-FS(192.168.200.0/24) | 入方向 | 允许 | TCP 22端口 | 文件服务器可以从北京开发环境拉取文件 |
文件服务器安全组SG-FS | VSW-DEV(172.16.1.0/24) | 入方向 | 允许 | TCP 22端口 | 北京开发环境可以向文件服务器推送文件 |
VSW-WEB1(192.168.1.0/24)、VSW-WEB2(192.168.2.0/24) |
入方向 | 允许 | TCP 22端口 | WEB生产环境服务器可以从文件服务器拉取文件 | |
WEB服务安全组SG-WEB | 0.0.0.0/0 | 入方向 | 允许 | TCP 80端口 | 对外开放WEB服务(HTTP 80) |
VSW-FS(192.168.200.0/24) | 入方向 | 允许 | TCP 22端口 | 文件服务器可以向WEB生产环境服务器推送文件 | |
数据库服务安全组SG-DB01 | VSW-WEB1(192.168.1.0/24)、VSW-WEB2(192.168.2.0/24) | 入方向 | 允许 | TCP 3306端口 | WEB生产环境服务器可以从数据库服务器获取数据 |
数据库服务安全组SG-DB02 |
- 数据库所在交换机的网络ACL规则配置如下:
出/入方向规则 | 优先级 | 策略 | 协议类型 | 源地址/目的地址 | 目的端口 |
入方向 | 1 | 允许 | TCP | VSW-WEB1(192.168.1.0/24)、VSW-WEB2(192.168.2.0/24) | 3306/3306 |
入方向 | 2 | 拒绝 | ALL | 0.0.0.0/0 | -1/-1 |
出方向 | 1 | 允许 | TCP | VSW-WEB1(192.168.1.0/24)、VSW-WEB2(192.168.2.0/24) | 1/65535 |
出方向 | 2 | 拒绝 | ALL | 0.0.0.0/0 | -1/-1 |
练习实验:企业级云上网络构建
https://developer.aliyun.com/adc/scenario/exp/65e54c7876324bbe9e1fb18665719179