企业级云上网络构建实践

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 本实验介绍了企业级云上网络构建的核心概念以及构建方法,这些概念可以帮助了解如何在阿里云上快速的进行基础网络的创建、业务隔离及多网之间的互联互通,助力更好的在阿里云上规划网络。

背景描述

某互联网公司的业务主要集中在杭州地区,公司决定将总部地点设在杭州。同时,公司为了更好地吸引北京各高校的科技人才,特在北京设立了远程研发中心。公司使用了阿里云,计划在阿里云的杭州地域独立部署生产环境。同时,在阿里云的北京地域部署开发环境。

公司规划的阿里云上网络架构如下图所示:

  • 北京开发环境有一个VPC:VPC-DEV(172.16.0.0/16),该VPC下有一个开发环境交换机:VSW-DEV(172.16.1.0/24),交换机中部署了一台研发服务器ECS-DEV(172.16.1.1);

  • 杭州生产环境有一个VPC:VPC-PRD(192.168.0.0/16),该VPC下有三个交换机,分别为:WEB服务交换机VSW-WEB(192.168.1.0/24),数据库DB服务交换机VSW-DB(192.168.100.0/24),文件服务器交换机VSW-FS(192.168.200.0/24),每个交换机下均有一台ECS作为本实验架构测试使用。

网络权限要求如下:

  • 通过VPC对等连接打通北京开发环境专有网络VPC-DEV和杭州生产环境专有网络VPC-PRD

  • 北京开发环境的ECS-DEV可以访问杭州生产环境中的文件服务器ECS-FS的SSH服务(22端口)

  • 杭州生产环境中的文件服务器ECS-FS可以访问杭州生产环境中的WEB服务器ECS-WEB01的SSH服务(22端口)

  • 杭州生产环境中的WEB服务器ECS-WEB01可以访问杭州生产环境中的数据库服务器ECS-DB01的MySQL数据库服务(3306端口)

  • 杭州生产环境中的WEB服务器ECS03对外开放WEB服务(80端口)

image.png

企业级云上网络构建实践

北京开发环境搭建

创建北京开发环境专有网络VPC-DEV(172.16.0.0/16)和开发交换机VSW-DEV(172.16.1.0/24)

复制如下链接,访问专有网络VPC控制台,点击创建专有网络。

https://vpc.console.aliyun.com/vpc/cn-beijing/vpcs

选择到北京地域下。

image.png

在弹出的创建专有网络窗口,完成如下配置后,点击确定创建开发专有网络和交换机:

  • 专有网络地域为华北2(北京),名称为VPC-DEV,IPv4网段为172.16.0.0/16

  • 交换机名称为VSW-DEV,可用区为北京 可用区I,IPv4网段为172.16.1.0/24

image.png

image.png

image.png

创建研发安全组SG-DEV,并配置规则允许文件服务器ECS-FS(192.168.200.1)通过TCP协议从22端口(SSH服务)进行通信。

复制如下链接,访问云服务器ECS控制台中的安全组管理页面,点击创建安全组。

https://ecs.console.aliyun.com/securityGroup/region/cn-beijing

image.png

在弹出的创建安全组窗口,完成如下配置后,点击创建安全组:

  • 安全组名称:SG-DEV

  • 网络:VPC-DEV

  • 入方向访问规则,允许文件服务器ECS-FS(192.168.200.1)以及Workbench远程连接IP(100.104.0.0/16)通过TCP协议从22端口(SSH服务)进行通信:

    • 手动添加一条规则,授权策略为允许,优先级为1,协议类型为自定义TCP,目的端口为SSH(22),源:192.168.200.1,100.104.0.0/16

    • 删除其它TCP协议类型规则

【注意】通过Workbench进行ECS实例的远程连接时,需要对固定的源IP网段开放22端口,其中:

  • 如果通过实例的公网IP(包括固定公网IP和EIP)进行远程连接:添加47.96.60.0/24和118.31.243.0/24。

  • 如果通过实例的专有网络私网IP进行远程连接:添加100.104.0.0/16。

image.png

创建研发服务器ECS-DEV(172.16.1.1)

