您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

VPC是什么,VPC能做什么,VPC详解

时间:2019-12-19 15:39:01  来源:  作者:

VPC全称是Virtual Private Cloud,翻译成中文是虚拟私有云。但是在有些场合也被翻译成私有网络或者专有网络等。这里其实就有些让人迷惑,VPC究竟是指云还是网络?答案是,VPC即是一种云,也是一种网络模式,不过应该从服务和技术的角度分别来看。

虚拟私有云

首先从服务的角度来看,VPC指的是一种云(Cloud),这与它的字面意思相符。对于基础架构服务(IaaS),云就是指资源池。你或许听过公有云(Public Cloud),私有云(Private Cloud),混合云(Hybrid Cloud)。不过,VPC不属于这三种云中任一种。这是一种运行在公有云上,将一部分公有云资源为某个用户隔离出来,给这个用户私有使用的资源的集合。VPC是这么一种云,它由公有云管理,运行在公共资源上,但是保证每个用户之间的资源是隔离,用户在使用的时候不受其他用户的影响,感觉像是在使用自己的私有云一样。

从这种意义上看,VPC不是网络,我们可以对比VPC和它一个字面上相近的概念:VPN(Virtual Private Network)。VPN在公共的网络资源上虚拟隔离出一个个用户网络,例如IPsec VPN可以是在互联网上构建连接用户私有网络的隧道,MPLS VPN更是直接在运营商的PE设备上划分隔离的VRF给不同的用户。从提供服务的角度来,说如果VPC指的只是网络的话,那它跟VPN的概念是重复的。所以,从公有云所提供的服务来说,VPC应该理解成,向用户提供的隔离资源的集合。

VPC最早是由AWS在2009年提出[1],不过VPC的一些组成元素在其提出之前就已经存在。VPC只是将这些元素以私有云的视角重新包装了一下。在VPC之后,云主机只能使用VPC内部的对应的元素。从这个角度看,VPC更像是公有云服务商以打包的形式提供服务。

用户可以在公有云上创建一个或者多个VPC,每个部门一个VPC。对于需要连通的部门创建VPC连接。

站长百科:VPC是什么,VPC能做什么,VPC详解

 

同时,用户也可以通过VPN将自己内部的数据中心与公有云上的VPC连接,构成混合云。

站长百科:VPC是什么,VPC能做什么,VPC详解

 

不论哪种用例,VPC都以更加直观形象让用户来设计如何在公有云上存放自己的数据。

VPC硬件租用模式

VPC硬件租用模式(Hardware Tenancy)本身也是公有云提供的一种服务模式。VPC的硬件租用模式有两种,一种是共享(shared),一种是专属(dedicated)。共享是指VPC中的虚拟机运行在共享的硬件资源上,不同VPC中的虚拟机通过VPC进行隔离。专属是指VPC中的虚拟机运行在专属的硬件资源上,不同VPC中的虚拟机在物理上就是隔离的,同时VPC帮助实现网络上的隔离。专属模式相当于用户直接向公有云服务商租用物理主机。专属模式适合那些对于数据安全比较敏感的用户,不过这些物理主机还是由公有云服务商管理。

不论是共享模式还是专属模式,VPC都运行在公有云资源上,由公有云服务商管理。

专有网络

从技术角度来看,VPC是用户专属的一个二层网络。

经典网络 VS VPC

AWS的网络产品,在VPC之前称为EC2-Classic。去年的一个热点文章《关于阿里云的经典网络问题》说的就是这两种网络模式:Classic和VPC。他们之间最核心的区别是:经典网络提供的是多用户共享的网络,而VPC提供的是用户专属的网络。

这里的网络就是指二层网络,经典网络模型本身有很多问题,其中最大的问题就是安全问题。除非加了特定的防火墙规则去拦截,二层网络内的所有设备默认是可以通信的。这就好比大家都挤在一个房间里,彼此的隐私很难保障一样。稍有不慎,云主机就可能被同网络的其他用户恶意攻击。而VPC能够为每个用户一个专属独立的二层网络。这样相当于给每个用户分了个房间,用户的隐私更容易得到保障。就算有恶意攻击,一般也要走到网关或者VPN设备,在这些集中的设备上,网络流量更可控。

由于每个用户都有专属的二层网络,那说明VPC模式下的可用二层网络的数量是远超经典模式的。虽然各家都没有公布自己的实现细节,但是这里有点类似VXLAN和VLAN的关系。VXLAN可以有1600万个二层网络,VLAN只有4000多个二层网络。公有云与私有云的区别在于用户数量巨大。如果采用VLAN,每个用户一个二层网络,那最多只能带4000多个用户,公有云许多用户还是只有1-2个云主机那种,那必然不能满足公有云的需求,所以在早期的经典网络模式下,不得不让多个用户挤在一个网络里面。而如果采用VXLAN之类的技术,则可以保证在一个region里面为1600万个用户每人分到一个二层网络。

