云计算.华为云 VPC关联概念与对等连接实践
- 文章信息 - Author: 李俊才(jcLee95)
Visit me at CSDN: https://jclee95.blog.csdn.net
My WebSite :http://thispage.tech/
Email: 291148484@163.com.
Shenzhen China
Address of this article: https://blog.csdn.net/qq_28550263/article/details/140451028
HuaWei: https://bbs.huaweicloud.com/blogs/431004
【介绍】:本文基于华为云VPC关联概念与对等连接实践。
目 录
- [1. 概述](#1. 概述)
- [2. 创建VPC示例](#2. 创建VPC示例)
- [3. 安全组](#3. 安全组)
-
- [3.1 安全组的基本概念](#3.1 安全组的基本概念)
- [3.2 默认安全组](#3.2 默认安全组)
- [3.3 自定义安全组](#3.3 自定义安全组)
- [4. 网络ACL](#4. 网络ACL)
-
- [4.1 什么是网络ACL](#4.1 什么是网络ACL)
- [4.2 创建网络ACL](#4.2 创建网络ACL)
- [5. 华为云VPC对等连接](#5. 华为云VPC对等连接)
-
- [5.1 对等连接的概念和使用场景](#5.1 对等连接的概念和使用场景)
- [5.2 创建对等连接](#5.2 创建对等连接)
- [6. 验证通信](#6. 验证通信)
-
- [6.1 验证方案](#6.1 验证方案)
- [6.2 测试通信](#6.2 测试通信)
-
- [6.2.1 创建安全组](#6.2.1 创建安全组)
- [6.2.2 创建ECS服务器实例](#6.2.2 创建ECS服务器实例)
- [7. 总结](#7. 总结)
[1. 概述](#1. 概述)
虚拟私有云(VPC )是华为云上的私有网络环境。它为用户提供了一个逻辑隔离的网络空间,使用户能够灵活地规划和管理自己的网络资源。VPC不仅确保了用户数据的安全性和私密性,还为云上资源的部署和互联提供了便利。
在VPC 中,用户可以自定义IP 地址范围、配置路由表和网关等网络组件。这种高度的可定制性使得VPC 能够满足各种复杂的网络需求,从简单的单层Web应用到复杂的多层企业应用都可以在VPC中轻松部署。
VPC 的核心优势在于其安全性和灵活性。通过安全组和网络访问控制列表(ACL ),用户可以精细地控制进出VPC 的流量。同时,VPC还支持与用户本地数据中心建立安全连接,实现混合云架构。
在实际应用中,VPC常用于构建隔离的开发、测试和生产环境,或者用于部署需要严格网络隔离的应用系统。例如,可以将前端Web服务器部署在公共子网中,而将数据库服务器部署在私有子网中,通过精心设计的网络架构来提高系统的安全性。
随着云计算技术的不断发展,VPC 已成为构建云上网络基础设施的关键组件。它不仅简化了网络管理,还为企业提供了更高的网络性能和更强的安全保障。通过合理利用VPC,企业可以构建出既安全又高效的云端网络环境,为业务的快速发展和创新提供有力支持。
[2. 创建VPC示例](#2. 创建VPC示例)
[2.1 登录华为云VPC网络控制台](#2.1 登录华为云VPC网络控制台)
登录控制台,选择区域(如"北京四")。打开"虚拟私有云",如图所示。
登录控制台,选择区域(如"北京四")。打开"虚拟私有云",如图所示。
如果你还没有将虚拟私有云收藏到"我的资源中",则点击左上角的折叠菜单开关,然后在输入框中输入"VPC"。点亮"虚拟私有云 VPC"词条右侧的"★"将其添加到华为云控制台首页"我的资源"区,如图。
进入网络控制台的虚拟私有云页面后,内容区域可以看到显示当前所有的虚拟私有云列表,若有多个私有云,可以在私有云列表上方的输入框中输入相关参数进行搜索。点击任意一条私有云记录,可以进入对应的私有云页面进行编辑。右上角"创建虚拟私有云"圆角矩形按钮用于新建私有云,如图所示。
[2.2 建VPC示例](#2.2 建VPC示例)
一旦点击"创建虚拟私有云"按钮,将导航进入"创建虚拟私有云"页面,该页面中,我们需要填写"基本信息"和至少"子网设置1"(至少一个子网)后,才能点击"立即创建"从而实现VPC的创建。
[2.2.1 填写VPC基本信息](#2.2.1 填写VPC基本信息)
基本信息主要包含区域、名称、IPv4网段三个部分。可选填写高级设置中的标签和描述。
1.区域
区域是通过下拉弹出面板中选择的,华为云提供了多个可供选择的区域。我们尽可能选择距离服务用户尽的地区的区域。
需要指出的是,当我们有多个VPC 时,仅同区域的VPC 才能通过VPC 对等连接(Peer To Peer Connection )实现两个VPC 中的私有IP 通信。而如果两个VPC在不同区域,则不得不使用云连接等其它方式实现通信。
2.名称
名称是用来方便我们日后使用创建好的VPC以进行编辑等操作的。为了同一管理资源,便于区分,可以采用一定的方式进行命名。
例如,假设我们创建一个用于灰度环境的、位于北京4区域的、用于study相关的VPC,可以采用这样的名字:
study-vpc-grey-bj4
3.IPv4网段
我们知道,IANA专门保留了三类私网地址:
- 10.0.0.0到10.255.255.255,即10.0.0.0/8网段;
- 172.16.0.0到172.31.255.255,即172.16.0.0/12网段;
- 192.168.0.0到192.168.255.255即192.168.0.0/16网段。
华为云VPC 支持的IPv4网段自然是这三类私网地址的子网段。具体说来,目前华为云VPC支持的网段范围对应地,如下表所示:
VPC网段 | IP地址范围 | 最大IP地址数 |
---|---|---|
10.0.0.0/8~24 | 10.0.0.0-10.255.255.255 | 2^24-2=16777214 |
172.16.0.0/12~24 | 172.16.0.0-172.31.255.255 | 2^20-2=1048574 |
192.168.0.0/16~24 | 192.168.0.0-192.168.255.255 | 2^16-2=65534 |
在选择VPC网段的时候需要考虑下面两点:
1.IP地址数量:要为业务预留足够的IP地址,防止业务扩展给网络带来冲击;
2.IP地址网段:当前VPC与其他VPC、云下数据中心连通时,要避免IP地址冲突。
需要的最小IP地址数量很容易计算,只不过考虑到日后可能需要新增资源,因此总是需要留一定的裕量。需要注意的是网段冲突,如果当前选择的网段和同区域其它VPC设置的网段相冲突,则会看到下面途中所示的提示:
提示中说,当前区域下其他VPC网段重叠,如需使用VPC互通服务,建议修改VPC网段
。比如假设日后有两个VPC (A和B),VPCA 和VPCB分别建立对等连接,如果B、C两个VPC的网段有重叠,A中就无法添加具有相同目的网段的路由。因此我们应该避免这样的情况出现,很简单,设置为不一样的网段即可。
[2.2.2 填写子网设置](#2.2.2 填写子网设置)
1. 子网创建信息卡
一个VPC内可以有多个子网,但是至少有一个子网,因此默认情况下用户需要完成"子网设置1"的填写。如果你想此时直接创建多个子网,则可以点击"创建子网"区域创建更多子网。如图所示:
那么什么是子网以及子网有什么特点呢,可以从以下几个方面来看。
-
是VPC下管理云资源(如ECS)的网络平面,所有的云资源都必须部署在子网内;
-
提供IP地址管理、DNS等服务;
-
子网内的ECS的IP地址都属于该子网。
-
-
默认同一个VPC下所有子网的ECS均可进行通信,而不同VPC的ECS不可通信;
-
同一个VPC内的相同子网二层互通、不同子网三层互通;
-
内部子网。在同内部子网内的云服务器,可以进行二层互通;无法与VPC 中的其它子网,包括VPC 子网和内部子网互通;云服务器内部的子网网卡无法绑定弹性IP 、且无法使用SNET 、VPN等;
-
项目及子网。在同项目级子网的云服务器,可以进行二层互通;
2. 可用区
可用区(AZ ,Availability Zone)是在同一区域下,电力、网络隔离的物理区域,不同可用区之间物理隔离,内网网络互通。
一个区域内有多个可用区,一个可用区发生故障后不会影响同一区域内的其它可用区。
- 默认情况下,同一个VPC 中,不同子网内的所有实例网络互通。同一个VPC内的子网可以位于不同可用区,不影响通信。比如VPC-A 内有子网A01 (可用区1)和子网A02 (可用区2),子网A01 和子网A02的网络默认互通。
- 子网内云资源的可用区和子网的可用区不用保持一致。比如位于可用区1的云服务器,可以使用可用区3的子网。假如可用区3发生故障,此时可用区1的云服务器可以继续使用可用区3的子网,不会影响您的业务。
3. 子网IPv4网段
既然叫做网段 的子网,那么子网的网段必然是VPC网段的子网段。
假设我们之前设置的VPC的IPv4网段网段为:
10.0.0.0/24
这里的任何一个子网都设置的子网IPv4网段,都属于10.0.0.0/24
限定的范围,因此单个子网最大的网段即10.0.0.0/24
。创建多个子网时,各个子网的网段应该确保不重叠,否则无法完成创建:
具体一个需求,假设我们此时创建2个子网网段,在一个子网内最多也就需要10个IP,且必须保证一定至少容纳10个IP。那么,2^3-5=3 < 10 < 2^4-5=11,即使不考虑日后扩展更多主机也起码主机位要4位2进制数的主机数,也就是网络位最多为28。
现在极限考虑,就取子网掩码为28,两个网段不重叠的前提下,一个的29位为0,另外一个的29位为1,就得到了两个容量为2^4-5=11的网段,分别是10.0.0.0/28
和10.0.0.1/28
。
设置完成后,点击"立即创建",稍等片刻即可完成子网的创建:
创建完成后,在"网络控制台"的"子网"选项页中,可以看到已经创建好的子网,如图所示:
[3. 安全组](#3. 安全组)
[3.1 安全组的基本概念](#3.1 安全组的基本概念)
• 是一个逻辑分组,为同一个VPC 内具有相同安全保护需求并相互信任的ECS提供访问策略;
• 用户可以在安全组中定义各种访问规则。当ECS加入该安全组后,即受到这些规则的保护;
• 安全组内的云服务器不需要添加规则即可相互访问;
• 安全组需要在网络路通的前提下生效(如实例虽在一个安全组,但在不同未打通的VPC就无法互通)。
[3.2 默认安全组](#3.2 默认安全组)
•华为云控制台中,可以创建、删除安全组,快速添加多条安全组规则等;
•华为云中,系统会为每一个用户创建一个默认的"default"安全组,这个安全组规定了:
-
在出方向上的数据报文全部放行;
-
在如方向上访问受限。
这个默认安全组有时也会显示为"Sys-default ",应该是因为华为云曾今使用该名称,写的死数据,导致部分地方使用"default "、部分地方使用"Sys-default "作为默认安全组的名称。比如为切换ECS 的VPC 时,就显示为"Sys-default":
[3.3 自定义安全组](#3.3 自定义安全组)
1.创建安全组页面页面
点击右上方的"创建安全组"按钮即可进入安全组创建页面:
在创建安全组页面中,为了创建新的安全组,我们也需要完成两大部分,即"基本信息"和配置规则:
2.基本信息
基本信息包括"区域"、"名称"、"标签"、"描述"几个部分,依据实际需求填写即可。
3.配置规则
配置规则包括配置"入方向规则"和"出方向规则"两大部分的安全组规则。不论是哪一部分,一个共同特点是,配置仅有允许策略,而没有拒绝策略,这也使得安全组的配置相对比较容易理解。
有时候为了方便,比如测试的时候直接一键放开所有端口(一般不建议这样做),或者用于部署Web服务器则需要放开HTTP的80端口和HTTPS的443端口,这是最常见的需求,可以直接使用"预设规则":
另外,更多方便的常用规则,可以点击"快速添加规则"按钮:
你可以根据需要,来勾选添加入方向规则:
或者出方向规则:
如果这些现成规则无法满足需求,就需要点击"添加规则",来创建满足需求的"入方向规则"或者"出方向规则"了。
例如为了可以使用远程MySQL客户端连接到MySQL Server:
bash
mysql -h hostname -P 3306 -u username -p
则需要放通3306端口。这里需要说明的是"目的地址"。
目的地址可以是单个IP地址、IP地址段或安全组。
· 单个IP地址 :例如,192.168.10.9/32
· IP地址段 :例如,192.168.52.0/24
· 所有IP地址 :例如,0.0.0.0/0
· 安全组 :例如 ,sg-mytest
比如仅仅是为了方便,我考虑哪一个具体的主机,直接放通安全组对应的所有主机的3306端口,就填写0.0.0.0/0,就像这样:
但是如果你确定是具体的某一台主机,比如IP 为192.168.10.9
主机上部署了MySQL,并监听3306端口,则目的地址应该写192.168.10.9/32
。参数设置过后,点击"立即创建"即可添加该自定义的安全组规则:
[4. 网络ACL](#4. 网络ACL)
[4.1 什么是网络ACL](#4.1 什么是网络ACL)
-
类似于安全组,也是一种安全防护策略;
-
是一个子网级别的可选安全层,通过与子网关联 出/入 方向规则控制出入子网的数流;
-
安全组仅有允许策略,而ACL既可以允许也可以拒绝;
-
VPC 默认没有ACL,需要的时候可以自行创建网络的ACL,并将其与子网关联;
-
ACL关联子网后,默认拒绝所有出入子网的流量,直到添加放通规则;
-
网络ACL 可以关联多个子网,但是一个子网同一时间只能关联一个网络ACL;
-
每个新创建的ACL最初都为未激活状态,直到关联子网位置;
-
当多个ACL规则冲突时,高优先级的规则优先生效;
-
华为云控制台可以创建、查看、修改、删除网络ACL ,修改ACL规则生效顺序。
[4.2 创建网络ACL](#4.2 创建网络ACL)
在网络控制台的侧栏中找到"网络ACL"标签,进入对应页面。在页面右上角点击"创建网络ACV"按钮,如图:
填写创建网络ACL必须的信息,完成后点击右下角的"创建"按钮:
[5. 华为云VPC对等连接](#5. 华为云VPC对等连接)
[5.1 对等连接的概念和使用场景](#5.1 对等连接的概念和使用场景)
-
是两VPC 之间的网络连接,从而使使用私有IP 地址在这两个VPC之间进行通信;
-
不同区域内,不可以使用VPC对等连接;
-
同一个区域内,可以为同一个账号下或者不同账号下的VPC 创建VPC对等连接;
-
有重叠子网网段的VPC建立的对等连接可能会不生效;
-
对等连接的VPC 不能通过一端VPC的EIP访问另一端的资源(比如VPCA 和VPCB 建立了对等连接,虽然VPCB 有EIP 可以访问互联网,但是VPCA不能使用VPCB访问互联网);
-
跨租户申请VPC对等连接需要对端租户接受后才能生效;
-
同租户申请对等连接默认已经接受;
-
★对等连接建立后,需要在本端VPC 、对端VPC ,分别添加对方子网的路由才能通信;
-
VPCA 和VPCB 分别建立对等连接,如果B 、C 两个VPC的网段有重叠,A中就无法添加具有相同目的网段的路由。
[5.2 创建对等连接](#5.2 创建对等连接)
这里演示一个实验,实验前提是我们已经创建好了两个处于同意区域的VPC(这里我预先在北京四区域创建了2个VPC):
还是在"网络控制台"。从左侧的"虚拟私有云"下找到并打开"对等连接"标签页。点击页面的右上角"创建对等连接":
现在,我们为同在当前账户下的两个VPC (简称为VPCA 和VPCB ),创建一个从VPCA (study-vpc-grey-bj4)到VPCB(test-vpc-grey-bj4)的对等连接,编写VPC信息完成后点击"立即创建":
VPC对等连接创建完成后,还需要在本端VPC和对端VPC的路由表中分别添加路由,才可以实现通信,因此弹出此对话框:
这里我们点击"立即添加",即可跳转到此各个创建的对等连接的详情页。在该对等连接的详情,点击"关联路由"下的"添加路由"按钮,为对等连接配置路由:
为了实现通信,需要在本端VPC 、对端VPC ,分别添加对方子网的路由。
在华为云的VPC 对等连接中,目的地址 和下一跳地址是两个重要的参数。其中:
-
目的地址(Destination):
- 这是指您想要访问的网络或IP地址范围。
- 在VPC 对等连接中,目的地址通常是对端VPC 的CIDR 块(IP地址范围)。
- 例如,如果您要访问的对端VPC 的CIDR 是
192.168.0.0/16
,那么这就是您的目的地址。
-
下一跳地址(Next Hop):
- 这是指数据包在到达最终目的地之前要经过的下一个网络节点。
- 在VPC 对等连接中,下一跳地址通常是对等连接的ID。
- 当您配置路由表时,您会将对等连接的ID设置为下一跳,这样系统就知道要通过这个对等连接来发送数据包。
简单来说:
- 目的地址告诉系统"我想去哪里"
- 下一跳地址告诉系统"我应该怎么去那里"
在配置VPC 对等连接的路由时,需要在每个VPC的路由表中添加相应的路由条目,指定目的地址(对端VPC 的CIDR )和下一跳地址(对等连接ID ),以确保两个VPC之间可以正确路由流量。
通常情况下,需要在对等连接两端VPC的路由表中分别添加去程和回程路由。其中:
- 去程路由:
-
在VPC A 中配置的路由,用于将流量发送到VPC B。
-
目的地址是VPC B 的CIDR(Classless Inter-Domain Routing,无类别域间路由)。
-
下一跳是对等连接ID。
- 回程路由:
-
在VPC B 中配置的路由,用于将响应流量发送回VPC A。
-
目的地址是VPC A 的CIDR。
-
下一跳也是对等连接ID。
比如,先以本端虚拟私有云为VPC A ( study-vpc-grey-bj4
),到对端VPC B ( test-vpc-grey-bj4
)
勾选"添加另一端VPC路由",即可在此弹窗添加从VPCB( test-vpc-grey-bj4
)的回程路由:
点击"确定"完成创建后,在该新建的对等连接(名称peering-AB)详情页面,可以看到两条对等连接的关联路由信息:
[6. 验证通信](#6. 验证通信)
[6.1 验证方案](#6.1 验证方案)
我们在两台位于不同VPC的ECS上PING彼此,由于默认情况下不同VPC中的资源是无法通信的,如果两ECS可以互Ping彼此,那么说明VPC对等连接的搭建是成功的。
[6.2 测试通信](#6.2 测试通信)
[6.2.1 创建安全组](#6.2.1 创建安全组)
接下来的服务器需要安全组,你可以修改已有安全组或者创建安全组,为处于两个VPC的ECS的流量放行进行控制。
[6.2.2 创建ECS服务器实例](#6.2.2 创建ECS服务器实例)
作为学习和验证,这里我们考虑尽可能地节省成本。在华为云首页搜索"ECS"(或者在登陆的前提下点击此文本的链接:华为云ECS)
进入ECS页面后,选择购买弹性云服务器:
犹豫仅仅是实验。这里一定要选择按需计费,一边我们在实验结束后方便对实例进行删除,以最大程度节省我们的经费:
然后尽可能选小规格参数的硬件指标(可参考价格):
选择完成后,选取一个镜像。比如这里选用所谓的华为云欧啦系统(其实基本就类似于CentOS,也是红帽的操作习惯)。然后点击"下一步:配置网络"。
配置网络并选择安全组:
其中安全组应该确保房通了必须的端口,从而被后续需要基于TCP/UDP(传输层协议)的应用通信。这个实验我们主要是测试联通性,使用的是Ping,Ping不是基于TCP/UDP的,而是基于ICMP协议,也就是当配置安全组规则允许 ping 时,通常是允许 ICMP 协议,而不是指定端口。
关于弹性公网IP,我们这里其实用不到,易名为我们这里使用私网进行通信。但是如果你的其它应用需要的话可以选择现在购买。
点击"下一步:高级配置":
在高级配置页面中,设置ECS实例的名称、描述,以及密码等信息,完成后点击:"下一步,确认配置":
等待实例创建完成。最终我们先后创建了以下两台ECS实例:
这里我们可以看到两台ECS实例主机的私网IP(测试VPC是否打通需要使用私网通信)。
显然,10.0.0.26和192.168.0.51这是两个类型的私网地址。现在我们登录10.0.0.26这台,点击对应的"远程登录"后,在弹窗中滚动到底部点击"立即登录"::
输入密码后完成登录,并在其中Ping位于对等连接的另一个VPC中的实例私网IP(我这里是192.168.0.51)
可见两个VPC之间是可以成功连接的。同样的方式,还可以在192.168.0.51中Ping通10.0.0.26,读者可以自行尝试。
[7. 总结](#7. 总结)
本文详细介绍了华为云虚拟私有云(VPC )的概念、创建过程以及相关的网络安全配置。我们探讨了VPC 的基本结构,包括子网设置、IP 地址分配等核心要素。同时,我们还深入讲解了安全组和网络ACL 的配置方法,这些都是保障VPC 网络安全的重要手段。此外,文章还介绍了VPC 对等连接的概念和创建流程,并通过实际操作验证了不同VPC间的通信。
通过本文的学习,读者应该能够掌握在华为云平台上创建和管理VPC 的基本技能。这些知识对于构建安全、高效的云端网络环境至关重要,能够帮助用户更好地规划和部署云上资源,为企业的数字化转型提供有力支持。随着云计算技术的不断发展,深入理解和灵活运用VPC将成为云网络管理的核心竞争力之一。