复制如下链接,访问云服务器ECS控制台页面,点击创建实例。

image.png

ECS-DEV创建配置如下:

image.png

image.png

北京开发环境与杭州生产环境的跨地域文件传输网络

复制如下链接,打开专有网络中的VPC对等连接页面,第一次使用可能需要开通CDT功能权限,确定开通后,点击刷新按钮,即可进行接下来的创建VPC对等连接操作。

image.png

在弹出的创建对等连接页面完成如下配置,并点击确定,完成创建:

  • 对等连接名称:PEER-PRD-DEV

  • 发起端VPC实例:VPC-PRD

  • 接收端账号类型:同账号

  • 接收端地域类型:跨地域

  • 接收端地域:华北2(北京)

  • 接收端VPC实例:VPC-DEV

【说明】:VPC-PRD实例ID可通过左侧云产品资源列表查看。VPC-DEV请根据刚刚创建的VPCID进行选择。

image.png

image.png

点击左侧菜单中的VPC对等连接,找到刚刚创建的对等连接PEER-PRD-DEV,可以看到发起端为杭州的VPC-PRD,接收端为北京的VPC-DEV,接下来我们需要分别配置发起端和接收端VPC实例的路由条目。

image.png

image.png

点击发起端VPC实例配置路由条目,因为发起端为VPC-PRD(192.168.0.0/16),接收端为VPC-DEV(172.16.0.0/16),其中需要联通VSW-FS(192.168.200.0/24)和VSW-DEV(172.16.1.0/24),所以发起端的目标网段为VSW-DEV(172.16.1.0/24),详细配置如下:

  • 路由条目名称:R-FS-DEV

  • 目标网段:172.16.1.0/24

image.png

点击接收端VPC实例配置路由条目,因为发起端为VPC-PRD(192.168.0.0/16),接收端为VPC-DEV(172.16.0.0/16),其中需要联通VSW-FS(192.168.200.0/24)和VSW-DEV(172.16.1.0/24),所以接收端的目标网段为VSW-FS(192.168.200.0/24),详细配置如下:

  • 路由条目名称:R-DEV-FS

  • 目标网段:192.168.200.0/24

image.png

复制如下链接,并粘贴至右侧远程桌面中的浏览器中,打开ECS控制台中的安全组页面(杭州地域),找到文件服务器安全组SG-FS,点击右侧操作列中的配置规则按钮,进行规则配置。

https://ecs.console.aliyun.com/securityGroup/region/cn-hangzhou

image.png

在入方向规则配置中,手动添加一条规则,放行从开发服务器ECS-DEV(172.16.1.1)访问SSH(22)服务:允许,1,自定义TCP,目的端口:SSH(22),源:172.16.1.1,点击保存完成配置。

image.png

通过Workbench分别远程连接开发服务器ECS-DEV(172.16.1.1)与文件服务器ECS-FS(192.168.200.1)

image.png

image.png

远程连接后,分别在两台服务器中进行如下测试:

  • 在开发服务器ECS-DEV(172.16.1.1)中通过SSH远程登录文件服务器ECS-FS(192.168.200.1):ssh 192.168.200.1

  • 在文件服务器ECS-FS(192.168.200.1)中通过SSH远程登录开发服务器ECS-DEV(172.16.1.1):ssh 172.16.1.1

image.png

image.png

杭州生产环境WEB服务访问控制

复制如下链接,打开云服务器ECS控制台中的安全组页面,找到数据库服务器所在的安全组SG-WEB01,点击右侧操作列中的配置规则。

https://ecs.console.aliyun.com/securityGroup/region/cn-hangzhou

image.png

在入方向规则配置中,手动添加如下两条规则:

  • 放行WEB服务器ECS-WEB01(192.168.1.1)的WEB服务端口HTTP(80)访问:允许,1,自定义TCP,目的端口:HTTP(80),源:0.0.0.0/0,点击保存

  • 允许从文件服务器ECS-FS(192.168.200.1)通过SSH服务(22端口)访问:允许,1,自定义TCP,目的端口:SSH(22),源:192.168.200.1,点击保存