因为VPC是一个用户专属的网络,用户可以任意定义VPC内云主机的IP地址。二层隔离了,IP地址想怎么玩就怎么玩。而在经典网络模式下,大家挤在一个二层网络里面,IP地址首先要保证不要重合,这对用户和服务商来说都不是一件心情愉快的事情。

VPC的网络Overlay

从AWS公布的资料[2] 看,VPC的数据封装与VXLAN这类网络Overlay技术也很像。从下图可以看出,桔色的VPC中,10.0.0.2发往10.0.0.3的网络数据,最终被封装成主机之间的通信报文。

站长百科:VPC是什么,VPC能做什么,VPC详解

 

原始的二层帧,被VPC标签封装,之后封装在另一个IP报文里面。这与VXLAN的封装方式可以说是一模一样。不过需要澄清的是,AWS在2010年就已经开始应用VPC,而VXLAN标准是2014年[3]才终稿。AWS的VPC或许和VXLAN不一样,但是按照VXLAN理解VPC的overlay会更容易些。

站长百科:VPC是什么,VPC能做什么,VPC详解

 

VPC使用网络Overlay之后,可以构建一个L3之上的L2。这样一个VPC内的虚机,可以任意的在数据中心分布。实际中云主机肯定不是任意分布的,会有一些主机的调度优化算法,但是至少,网络不会成为限制云主机部署的因素。举个反例,如果使用VLAN,虚机必须部署在支持相应VLAN的设备上,哪怕这个设备已经接近饱和,而其他的设备却是空置的。如下图,因为左边的机架不支持相应的网络,对应的云主机只能往右边的机架塞,直到塞满。而同时,左边的机架负载还不到50%。

站长百科:VPC是什么,VPC能做什么,VPC详解

 

Overlay使得VPC不再受网络硬件的限制,VPC内的云主机可以部署在整个机房。

VPC与SDN

AWS在2017年提出,VPC是构建在软件(代码)之上,VPC就是SDN[4]。我们前面说过,VPC是一个二层网络,是一个构建在L3之上的L2 Overlay网络。这里说VPC就是SDN,实际上是指,VPC受SDN所控制。AWS的VPC依靠一个叫MApping Service的组件工作。当虚机之间要通信的时候,请求先发到Mapping Service,再由它找到目的虚机对应的信息(例如目的虚机所在的主机IP地址),Mapping Service用对应的信息,封装成Overlay数据(类似于封装成VXLAN数据),再进行传输。

如果是一个三层通信,传统上是要发到网关,由网关转发到目的虚机。而对于AWS的VPC,Mapping Service同样也会完成三层通信的信息查找,数据封装。这样连路由器都省了。

站长百科:VPC是什么,VPC能做什么,VPC详解

 

这里的Mapping Service,与SDN控制器的作用可以说是一样的。SDN控制器掌握了所有的网络信息,当需要进行二层,三层通信时,SDN控制器会根据网络数据包下发OpenFlow流表,使得虚机之间直接通信。

如果说Mapping Service是SDN控制器,那么更具体点,它还是一个分布式SDN控制器,因为每个主机上都有一个Mapping Service的缓存。通过这种分布式,可以实现高速运算处理。

站长百科:VPC是什么,VPC能做什么,VPC详解

 

VPC相关的网络资源

VPC虽然指的是专有网络,但是跟网络配套的资源有很多,这些网络资源都是以VPC为单位来划分。也就是说,定义在一个VPC内的网络资源,只能被这个VPC内的虚机所使用。这在前面讲服务的时候提到过。这些资源[5]可以概括如下:

站长百科:VPC是什么,VPC能做什么,VPC详解

 

Security Group, Subnet, Network ACL, Routing Table, Router,这些都是老生常谈了。以VPC为单位来划分这些资源,可以更好的突出私有的感觉。但是实际上这些资源大多是虚拟的,每个用户占有一份也不会增加公有云运营商的成本。

需要注意的是,VPC尽管是一个二层网络,但是AWS仍然是通过路由器连接一个VPC下的两个Subnet。

VPC Edge device

前面讲服务的时候说过,VPC从服务的角度来看是虚拟私有云,表示的公有云运营商提供给用户的隔离资源的集合。它相当于是漂浮在公有云上的孤岛。真正让VPC变得强大的是它各式各样的连接技术。AWS提供了一个Edge设备(Blackfoot Edge Device),VPC通过这个Edge设备可以:

  1. 与别的VPC相连
  2. 与互联网相连
  3. 与用户的私有云建立VPN连接。
  4. 与AWS的其他服务建立连接。
站长百科:VPC是什么,VPC能做什么,VPC详解

 

这才是公有云服务商在构建VPC网络时,真正的竞争力所在。有了这样的Edge设备,VPC不再是孤岛,而是有了连接其他陆地的桥梁。这里的Edge设备,可以看成是VNF,AWS需要用户在VPC内部手动配置路由来引流到这个Edge设备。

