企业级云上网络构建实践

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

背景描述

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

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

  • 北京开发环境有一个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的数据库。

相关文章
|
3天前
|
11天前
|
存储 安全 算法
网络安全与信息安全:构建安全数字生活的基石
【10月更文挑战第5天】 在数字化时代,网络安全与信息安全已成为维护个人隐私、企业机密和国家安全的重要防线。本文旨在探讨网络安全漏洞的形成与防范、加密技术的应用及其重要性,以及提升公众安全意识的必要性。通过深入浅出的方式,帮助读者理解网络安全的核心要素,并强调每个人都是网络安全生态中不可或缺的一环。
37 1
|
12天前
|
搜索推荐 程序员 调度
精通Python异步编程:利用Asyncio与Aiohttp构建高效网络应用
【10月更文挑战第5天】随着互联网技术的快速发展,用户对于网络应用的响应速度和服务质量提出了越来越高的要求。为了构建能够处理高并发请求、提供快速响应时间的应用程序,开发者们需要掌握高效的编程技术和框架。在Python语言中,`asyncio` 和 `aiohttp` 是两个非常强大的库,它们可以帮助我们编写出既简洁又高效的异步网络应用。
61 1
|
13天前
|
安全 算法 网络安全
网络安全与信息安全:守护数字世界的坚盾在这个高度数字化的时代,网络安全和信息安全已成为全球关注的焦点。无论是个人隐私还是企业数据,都面临着前所未有的风险和挑战。本文将深入探讨网络安全漏洞、加密技术以及安全意识的重要性,旨在为读者提供实用的知识,帮助构建更加安全的网络环境。
【10月更文挑战第4天】 在数字化浪潮中,网络安全与信息安全成为不可忽视的议题。本文通过分析网络安全漏洞的类型与成因,探讨加密技术的原理与应用,并强调提升安全意识的必要性,为读者提供一套全面的网络安全知识框架。旨在帮助个人和企业更好地应对网络威胁,保护数字资产安全。
104 65
|
3天前
|
消息中间件 监控 网络协议
Python中的Socket魔法:如何利用socket模块构建强大的网络通信
本文介绍了Python的`socket`模块,讲解了其基本概念、语法和使用方法。通过简单的TCP服务器和客户端示例,展示了如何创建、绑定、监听、接受连接及发送/接收数据。进一步探讨了多用户聊天室的实现,并介绍了非阻塞IO和多路复用技术以提高并发处理能力。最后,讨论了`socket`模块在现代网络编程中的应用及其与其他通信方式的关系。
|
3天前
|
机器学习/深度学习 人工智能 监控
深入理解深度学习中的卷积神经网络(CNN):从原理到实践
【10月更文挑战第14天】深入理解深度学习中的卷积神经网络(CNN):从原理到实践
11 1
|
10天前
|
机器学习/深度学习 存储 自然语言处理
从理论到实践:如何使用长短期记忆网络(LSTM)改善自然语言处理任务
【10月更文挑战第7天】随着深度学习技术的发展,循环神经网络(RNNs)及其变体,特别是长短期记忆网络(LSTMs),已经成为处理序列数据的强大工具。在自然语言处理(NLP)领域,LSTM因其能够捕捉文本中的长期依赖关系而变得尤为重要。本文将介绍LSTM的基本原理,并通过具体的代码示例来展示如何在实际的NLP任务中应用LSTM。
33 4
|
10天前
|
存储 安全 网络安全
云端盾牌:云计算时代的网络安全守护在数字化浪潮中,云计算以其高效、灵活的特性成为企业转型的加速器。然而,伴随其迅猛发展,网络安全问题亦如影随形,成为悬在每个组织头顶的达摩克利斯之剑。本文旨在探讨云计算服务中的网络安全挑战,分析信息安全的重要性,并提出相应对策,以期为企业构建一道坚实的云端防护网。
在当今这个数据驱动的时代,云计算已成为推动创新与效率的关键力量。它允许用户随时随地访问强大的计算资源,降低了企业的运营成本,加速了产品上市时间。但随之而来的网络威胁也日益猖獗,尤其是对于依赖云服务的企业而言,数据泄露、身份盗用等安全事件频发,不仅造成经济损失,更严重损害品牌信誉。本文深入剖析云计算环境中的安全风险,强调建立健全的信息安全管理机制的重要性,并分享一系列有效策略,旨在帮助企业和个人用户在享受云服务带来的便利的同时,也能构筑起强有力的网络防线。
|
11天前
|
存储 SQL 安全
网络防御的艺术:从漏洞识别到加密技术,构建信息安全的堡垒
【10月更文挑战第6天】在数字化浪潮下,网络安全与信息安全成为我们不可忽视的重要议题。本文将深入浅出地探讨网络安全漏洞的识别、加密技术的基本原理,以及提升个人和组织安全意识的重要性。通过实际案例分析和代码示例,我们将揭示如何有效防御网络攻击,保护个人隐私和组织数据不受侵犯。无论你是网络安全新手,还是希望深化理解的专业人士,这篇文章都将为你提供宝贵的知识分享。
|
4天前
|
人工智能 自然语言处理 NoSQL

热门文章

最新文章