image.png

image.png

在云服务器ECS控制台获取ECS-WEB01的公网IP,并复制到本地浏览器进行访问测试,如可以看到”ECS-WEB01页面“说明已经开放了WEB服务的80端口:

image.png

image.png

在云服务器ECS控制台通过Workbench远程连接文件服务器ECS-FS,并通过SSH(22端口)服务远程连接WEB服务器ECS-WEB01(192.168.1.1):ssh 192.168.1.1

image.png

杭州生产环境数据库服务访问控制

复制如下链接,打开云服务器ECS控制台中的安全组页面,找到数据库服务器所在的安全组SG-DB01,点击右侧操作列中的配置规则。

https://ecs.console.aliyun.com/securityGroup/region/cn-hangzhou

image.png

在入方向规则配置中,手动添加一条规则,放行从WEB服务器ECS-WEB01(192.168.1.1)访问MySQL(3306)服务:允许,1,自定义TCP,目的端口:MySQL(3306),源:192.168.1.1,点击保存完成配置。

image.png

点击左侧实例与镜像中的实例页面,找到云服务器ECS-DB01,通过Workbench进行远程连接。

image.png

远程连接成功后,通过如下命令本地登录数据库服务,输入正确密码(初始管理员root用户密码为Test123!)后,显示”mysql>“,可输入SQL命令进行数据库操作:

mysql -uroot -p

【注意】提示:如上述命令,”-u“参数为指定MySQL的登录用户名,”-p“参数为指定密码。

image.png

成功登录MySQL后,通过如下命令创建一个可远程登录的web用户:

create user 'webuser'@'192.168.1.1' identified with mysql_native_password by 'Test_123';
flush privileges;

【提示】:create user命令创建了一个名为webuser的用户,该用户仅可从192.168.1.1的源IP地址进行访问,登录密码为Test_123,flush privileges命令为刷新权限使配置立即生效。

image.png

测试通过ECS-WEB01远程访问ECS-DB01的MySQL服务,远程连接ECS-WEB01实例。通过如下命令安装MySQL客户端:

yum install -y mysql

image.png

远程连接ECS-WEB01成功后,通过如下命令测试是否能够成功登录ECS-DB01中的MySQL服务:

mysql -h192.168.100.1 -uwebuser -pTest_123

image.png

如上图所示,说明已经成功通过ECS-WEB01连接ECS-DB01的数据库。

复制如下链接,打开专有网络VPC控制台中的网络ACL页面(杭州地域),点击创建网络ACL。

https://vpc.console.aliyun.com/nacl/cn-hangzhou/nacls

image.png

在弹出的创建网络ACL页面中,进行如下配置后,点击确定:

  • 所属网络ACL:VPC-PRD

  • 名称:ACL-DB

image.png

找到刚刚创建的网络ACL:ACL-DB,点击右侧操作列中的关联交换机,选择ECS-DB01所在的交换机VSW-DB01,点击确定关联。

image.png

image.png

设置网络ACL入方向规则配置:在ACL-DB的配置页面中点击入方向规则,点击管理入方向规则。添加入下两条规则:

  • 优先级1,策略允许,协议类型TCP,源地址192.168.1.1/32,目的端口3306/3306

  • 优先级2,策略拒绝,协议类型ALL,源地址0.0.0.0/0

【说明】:优先级生效顺序:值越小,规则的优先级越高。系统从生效顺序为1的规则开始判断,只要有一条规则与流量匹配,即应用该规则,并忽略其他规则。

例下图所示,入方向规则中,来自源地址为192.168.1.1的请求,访问3306目的端口的TCP协议数据包,在经过如下表所示的ACL规则配置后,匹配生效顺序1和生效顺序2规则中的源地址,由于生效顺序1的优先级高于生效顺序2,所以会根据生效顺序1规则允许该请求。

image.png

image.png

设置网络ACL出方向规则配置:在ACL-DB的配置页面中点击出方向规则,点击管理出方向规则。添加入下两条规则:

  • 优先级1,策略允许,协议类型TCP,目的地址192.168.1.1/32,目的端口1/65535

  • 优先级2,策略拒绝,协议类型ALL,目的地址0.0.0.0/0

