一直以来,青云QingCloud 致力于为企业用户提供完善、灵活和高性能的 络功能,并不遗余力地向云计算用户普及 络隔离的重要性。很高兴看到近期 VPC 成为整个业界关注热点,我们也借此机会再次全面地介绍一下青云QingCloud 的 络设计理念与实践历程。
为什么要做 VPC?
IT 业务,安全第一
“QingCloud 利用 SDN(软件定义 络)技术实现了路由器和交换机的功能,并且与其它 络 100% 隔离开来。”
——摘自 36Kr 道,2013 年 7 月 23 日
VPC 的概念最早出自 AWS,允许用户在云平台上定义专属的三层 络。特别是在公有云上面,VPC 作为解决多租户隔离的最佳方案,已经成为合格公有云的一个标准。
QingCloud 公有云从一开始便定位为企业级云服务,而完备的 络功能与 100% 的二层隔离是『企业级』的基本门槛。因此 QingCloud 公有云在通过 SDN 实现了具备 VPC 的专属 络特性的私有 络和路由器功能后才于 2013 年 7 月正式上线。从那时起,我们便在各种媒体采访、公开演讲和用户交流中宣传 络隔离的重要性。
在 2013 年 9 月的一篇评测文章中,专业博主 ShaunFang 是这样介绍 QingCloud 的 络的:
“神奇 2:支持完善的虚拟 络和 VPN,而且支持图形化设计……而这个功能实际上是企业用户十分看重的,有了这两项功能才能更安全的连接虚拟机,并将云端的虚拟机与企业已有的云之外的服务器对接。虚拟 络的意思,是允许用户自己规划 络拓扑,将虚拟机进行二层互联或者三层互联,同 络内虚拟机可以互访,而不同 络的虚拟机相互隔离。
VPN 是将远程 络安全接入云 络……用户可以自己定义路由器,交换机,然后将虚拟机与交换机进行互联,将交换机连入路由器。用户可以自己规划每个子 的 IP 地址,可以绑定公 地址。为什么说它神奇呢?是因为虚拟 络功能之前只有 AWS、Windows Azure 等少数厂商可以做到,而青云不仅做到了,还做了一个交互式界面,不得不赞叹下”
2016 年 1 月,升级后的 QingCloud VPC 在北京三区(PEK 3)推出,功能进一步完善的同时, 络容量和性能大幅提升。
QingCloud 从一开始就提倡客户使用 VPC,有以下几点原因:
不光是租户,包括业务之间,都需要按照业务的需求实现彻底隔离;
帮助客户更好地规划自己的 络,所有 络地址可以自己定义;
满足从中小规模到超大规模的复杂组 要求。
SDN 1.0 阶段的 QingCloud VPC
云上还原“物理 络”
我们通过私有 络的构建,让客户在青云QingCloud 上使用起来具有物理 络的功能与性能体验:提供路由器、交换机(在 QingCloud 叫做 VxNet),用户可以利用这些虚拟 络设备组件自己的专属 络,就像在物理世界使用物理硬件搭建 络环境一样,可以获得跟其他用户完全隔离的效果与充分的 络性能。
不仅仅是租户间的隔离
业界有不少厂商也通过其他方式解决租户间隔离的问题,但大多是以账户或租户为颗粒度进行隔离。但实际业务中,用户可能会面临更加复杂的场景,比如有供应商、集成商和自己的运维人员多种角色参与的不同业务之间也需要相应的隔离措施。因此最好的解决办法是使用多个VPC,以达到完全按业务区分的彻底隔离。
因此,QingCloud 公有云上线伊始便推出了私有 络的服务,并坚持不遗余力地宣传VPC的重要性,持续引导和帮助用户养成将使用VPC的习惯,包括在400电话和工单中不厌其烦地指导用户怎么做端口转发,怎么设置VPN接入。我们深知,保持租户间的隔离和用户的业务安全,是云服务的基本原则。截至目前,QingCloud 公有云中,超过80%的主机部署在 VPC 内。
有几个事件让我们印象深刻:
不久前爆发的一系列安全漏洞危机,如 MongoDB 和 ElasticSearch 的安全漏洞,对 QingCloud 用户并没有产生什么影响。一方面用户会将数据类的业务放在 VPC 中,另一方面青云提供的 PaaS 服务强制部署于 VPC 内;
很多用户甚至将原有数据中心里的开发测试、DMZ 区、核心业务区都原封不动的搬到了青云的公有云上来, 络规划和设计的工整令人惊叹,通过对 VPC 的灵活使用来平衡业务系统的安全性、独立性和连通性。
很多传统企业会主动找到青云来进行部署,进一步了解其主要原因就是因为 QingCloud VPC 的这种接近于物理 络部署的方式,和他们原本的规划方式更加类似,使用起来更加得心应手。
正是在青云QingCloud 不遗余力的倡导和宣传下,VPC 和『二层隔离』的理念被更多的云服务用户和云服务提供商所接受。
中国云计算领域的早期实践者陈沙克老师曾经在博客中评价说“如果说青云让中国 IaaS 发展,提前了至少 2 年,估计不会太过分。”(
http://www.chenshake.com/chat-albatron-qingcloud-contribution-to-the-iaas-china/)
SDN 2.0,自我突破,走在用户前面
虽然 QingCloud SDN 1.0 实现了 100% 的二层隔离和完整的 络功能,但是我们认为这还不够完美:
首先,虚拟路由器作为私有 络核心交换机,转发能力存在上限,最多只能支持 4 个虚拟交换机;
其次,弹性 IP 也需要通过虚拟路由器转发到主机,不能直接绑定到主机上面;
再次,负载均衡器需要通过路由器转发到主机,性能有上限。
这些问题的根源在于 SDN 1.0 的实现参考了物理 络的结构:三层核心交换机 + 二层接入交换机。
把这些功能以虚拟化的方式提供给用户时,继承了传统结构的不足,在超大规模下存在性能瓶颈。所以我们在设计 SDN 2.0 时,主要的设计目标是在继续保留绝对隔离的原则下,使新的 VPC 能够支持超大规模部署。
SDN 2.0 的架构改进
SDN 2.0 采用了全新的架构设计:
利用 DVR (分布式路由器) 代替原来的虚拟路由器和交换机。
同时 DVR 还能够提供 NAT 功能,让主机可以直接绑定弹性 IP, 代替传统架构的集中 NAT 关。
支持超大规模的集群。
负载均衡器集群通过跟 DVR 建立直连,与后端高效连接。
SDN 2.0 的能力提升
SDN 2.0 上线的时候,我们给路由器改了个名字,直接叫做 QingCloud VPC, 一方面是为了体现跟上一代产品的不同,另一方面是因为原来的虚拟路由器已经被 DVR 取代。
那么 QingCloud VPC 实现了怎样的能力呢?
规模
VPC 允许用户自定义专属私有 络,但不是所有 VPC(包括AWS)都可以让用户使用它定义的所有地址空间,通常在规模上都有一定限制。
我们始终认为,突破这样的限制,才能带给客户更多的想象力,作为云计算的用户,一个 VPC 能够承载的主机数量,无疑是一个重要的考量指标。
QingCloud VPC 最大可以创建 252 个私有 络(VxNet),每个私有 络中可创建 252 个主机,最大可以容纳 63504 个主机。
性能
QingCloud VPC 在北京三区开放初期,内 带宽是 1Gb/s,目前已经升级到 2Gb/s;
在 63504 台主机规模内,QingCloud VPC 可以保证性能不随规模的扩大而下降。
支持资源类型
QingCloud VPC 对私有云用户还可以提供容器主机;
QingCloud 所有 PaaS/编排服务都部署在 VPC 内,而且即将推出的 App Center 2.0,也支持 VPC。正是这个原因,VPC 是 QingCloud 用户的首选 络方案。
SDN 2.0 的丰富功能
除了解决规模和性能问题,QingCloud 还基于 SDN 2.0 实现了 VPC 功能的进一步丰富,将 络的灵活性提升到了一个新的水平。到目前为止,已经实现以下功能:
卡
QingCloud 在今年年初推出的 SDN 络直通(SDN Passthrough)功能,这个功能为 Docker 提供了一套简便高效的 络方案。在经典的『路由器/交换机/主机』三层结构里面, 我们增加了 卡这一层,让 VPC 跟物理 络更接近了一步,并提供了比物理 络更灵活的用法。
QingCloud VPC 支持每个主机可以连接 64 块 卡,每个 卡可以连接到任意的交换机,而且这些交换机可以属于任意的 VPC。
每个 卡可以绑定独立的防火墙、公 IP 和负载均衡器。这个模型跟 AWS 一致,不同的是青云主机支持 64 块 卡,而 AWS 仅支持 20 块。
IP
传统的 VPC 所基于的 络规则同步机制,由于同步信息依赖主机的 IP 地址,往往对主机使用的 IP 和数据传输方式有限制,并不支持 Virtual IP 和组播;
由于大部分业务集群都需要这两个功能来实现主备自动切换,QingCloud VPC 的设计目标之一就在实现 ARP 泛洪抑制的同时,支持 Virtual IP 和组播。在 QingCloud VPC 中可以跟物理 络一样,使用 Keepalived 部署高可用业务集群,并且可以在主机里面手动配置任何 IP 地址;
除了功能跟传统 络一致,管理也很便捷:创建主机时可以指定 IP 地址,创建后还可以修改 IP 地址,这些操作都是通过 DHCP 服务器自动下发, 而且 DHCP 的 段和 关均可以独立配置。
负载均衡器集群
基于 SDN 2.0 提供的 络平台,用户可以创建自己专属的负载均衡器集群,具有以下特点:
全球独有的 TCP/HTTP/HTTPS 全透明功能,后端可以直接获得客户端 IP 地址;
支持用户所有后端,只要 IP 地址不同,即使属于不同 VPC,也可以直接作为负载均衡器后端;
水平扩展负载能力,让集群出带宽和 HTTPS 卸载能力无限制;
集群节点基于容器技术,性能卓越;
通过 SDN 直通功能,直连运行在后端上的容器实例,与Docker对接方便快捷。
边界路由器
跟物理 络一样,私有 络通常需要一个边界路由器,作为和外部 络联通的桥梁。QingCloud 的边界路由器(官方文档里命名为管理路由器)提供了以下功能:
公 关。
公 端口转发。
基础 络 关。
VPN。
GRE/IPSec 隧道。
弹性 IP
弹性 IP 在绝大多数云平台里面,等同于公 IP,也就是通过集中的 NAT 关,将公 IP 地址转换为私 IP 地址,从而能够让 VPC 内部主机连接到公 。
而 QingCloud VPC 的每个节点都自带分布式的 NAT 关,使用起来高效而且灵活,不仅支持常见的绑定公 IP 功能,还支持绑定基础 络 IP。其作用是让 VPC 主机和基础 络主机、私有云物理机高效互通。
防火墙
防火墙在云平台上又叫安全组。VPC 主机绑定安全组之后,就能够通过配置规则,对 络流量进行过滤。
QingCloud VPC 主机的每个 卡 (不仅仅是每台主机,而是细分到每张 卡)都可以绑定自己独立的防火墙;
QingCloud VPC 自己也可以绑定防火墙,对边界路由器的 络流量进行过滤。
SPAN
为了帮助用户对被监控对象和流量进行故障定位、流量分析、流量备份和流量审计,QingCloud 还在新的 VPC 架构下提供 络流量镜像的功能。
用户可以通过自行定义,将自有的 络流量通过镜像的方式,完整地复制到目标 IP 地址;
加入 SPAN 的成员都会把 络流量按照 SPAN 定义的封装方式发送到目标地址;
SPAN 使用二层 GRE 隧道来封装和发送 文,因此在接收镜像流量的对端要能识别并解析 GRE 文。
以上是对青云QingCloud VPC 的一个全面介绍。后续我们会撰文为大家推荐 QingCloud 络的最佳实践。
– FIN –
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!