网络技术基础阿里云实验——企业级云上网络构建实践

本文涉及的产品
云服务器 ECS,u1 4核16GB 1个月
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云服务器 ECS,每月免费额度200元 3个月
简介: 实验地址:<https://developer.aliyun.com/adc/scenario/65e54c7876324bbe9e1fb18665719179>本文档指导在阿里云上构建跨地域的网络环境,涉及杭州和北京两个地域。任务包括创建VPC、交换机、ECS实例,配置VPC对等连接,以及设置安全组和网络ACL规则以实现特定服务间的互访。例如,允许北京的研发服务器ECS-DEV访问杭州的文件服务器ECS-FS的SSH服务,ECS-FS访问ECS-WEB01的SSH服务,ECS-WEB01访问ECS-DB01的MySQL服务,并确保ECS-WEB03对外提供HTTP服务。

实验地址

https://developer.aliyun.com/adc/scenario/65e54c7876324bbe9e1fb18665719179

image.png

背景描述

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

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

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

相关文章
|
8天前
|
弹性计算 运维
阿里云操作系统智能助手OS Copilot实验测评报告
**OS Copilot 产品体验与功能反馈摘要** 运维人员发现OS Copilot易上手,文档清晰,助其高效排查故障(8/10分)。愿意推荐并参与开源开发。亮点在于知识问答,能快速筛选答案。相较于竞品,优点是新手友好、文档清晰,但功能扩展性待增强。期望增加系统错误排查与解决方案,并集成ECS等,以优化系统安装流程。
阿里云操作系统智能助手OS Copilot实验测评报告
|
3天前
|
机器学习/深度学习 自然语言处理
LeCun新作:神经网络在实践中的灵活性到底有多大?
【7月更文挑战第23天】论文探究神经网络实践灵活性,由Ravid Shwartz-Ziv等与Yann LeCun合作。挑战理论极限,实验证明网络灵活性受限于优化器与正则化,仅达局部最优,尤其CNN在参数效率上超越MLP与ViT。SGD展现高于全批量梯度下降的灵活性。研究局限在于聚焦图像分类与表格数据,未覆盖NLP或RL领域。[论文](https://arxiv.org/pdf/2406.11463)揭示实践中的神经网络并非如理论上全能。
14 3
|
4天前
|
弹性计算 网络协议 Linux
阿里云主机构建FRP内网穿透家用服务器避坑指南
详述了利用FRP工具搭建内网穿透的流程,包括阿里云ECS的配置、家用服务器的准备、FRP工具的下载与配置,以及通过SSH远程访问本地服务器的解决策略,确保了内外网间的稳定连接。
24 0
阿里云主机构建FRP内网穿透家用服务器避坑指南
|
10天前
|
搜索推荐 API 对象存储
|
10天前
|
分布式计算 搜索推荐 API
|
9天前
|
域名解析 运维 Java
阿里云云效操作报错合集之流水线构建过程中出现了实时查询异常,该怎么解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
13天前
|
弹性计算 运维 自然语言处理
阿里云操作系统智能助手OS Copilot实验测评报告
OS Copilot是针对Linux的智能助手,助力学习、运维及编程。用户界面直观,自然语言交互方便新手。官方文档详尽,但初次配置略复杂,适合学生和开发者。在提高代码编写和调试效率、系统学习上得分高,功能亮点包括代码生成、问答和命令执行。用户期待更多操作系统支持、自动错误分析和系统排查功能。
167 3
|
9天前
|
运维 Ubuntu Shell
阿里云云效操作报错合集之流水线构建Docker镜像时,遇到报错:“error: failed to solve: rpc error: code”,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
9天前
|
JavaScript Shell 应用服务中间件
阿里云云效操作报错合集之Node.js构建报错,该如何排查问题
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
9天前
|
网络协议 前端开发 测试技术
阿里云云效操作报错合集之Dockerfile流水线构建中,参数未获取到,是什么导致的
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。

热门文章

最新文章