vpc网络是什么意思(分享VPC的重要概念)
什么是VPC?
VPC,是Virtual Private cloud英文缩写,中文的意思是虚拟私有云,最早是云计算鼻祖AWS提出来的,后来的云服务商都沿用了VPC的术语。
我们可以把一个VPC,看成是现实世界物理局域网网络能力的虚拟化,物理局域网具备的边界路由器、防火墙、内部交换机,子网,ACL,自动分配ip等组件,VPC都有。
VPC的隔离性
默认情况下VPC与VPC之间是逻辑上的隔离,注意不是物理隔离。
天翼公有云的计算独享型、计算存储独享型专属云产品,虽然计算/存储是物理隔离的,但与其它租户之间的隔离依然是通过VPC实现,也就是说,与公有云的其他租户之间实现不了真正的物理隔离。
去年遇到一个项目,客户需要在云上部署内网应用与互联网应用,要求两者之间物理隔离,省里给出的方案是:分别创建部署内网应用和互联网应用的VPC,两者之间使用物理网闸设备实现物理隔离和数据摆渡。
但是因为VPC之间本质是逻辑隔离的,即使用了物理网闸,可以通过对等连接(Peering)技术路由打通,绕过了物理网闸实现互通,也就达不到物理隔离的效果。等我介入到这个项目的时候,网闸已经上架加电了,尽管我好说歹说,但最终放弃使用网闸的原因,还是因为客户担心应用过网闸会影响到整体的访问性能。
VPC对等连接
默认情况下VPC与VPC之间是不通的,但有些情况下,我们需要VPC之间互相通信。好比两个大楼有各自独立的局域网,通过楼间光缆将原本独立的局域网互通,同样,我们可以采用对等连接的功能(Peering connection),来实现VPC之间的相互通信。
VPC之间的互通既可以是同一租户内的VPC,也可以是不同租户之间的。下面我们看来一下对等连接的原理:
在公有云场景下,每个CNA节点(host节点),都会有分布式vRouter集群(DVR),通过VxLAN网络,形成一个巨大的分布式vRouter集群。
当我们需要实现两个VPC路由打通时,我们需要更新对应router实例的流表,就能实现通信,
VPC的基础能力
1、子网(Subnet)
一个VPC可以划分为多个subnet,默认情况下,同一VPC内的所有子网内的主机均可以通信。
子网之间如果想要实现访问控制,需要用到ACL技术。
2、安全组(Security Group)
我们通过安全组创建规则(rule)来实现主机实例层面的访问控制,也就是说可以实现同一VPC内不同子网之间的云主机互相访问。
注意安全组不能跨VPC。
3、访问控制列表(ACL)
如果我们希望实现子网级别的访问控制,能够控制进、出一个或多个子网的流量,就需要访问控制列表ACL技术。
比如MySQL数据库所在的子网,只允许面向应用放开TCP协议3306端口,就需要创建ACL并配置访问策略来实现。
注意,VPC之间通过对等连接打通后,可以通过ACL实现不同VPC的子网之间的访问控制。