最后

不论是对用户还是公有云服务商,VPC都是一个更好的选择。对于用户来说,首先可以任意定义VPC内的IP地址。其次VPC像是一个容器,装载着所有的云主机,同时又与其他的VPC隔离。第三,用户还可以用各种连接服务(VPN,NAT等)将VPC与现有的网络连接起来。这样对用户来说,既保证了网络隔离,又能提供按需的网络连通。对公有云服务商来说,VPC实际上就是SDN在公有云的应用。软件可控,Overlay使得服务商的硬件利用率提高,对硬件厂商的依赖程度降低。在这个基础上,公有云服务商还能够提供更好的网络服务。



Tags:VPC   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
概述谷歌云使用先进的 Andromeda 网络来实现 VPC 内实例之间的相互访问,以及 Google Kubernetes Engine (GKE) 的 Pod 的跨节点互访,避免了配置静态路由或者 Overlay 网络带来...【详细内容】
2021-08-20  Tags: VPC  点击:(103)  评论:(0)  加入收藏
未画出Router和交换机前言2020年疫情爆发以来,带来了远程办公及相关产品的强势增长势头,云似乎在2020年疯狂的增长,以往持观望态度的企业也纷纷上云,作为IT工作者的我们,势必要了...【详细内容】
2020-09-17  Tags: VPC  点击:(1343)  评论:(0)  加入收藏
VPC全称是Virtual Private Cloud,翻译成中文是虚拟私有云。但是在有些场合也被翻译成私有网络或者专有网络等。这里其实就有些让人迷惑,VPC究竟是指云还是网络?答案是,VPC即是一...【详细内容】
2019-12-19  Tags: VPC  点击:(212)  评论:(0)  加入收藏
▌简易百科推荐
阿里云镜像源地址及安装网站地址https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b111kK44P更新源之前把之前的国外的镜像先备份一下 切换到yumcd...【详细内容】
2021-12-27  干程序那些事    Tags:CentOS7镜像   点击:(1)  评论:(0)  加入收藏
前言在实现TCP长连接功能中,客户端断线重连是一个很常见的问题,当我们使用netty实现断线重连时,是否考虑过如下几个问题: 如何监听到客户端和服务端连接断开 ? 如何实现断线后重...【详细内容】
2021-12-24  程序猿阿嘴  CSDN  Tags:Netty   点击:(12)  评论:(0)  加入收藏
一. 配置yum源在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repovim /etc/yum.repos.d/google-chrome.repo按i进入编辑模式写入如下内容:[google-chrome]name=googl...【详细内容】
2021-12-23  有云转晴    Tags:chrome   点击:(7)  评论:(0)  加入收藏
一. HTTP gzip压缩,概述 request header中声明Accept-Encoding : gzip,告知服务器客户端接受gzip的数据 response body,同时加入以下header:Content-Encoding: gzip:表明bo...【详细内容】
2021-12-22  java乐园    Tags:gzip压缩   点击:(9)  评论:(0)  加入收藏
yum -y install gcc automake autoconf libtool makeadduser testpasswd testmkdir /tmp/exploitln -s /usr/bin/ping /tmp/exploit/targetexec 3< /tmp/exploit/targetls -...【详细内容】
2021-12-22  SofM    Tags:Centos7   点击:(7)  评论:(0)  加入收藏
Windows操作系统和Linux操作系统有何区别?Windows操作系统:需支付版权费用,(华为云已购买正版版权,在华为云购买云服务器的用户安装系统时无需额外付费),界面化的操作系统对用户使...【详细内容】
2021-12-21  卷毛琴姨    Tags:云服务器   点击:(6)  评论:(0)  加入收藏
参考资料:Hive3.1.2安装指南_厦大数据库实验室博客Hive学习(一) 安装 环境:CentOS 7 + Hadoop3.2 + Hive3.1 - 一个人、一座城 - 博客园1.安装hive1.1下载地址hive镜像路径 ht...【详细内容】
2021-12-20  zebra-08    Tags:Hive   点击:(9)  评论:(0)  加入收藏
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。1、设置复杂密码服务器设置大写、小写、特殊字符、数字...【详细内容】
2021-12-20  网安人    Tags:服务器   点击:(7)  评论:(0)  加入收藏
项目中,遇到了一个问题,就是PDF等文档不能够在线预览,预览时会报错。错误描述浏览器的console中,显示如下错误:nginx代理服务报Mixed Content: The page at ******** was loaded...【详细内容】
2021-12-17  mdong    Tags:Nginx   点击:(7)  评论:(0)  加入收藏
转自: https://kermsite.com/p/wt-ssh/由于格式问题,部分链接、表格可能会失效,若失效请访问原文密码登录 以及 通过密钥实现免密码登录Dec 15, 2021阅读时长: 6 分钟简介Windo...【详细内容】
2021-12-17  LaLiLi    Tags:SSH连接   点击:(16)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条