【提示】:注意ECS-WEB01会使用一个随机端口访问ECS-DB01的MySQL服务(3306端口),所以这里设置的目的端口不能仅设置为3306/3306,而是1/65535

image.png

image.png

重新远程连接ECS-WEB01,并通过如下命令测试是否能够成功登录ECS-DB01中的MySQL服务:

mysql -h192.168.100.1 -uwebuser -pTest_123

image.png

如上图所示,说明在成功设置了安全组SG-DB01、ACL-DB后还是可以成功通过ECS-WEB01连接ECS-DB01的数据库。

相关文章
|
28天前
|
25天前
|
安全 网络架构
MPLS线路构建稳定、高效网络的优选方案
【10月更文挑战第17天】MPLS线路构建稳定、高效网络的优选方案
46 5
|
5天前
|
SQL 安全 前端开发
PHP与现代Web开发:构建高效的网络应用
【10月更文挑战第37天】在数字化时代,PHP作为一门强大的服务器端脚本语言,持续影响着Web开发的面貌。本文将深入探讨PHP在现代Web开发中的角色,包括其核心优势、面临的挑战以及如何利用PHP构建高效、安全的网络应用。通过具体代码示例和最佳实践的分享,旨在为开发者提供实用指南,帮助他们在不断变化的技术环境中保持竞争力。
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络:从理论到实践
【10月更文挑战第35天】在人工智能的浪潮中,深度学习技术以其强大的数据处理能力成为科技界的宠儿。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,在图像识别和视频分析等领域展现出了惊人的潜力。本文将深入浅出地介绍CNN的工作原理,并结合实际代码示例,带领读者从零开始构建一个简单的CNN模型,探索其在图像分类任务中的应用。通过本文,读者不仅能够理解CNN背后的数学原理,还能学会如何利用现代深度学习框架实现自己的CNN模型。
|
23天前
|
运维 供应链 安全
SD-WAN分布式组网:构建高效、灵活的企业网络架构
本文介绍了SD-WAN(软件定义广域网)在企业分布式组网中的应用,强调其智能化流量管理、简化的网络部署、弹性扩展能力和增强的安全性等核心优势,以及在跨国企业、多云环境、零售连锁和制造业中的典型应用场景。通过合理设计网络架构、选择合适的网络连接类型、优化应用流量优先级和定期评估网络性能等最佳实践,SD-WAN助力企业实现高效、稳定的业务连接,加速数字化转型。
SD-WAN分布式组网:构建高效、灵活的企业网络架构
|
9天前
|
监控 安全 网络安全
企业网络安全:构建高效的信息安全管理体系
企业网络安全:构建高效的信息安全管理体系
34 5
|
8天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
利用Python和TensorFlow构建简单神经网络进行图像分类
利用Python和TensorFlow构建简单神经网络进行图像分类
27 3
|
7天前
|
数据采集 网络协议 算法
移动端弱网优化专题(十四):携程APP移动网络优化实践(弱网识别篇)
本文从方案设计、代码开发到技术落地,详尽的分享了携程在移动端弱网识别方面的实践经验,如果你也有类似需求,这篇文章会是一个不错的实操指南。
20 1
|
13天前
|
数据采集 存储 XML
Python实现网络爬虫自动化:从基础到实践
本文将介绍如何使用Python编写网络爬虫,从最基础的请求与解析,到自动化爬取并处理复杂数据。我们将通过实例展示如何抓取网页内容、解析数据、处理图片文件等常用爬虫任务。
|
17天前
|
数据采集 存储 机器学习/深度学习
构建高效的Python网络爬虫
【10月更文挑战第25天】本文将引导你通过Python编程语言实现一个高效网络爬虫。我们将从基础的爬虫概念出发,逐步讲解如何利用Python强大的库和框架来爬取、解析网页数据,以及存储和管理这些数据。文章旨在为初学者提供一个清晰的爬虫开发路径,同时为有经验的开发者提供一些高级技巧。
13 1