导读:虚拟私有云(VPC)是一个公共云计算资源的动态配置池,需要使用加密协议、隧道协议和其他安全程序,在民营企业和云服务提供商之间传输数据。一个VPC基本上把提供商的多租户架构变成单租户架构。

   虚拟私有云在概念上类似于虚拟专用网(VPN)。一个VPN可以被用来在公共网,比如互联网上通过专用隧道发送数据,该隧道不能输入未适当加密的数据。安全的附加级别既包括对数据进行加密,也包括对产生和接收网络地址进行加密。

VPC工作流程如下:首先为VPC创建并分配一个IP模块,然后VPC被分成多个(超过20需要申请)子网。 然后在网关和IPSec路由器之间建立VPN连接。这样网站流量就可以通过,IP模块就可以作用于VPN连接。一旦VPN有了IP模块,任何AWS资源都会受到企业防火墙和路由规则的约束。

VPN的意义

VPN属于远程访问技术,简单地说就是利用公网链路架设私有网络。例如公司员工出差到外地,他想访问企业内网的服务器资源,这种访问就属于远程访问。怎么才能让外地员工访问到内网资源呢?VPN的解决方法是在内网中架设一台VPN服务器,VPN服务器有两块网卡,一块连接内网,一块连接公网。外地员工在当地连上互联网后,通过互联网找到VPN服务器,然后利用作为跳板进入企业内网。为了保证数据安全,VPN服务器和客户机之间的通讯数据都进行了加密处理。有了数据加密,就可以认为数据是在一条专用的数据链路上进行安全传输,就如同专门架设了一个专用网络一样。但实际上VPN使用的是互联网上的公用链路,因此只能称为虚拟专用网。即:VPN实质上就是利用加密技术在公网上封装出一个数据通讯隧道。有了VPN技术,用户无论是在外地出差还是在家中办公,只要能上互联网就能利用VPN非常方便地访问内网资源,这就是为什么VPN在企业中应用得如此广泛。

title

按VPN的协议分类

VPN的隧道协议主要有三种,PPTP,L2TP和IPSec,其中PPTP和L2TP协议工作在OSI模型的第二层,又称为二层隧道协议;IPSec是第三层隧道协议,也是最常见的协议。L2TP和IPSec配合使用是目前性能最好,应用最广泛的一种。

title

简单的说,虚拟私有云计算(VPC)之于公共云计算有如虚拟私有网络(Virtual Private Network, VPN)之于公共网络。但是因为云计算引发的疑问(和困惑)似乎远多于网络,上述类比稍嫌粗糙。我们可以认为网络扮演了一个“管道”的角色,加密后的数据仍然可以通过“管道”有效传输。因此我们可以用密码学的方法在公共网络中实现VPN(当然还要结合身份认证技术)。然而对于云计算来说,仅仅依赖加密解密和身份认证技术并不能在公共的“云”中虚拟一片私有的“云”或VPC。云服务中的处理器只能对以明文形式存在的代码和数据进行计算,加密的东西只能是在网络上或磁盘中。在内存中的内容不能是密文。
    真正的VPC需要对云服务提供者的内存储器和CPU的寄存器作一种非加密方式的保护,使得租客的代码和数据在云服务提供者的内存和CPU的寄存器中以明文形式被处理时仍然得到私密性及完整性的保护,避免被其它租客或服务提供者窃取。现有很多努力针对这个问题,比如大家所熟知的基于虚拟机实现的不同虚拟机之间的隔离技术。然而VPC还存在其它更深层的问题。其中的首要问题就是这些技术是否能够与现有的商用操作系统(所谓商用现货技术,Commercial Off The Shelf, COTS)一起工作。大家所熟知的不同虚拟机之间的隔离技术并不能和商用操作系统有效结合,原因是虚拟机中的商用客户操作系统正是最大的安全隐患:大量的黑客技术正是通过商用操作系统来存在的漏洞来攻击它所服务的应用程序。所以我们需要更细粒度的隔离机制:将商用操作系统与应用程序的代码和数据隔离开来。从上述讨论中,你也许感受到了我对服务提供者强烈的不信任。的确,这正是要讨论的第二个问题。事实上,既然VPC虚拟私有云计算相比公共云计算提供更多的增值服务,那考虑服务提供商的安全隐患并加以防护就是题中应有之意。处理这种场景的一个已知并且现实的技术就是可信计算。到此为止,我大概已经从两千英尺的高度对虚拟私有云计算或VPC做了一番描述。

介绍一下亚马逊的一项特色服务VPC(Virtual Private Cloud),即虚拟云端局域网,我觉得还是不直译为虚拟私有云好些,毕竟服务是构建在公有云平台上,按照其用途来说,它就是相当于一个云端的局域网,官方网站介绍如下:

Amazon Virtual Private Cloud (Amazon VPC) 允许您在 Amazon Web Services (AWS) 云中预配置出一个采用逻辑隔离的部分,让您在自己定义的虚拟网络中启动 AWS 资源。您可以完全掌控您的虚拟联网环境,包括选择自有的 IP 地址范围、创建子网,以及配置路由表和网关。

您可以轻松自定义 Amazon VPC 的网络配置。例如,您可以为可访问 Internet 的 Web 服务器创建公有子网,而将数据库或应用程序服务器等后端系统放在不能访问 Internet 的私有子网中。您可以利用安全组和网络访问控制列表等多种安全层,帮助对各个子网中 Amazon EC2 实例的访问进行控制。

此外,您也可以在公司数据中心和 VPC 之间创建硬件虚拟专用网络 (VPN) 连接,将 AWS 云用作公司数据中心的扩展。

在使用VPC之前,我们创建的服务器实例都是直接暴露在公网上的,从安全的角度考虑还是不太妥当。

使用VPC后,所有服务器实例都是处于局域网环境,只将有外部访问请求的服务器设置公网IP,这样就减小了安全隐患。并且云端局域网和本地公司的局域网可以通过站点到站点VPN连接,用户直接通过私有IP便可以直接访问,非常方便。


VPC的连接分类有如下4种,

  • 直接连接 Internet(公有子网) – 您可以将实例推送到公开访问的子网中,它们可在其中发送和接收与 Internet 之间的通信。

135246445.jpg

  • 通过网络地址转换连接 Internet(私有子网) – 私有子网可用于您不希望能直接从 Internet 寻址的实例。私有子网中的实例可以通过公有子网中的网络地址转换 (NAT) 实例路由其流量,从而访问 Internet 而不暴露其私有IP地址。

135315447.jpg

  • 安全地连接公司数据中心 – 进出 VPC 中实例的流量可以通过行业标准的加密 IPsec 硬件 VPN 连接路由到您的公司数据中心。

135357434.jpg

  • 通过组合连接方式满足应用程序需求 – 您可以将 VPC 同时与 Internet 和公司数据中心连接,并配置 Amazon VPC 路由表将所有流量定向到其正确的目的地。

135416326.jpg

目前公司用到的VPC连接就是采用第四种方式,规划了2个子网段,一个公共子网10.0.40.0/24,和一个私有子网10.0.41.0/24,公共子网采用NAT方式将服务器暴露在公网上面,而私有子网内的服务器仅具有内部IP,并且这2个子网段都通过VPN连接到本地公司局域网。我们在新建EC2服务器实例时就可以选择将其放置在VPC网段里,可以手动指定私有IP也可以由DHCP自动分配,针对有外部访问请求的服务器可以设定固定公网IP(Elastic IP),并且对VPC设定好相关的安全访问策略,这样本地可以直接通过私有IP和SSH Key访问到云端的服务器。

 

 

 

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