云上虚拟网络是指在云计算环境中构建的虚拟网络架构。它允许用户在云服务提供商的基础设施上创建和管理自己的网络环境。这种网络环境模拟了传统的物理网络,但完全在软件层面上实现,具有高度的灵活性和可扩展性。以下是云上虚拟网络的一些关键特点:
1.虚拟专用网络(VPN):用户可以通过VPN连接到云上虚拟网络,实现远程访问和数据传输。
2.软件定义网络(SDN):通过软件定义网络技术,用户可以编程控制网络流量和策略,而不需要改变物理硬件。
3.网络隔离:在云环境中,不同的虚拟网络可以相互隔离,确保数据安全和网络性能。
4.弹性扩展:根据业务需求,用户可以灵活地增加或减少网络资源,如带宽、IP地址等。
5.多租户环境:云服务提供商的基础设施通常服务于多个客户,虚拟网络技术确保了不同客户之间的网络环境相互独立。
6. 集成服务:云上虚拟网络支持自动化部署和管理,简化了网络配置和维护工作。云上虚拟网络可以与云服务提供商的其他服务(如计算、存储、数据库等)集成,提供一站式的解决方案。与传统的物理网络相比,云上虚拟网络可以降低成本,因为它减少了对物理硬件的依赖。
云上虚拟网络是云计算技术的一个重要组成部分,它为企业提供了一个灵活、可扩展且成本效益高的网络解决方案。(1)VPC:专有网络,云上用户自定义的私有网络。(2)vSwitch:交换机,组成专有网络的基础网络设备,交换机可以连接不同的云资源,在专有网络内创建云资源时,必须指定云资源所在连接的交换机。(3)vRouter:路由器,作为专有网络的枢纽,可以连接vpc的各个交换机,同时也是连接专有网络与其他网络的网关设备;路由器根据路由条目转发网络流量。(4)RouterTable:路由表,路由器上管理路由条目的列表。(5)RouterEntry:路由条目,定义了通向指定目标网段的网络流量的下一跳地址。路由条目包括系统路由和自定义路由两种类型。
1、VPC:用户私有网络
VPC(Virtual Private Cloud)的正规叫法是“虚拟私有云”,但更多被人们称为“虚拟私有网络”或“虚拟网络”。 VPC给了用户一个完整独占的网络(Network),然后在这个网络上,用户创建子网、VM、存储等虚拟资源,才形成一个私有的1云。不同的VPC在网络上是完全隔离的,他们可以使用同样的IP段,而不用担心IP冲突的问题。
一朵云里可以有若干个Region,不同Region的物理资源(计算、存储、网络)是完全独立和不共享的。 一个Region里面可以创建多个VPC。一个VPC内又可创建多个子网(Subnet)。一个子网内,可以有多个虚机(VM)。
2、子网:虚机的栖息地
子网(Subnet)独占VPC中的一个IP地址段,和同一VPC中其他子网不共享。
虚机(VM)总是位于某个子网,并从中获得IP地址。一个子网内的多个VM可以分布在多台宿主机上。
创建子网很简单,选择所在的“
可用区
”,定义IP段(即CIDR)和网关地址就可以了。
创建子网
这里面又出现一个新概念:
可用区
,这就是人们常说的(Available Zone)。
一个子网内的不同虚机,可以在一个AZ中,也可以在不同的AZ中。
Region、AZ、VPC、Subnet的关系
子网内的VM缺省是可以互相通信的,原因是它们都接在
虚拟交换机
()上。
VPC、子网、vSwitch和VM的简单逻辑关系示意如下:
VPC、子网、vSwitch及VM
vSwitch是由(Open vSwitch)技术实现的,OVS是分布式技术,分布在多台宿主机上。
OVS提供分布式虚拟交换机功能
子网内部的通信就是二层通信,如果要和子网外部通信,就需要
虚拟路由器
3、虚拟路由器:子网和外部通信的途径
在同一子网内的VM,都是在二层通信的。当子网内VM需要访问其他子网(同一VPC或是不同VPC)的VM,或者访问外部网络,就需要三层互通。 创建子网时要填的那个“网关地址”吧,“网关地址”就是vRouter的一个接口地址。
创建VPC时,云平台会自动给你一个,不用专门去创建这个。
VPC由于是虚拟私有网,所以VPC之间天生就是互相隔离的,想让两个VPC互通,需要在它们之间建立“
对等连接
”,然后就能互通了。当然,前提是两个VPC的地址空间没有重叠。
比如在某平台,建立“
对等连接
”,选择要互通的VPC即可;
虚拟路由器示意
4、网络ACL和安全组:云原生的安全控制
云网络内置了两种比较简单灵活的安全控制方法,一种是针对子网的
网络ACL
,一种是针对虚机的
安全组
。两者的控制位置和方法略有不同,可以组合使用。
比如可以对某子网建立如下
网络ACL
规则,拒绝所有对TCP 445端口的入站访问,没有任何流量可以访问该子网内任一VM的TCP 445端口。
网络ACL
位于路由器和子网之间。
网络ACL的逻辑示意图
另一种隔离机制是
安全组
。
用户可以建多个安全组,每个VM可以选择划入多个安全组,然后该VM就受这些安全组策略的保护了。
将某VM实例绑定到某安全组上
安全组
(
Security Groups
)可以指定具体的入向和出向流量规则,如下图所示。
新建安全组规则
一个安全组里的VM,可以不在一个子网里,也可以不在一个VPC中,如下图所示。
安全组逻辑示意
简单地说,网络ACL是针对子网的,安全组是针对虚机的。 安全组以前多使用Linux bridge中的iptables实现,现在多使用OVS的流表技术实现。
5、微隔离:更精细更通用的隔离
微隔离
(Micro-Segmentation)是更细粒度的网络隔离技术,能够对物理机、虚拟机、容器之间流量进行隔离。它的原理是安装agent,然后通过主机防火墙(如iptables)进行控制。对于物理机和虚拟机,这很容易做到,对于容器,agent以k8s网络插件的形式出现,实现对各容器的网络转发和控制。
微隔离主要分为策略控制中心和策略执行单元,前者是大脑,下发策略,后者执行策略。前者实现可视化和集中管理能力,按角色、业务功能等多维度的标签对需要隔离对象进行分组,后者执行流量监测和隔离。 微隔离并不是云厂商提供的服务,通常是第三方实现的。
6、vFW和vLB:虚拟防火墙和虚拟负载均衡
网络ACL是针对子网的保护;vFW是针对VPC的保护,保护的层面不一样。
而且,专业性不同。网络ACL是无状态的,不能跟踪网络协议的状态,仅仅用于放行或拦截IP/端口,不能做到比较高级和专业的应用层防护。而vFW可以做到和传统防火墙一样强大的功能。
vFW通常是用虚机实现的,出于性能考虑,可以用硬件防火墙替代vFW,将硬件下挂在VxLAN网关下使用。
下图是在云内创建vLB的图示:
vLB的创建示例
增加vFW和vLB后,云网络的示意图为:
增加vFW和vLB后的VPC逻辑示意
7、网关:通往外部世界
网关
()可以实现子网和外部网络的连接。
网关有多种,比如NAT网关、互联网网关、专线网关、VPN网关等。
NAT网关
() 用于没有公共IP的VM访问互联网,
互联网网关
() 用于有公共 IP 的VM访问互联网。
以NAT网关为例,用户在控制台创建“NAT网关”并给网关绑定一个(
弹性公网IP
),然后,做一下NAT设置,就可以让子网内的VM连接互联网了。
NAT网关实例
8、云连接:把云网络和企业DC连起来
云连接
(Cloud Connect)不仅提供跨Region的VPC连接,更提供云上和云下的连接,比如公有云和企业DC的连接。
常见的云连接有两种形式:、
云专线
(Direct Connect);前者走互联网,后者走物理专线;前者通过VPN网关,后者通过专线网关。
企业如果有私有云,可以通过云连接,让公有云和私有云打通形成混合云。
下图是本文所介绍网络组件的集合图示。
含云连接的云网络示意图
其中,Region1和Region2通过云专线建立连接;Region1通过云专线,Region2通过VPN,和企业的DC建立连接。
在进行VPC(Virtual Private Cloud)的规划设计时,最佳实践的建议如下:
1.确定VPC的数量:如果没有多地域部署系统的要求,并且各个系统之间不需要通过VPC进行隔离,推荐使用一个VPC。如果需要多地域部署或者需要对不同业务系统进行严格隔离(例如生产环境和测试环境),则需要使用多个VPC。
2.虚拟交换机(VSwitch)的使用:即使只使用一个VPC,也建议至少使用两个虚拟交换机,并且这两个虚拟交换机应该分布在不同的可用区,以实现跨可用区的容灾。
3.网段的选择:在选择网段时,需要考虑是否需要与线下IDC互通或者是否需要多个VPC。阿里云默认提供了三个标准私网网段供用户选择,建议使用这些标准网段的子网作为VPC的网段,掩码建议不超过/16。如果VPC和线下IDC需要互通,需要规划不同的网段以避免冲突。
4.多VPC和IDC互通的网段规划:如果云上存在多个VPC并且需要和云下IDC互通,需要规划不同的网段以确保地址不冲突。尽量做到不同VPC的网段不同,如果做不到,则保证不同VPC的虚拟交换机网段不同,如果还做不到,则保证要通信的虚拟交换机网段不同。
5.安全性最佳实践:在VPC中添加子网时,应在多个可用区中创建子网以提供高可用性。使用安全组和网络ACL来控制流量。利用IAM来管理对VPC中资源的访问。使用VPC流日志监控IP流量,并使用网络访问分析器和AWS Network Firewall来保护VPC。
6.性能优化:在设计VPC时,应考虑到网络性能的需求,合理规划网段和子网,以确保网络通信的效率和低延迟。
7.管理和监控:定期检查VPC的配置和性能,使用云服务商提供的工具进行监控和日志记录,以便及时发现和解决网络问题。
8.遵守云服务商的最佳实践:不同的云服务商可能会有自己的最佳实践指南,应根据所使用的云服务提供商的指南进行VPC的规划和设计。
通过遵循这些最佳实践,可以确保VPC的安全性、高可用性和性能,同时也能够满足业务需求和未来的扩展性。
参考链接:1. 公有云相关概念——region和AZ、VPC、安全组、公有云网络架构一文搞懂AWS Region, VPC, VPC endpoint,AZ, Subnet 基础篇上浅谈VPC二三,秒懂秒透云产品相关网络概念学习Regison/AZ/VPC这些基本概念都不懂,还谈什么你会VXLAN?数据中心——Vxlan基本概念2我非要捅穿这 NeutronOpenStack Neutron实现网络虚拟化Neutron的VLAN实现模型OpenStack 安全组原理详解Linux VXLANOpenStack入门篇之VXLAN原理深度好文:vxlan介绍OpenStack OVS实现安全组(五)数据中心网络架构浅谈(三)网络ACL简介一文看懂Amazon EKS中的网络规划