Azure Stack技术深入浅出系列1:如何更好地构建基于Azure Stack的混合云业务解决方案?

2017 年 8 月 21 日

源自 Azure 的 Azure stack 作为一款业界唯一的和领先的公有云平台一致的混合云平台,能够帮助企业客户从自有数据中心交付 Azure 云服务。它作为微软混合云战略中的重头戏,官方宣称其将在今年年中 GA 了。上海仪电集团高度重视这一产品,同时成立了一个专门的团队来跟踪最新的 Azure Stack 技术动态并积极推动 Azure Stack 在中国落地。在今后一段时间内容,我们将在过去一年间追踪 Azure Stack 的技术内容汇总为 Azure Stack 技术深入浅出系列文章分享给对微软混合云产品感兴趣的相关人员。

本篇文章作为 Azure Stack 技术深入浅出系列的第一篇,将描述我们目前在构建基于 Azure Stack 混合云业务解决方案方面所面临的网络连通困难,以及相关技术人员为解决这一问题所做出的努力及技术探索。

ExpressRouter+Site2Site VPN 混合云联通实验

微软 ExpressRoute 服务和 Site2Site VPN 服务介绍

ER: Azure ExpressRoute 可让你通过连接服务提供商(这里是上海电信)扩展到 Azure 云。使用 ER 可与 Azure 云服务建立连接。ER 连接不通过公共 Internet 。与通过 Internet 的典型连接相比,ExpressRoute 连接提供更高的可靠性、更快的速度、更低的延迟和更高的安全性。

详细的 ER 的介绍可以参考微软官网

S2S VPN: 是一种站点到站点通过 VPN 技术互联的 azure 服务。详细介绍可以参考微软官网

ER+S2S VPN 配置设计

站点到站点 VPN 做为 ExpressRoute 的故障转移路径

可以将站点到站点 VPN 连接配置为 ExpressRoute 的备份。这仅适用于链接到 Azure 专用对等路径的虚拟网络。对于可通过 Azure 公共线路访问的服务,没有基于 VPN 的故障转移解决方案。ExpressRoute 线路始终是主链接。仅当 ExpressRoute 线路失败时,数据才会流经站点到站点 VPN 路径。参见图二。

(点击放大图像)

图一. 将 S2S VPN 作为 ER 的故障转移路径

站点到站点 VPN 作为 ExpressRoute 的补充

可以对网络进行配置,使得部分站点通过站点到站点 VPN 直接连接到 Azure,部分站点通过 ExpressRoute 进行连接。参见图三。

(点击放大图像)

图二. 将 S2S VPN 作为 ER 的补充

ER+S2S VPN 混合云联通实验

仪电集团中央研究院的 ER+S2S VPN 混合云实验环境打通了仪电集团中央研究院的 Azure 公有云订阅和位于紫竹微软的私有云环境,详细的架构图及网络规划如下图一。(这里非常感谢微软 ER 团队的支持)

(点击放大图像)

图三. 仪电中央研究院混合云环境

Azure 公有云和私有云环境通过 ExpressRoute 和站点到站点 VPN 方式联通,这种联通方式可以将站点到站点 VPN 配置为 ExressRoute 的安全故障转移路径,实现高可用。或者使用站点到站点 VPN 连接到不是通过 ExpressRoute 进行连接的站点,承载一些对网络延时不敏感的流量。

混合云实验环境网络拓扑

ExpressRoute 架构

Azure ExpressRoute 可让你通过连接服务提供商所提供的专用连接,将本地网络扩展到 Azure 云。使用 ExpressRoute 可与 Azure 云服务建立连接。

ExpressRoute 连接不通过公共 Internet 。与通过 Internet 的典型连接相比,ExpressRoute 连接提供更高的可靠性、更快的速度、更低的延迟和更高的安全性。ExpressRoute 的架构如下图四。

ExpressRoute 的优势如下:

  • 通过连接服务提供商在本地网络与 Azure 云之间建立第 3 层连接。可以通过点到点以太网,或通过以太网交换经由虚拟交叉连接来建立这种连接。
  • 跨地缘政治区域中的所有区域连接到 Azure 云服务。
  • 通过 ExpressRoute 高级版附加组件从全球连接到所有区域的 Azure 服务。
  • 通过行业标准协议 (BGP) 在你的网络与 Azure 之间进行动态路由。
  • 在每个对等位置提供内置冗余以提高可靠性。
  • 连接运行时间 SLA。

(点击放大图像)

图四.ExpressRoute 架构图

混合云实验环境网络拓扑

研究院的混合云环境依托上海电信的两条点到点物理线路,将位于南汇的 Azure 公有云数据中心和位于紫竹的微软 lab 环境做二层打通。在两条物理线路上运行 Azure ExpressRoute 服务,实现公有云和私有云的联通。详细的网络拓扑图如下。

(点击放大图像)

ExpressRoute 费用

ExpressRoute 费用分为两部分,电信运营商的费用和 Azure ExpressRoute 服务的费用。

电信运营商的费用

这一块方案都是开两条线路,两台交换机分别做接入,带宽为两条线路的带宽之和,这样两条线路相互做备份,实现高可用。

Azure ExpressRoute 的服务费用

服务费用分为两种计费方式,按照带宽计费和按照流量计费(流量只计算从公有云下载数据的流量,建议如果下载量不大的情况下,采用按流量计费的方式)。

  • 按照带宽计费
  • 按照传出的数据流量计费

详细 Azure ExpressRoute 服务的计费细节参见 azure 官网的价格表

ExpressRoute 的配置方法

(点击放大图像)

图五 ExpressRoute 的配置流程图

下面的步骤说明了预配端到端 ExpressRoute 线路所要执行的任务。

  1. 使用 PowerShell 配置 ExpressRoute 线路。详见 Powershell 脚本“ER-Webinar-Script”。
  2. 从服务提供商订购连接(中国电信)。此过程根据情况而有所不同。有关如何订购连接的详细信息,请联系你的连接服务提供商。
  3. 通过 PowerShell 验证 ExpressRoute 线路预配状态,以确保线路预配成功。详见 Powershell 脚本“ER-Webinar-Script”。
  4. 配置路由域。连接服务提供商管理第 3 层,他们将为你的线路配置路由。
  5. 启用 Azure 专用对等互连 - 只有启用此对等互连才能连接到部署在虚拟网络中的 VM/ 云服务。
  6. 启用 Azure 公共对等互连 - 如果你想要连接到托管在公共 IP 地址上的 Azure 服务,则必须启用 Azure 公共对等互连。如果你已选择为 Azure 专用对等互连启用默认路由并想要访问 Azure 资源,则必须执行上述操作。
  7. 将虚拟网络链接到 ExpressRoute 线路 - 可以将虚拟网络链接到 ExpressRoute 线路。请按照说明将 VNet 链接到你的线路。这些 VNet 可以位于 ExpressRoute 线路所在的同一 Azure 订阅中,也可以位于不同的订阅中。

详细的配置请参见 ExpressRoute 的 Powershell 脚本“ER-Webinar-Script”

详细的配置方法详见官网

ExpressRoute 测试结果

网络延迟测试

图 5.1 是从本机(研究院内网的一台 PC)ping 到研究院内网的 wiki 服务器,看图延时基本在 10ms 以内,有一定的抖动。

(点击放大图像)

图 5.1 研究院内网测试

图 5.2 是从本机(研究院内网的一台 PC)ping 到宜山机房的一台服务器,研究院内网和宜山路机房通过一条 100M 的专线相连接,看图延时基本在 10-30ms 左右,抖动较大。

(点击放大图像)

图 5.2 研究院内网和宜山数据中心测试

图 5.3 是从本机(研究院内网的一台 PC)ping 到宝山机房的一台服务器的外网地址,研究院内网和宝山机房只能通过外网(WAN)访问,看图延时基本在 10-30ms 左右,抖动较大。图 5.4 是从本机(研究院内网的一台 PC)ping 到百度服务器,延时基本在 30ms 左右。

(点击放大图像)

图 5.3 研究院网络到宝山服务器

(点击放大图像)

图 5.4 研究院电脑到百度服务器

最后是从我们 Azure 共有云的一台电脑到微软私有云环境的网关地址,两者通过 Azure 的 ExpressRoute 相连,可以发现每个包的反馈时间非常稳定在 4ms 左右,通过对比,通过 Azure ExpressRoute 的混合云方案基本和纯内网环境的网络延时相当。

(点击放大图像)

实验结论: 通过 Azure ExpressRoute 相连的网络延时非常小,网络抖动也很小,网络的 QOS 做的非常好,甚至优于我们研究院的内网环境。

网络带宽测试

从 Azure 共有云账户里的虚机里通过 ftp 传文件到微软测试机器中的传输速度如下:

(点击放大图像)

从微软测试机器里通过 ftp 传文件到 Azure 共有云账户里的虚机中的传输速度如下:

(点击放大图像)

对比 S2S VPN 传输速度:

(点击放大图像)

测试结论:ER 的物理线路的带宽为 10M,测试下来 FTP 传输数据的速度基本在 1.2M/s 这个级别,带宽稳定有保障,而 S2S VPN 更多的需要看当前网络环境的情况,在测试过程中还出现了多次 FTP 传输断掉。

通过实验我们发现 ER 线路的带宽决定于物理线路的带宽,由于是专线,网络带宽稳定,延时也非常小。而 S2S VPN 的方案更多的取决于当前网路状况,由于路由到公网,导致网络带宽、延时没有办法保证。

结合两种联通方案的特点,将站点到站点 VPN 做为 ExpressRoute 的故障转移路径是一个非常好的配置方案。

小结与建议

很快,Azure Stack 就要发布,相信届时会有很多的 Azure Stack 的使用者需要一个可靠的联通方案来支撑他们的混合云业务。从上文中的对比测试中可以发现,ExpressRoute 作为一种保证网络带宽和运行时间的可靠联通方式,能很好的保证您本地数据中心和 Azure 公有云的访问和数据传输。同时,Azure 和 Azure Stack 提供和各种各样的 VPN 接入方式,如上文中提到的 site2site VPN 可以实现数据中心和 Azure 云平台的网络连接,point2site VPN 可以解决移动办公人员的网络接入问题,vnet2vnet 可以实现混合云数据中心内的虚拟网络的网络联通。

通过 ER 这种可靠的网络联通方式和多种多样的 VPN 接入方式,来构建一个灵活可靠的混合云环境,快速灵活高效的实现我们的业务场景。

如果你对 Azure Stack 深入浅出系列文章感兴趣,请及时关注我们的相关后续文章。在下篇文章中,Azure Stack 产品经理将跟你分享 Azure Stack 在私有云领域将如何体现竞争力,适合什么样的业务场景,尤其将会在功能和业务方向上与国内火热的 OpenStack 系做一个深入的比较,敬请期待。

作者

韩炜 (hanw@rc.inesa.com)

如果对文章内容感兴趣请联系仪电(集团)有限公司中央研究 Azure Stack 技术支持团队:hanw@rc.inesa.com/gaoc@rc.inesa.com/niuhx@rc.inesa.com


感谢孟夕对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017 年 8 月 21 日 17:421075

评论

发布
暂无评论
发现更多内容

快来体验 JetBrains Space EAP 版本

刘培培

DevOps JetBrains Space

和孩子聊聊死亡

陈医僧Ethan

感悟 育儿

电脑城最简单骗局,仍然有无数人上当

周三不加班

电脑城 电脑选购

程序员《后浪》-图文版

HPioneer

后浪 程序媛 娱乐

自助设备系列——上下游

孙苏勇

产品 行业资讯 智能设备

C语言程序的基本结构

C语言技术网-码农有道

C/C++

未完成乞丐版 Args

escray

学习 CSD 认证实战营

Grafana+Prometheus(InfluxDB)+Jmeter使用Nginx代理搭建可视化性能测试监控平台

软测小生

Grafana Prometheus Influxdb Jmeter 性能测试

打造个人商业模式第一步

一尘观世界

副业赚钱 提升认知 思维方式 商业模式 认识自己

嵌套文件夹复制实现

Howe

Java 文件复制

我在极客时间学习的三个月

石乐

回"疫"录(10):危机与希望

小天同学

疫情 回忆录 现实纪录 纪实

go 怎样做 stw

hxzhouh

go

理解go 的 sort

hxzhouh

go

从全国首起暗网案件告破说起——暗网,超乎你想象

石君

网络安全 暗网 洋葱网络

C语言数据类型

C语言技术网-码农有道

关于 WordPress-Automatic 的分布式办公实践

刘培培

分布式办公 远程办公

聊聊Redis SDS

hxzhouh

redis

当我们说文本编辑器时,到底在说什么

潘浩腾 Peter H. Pan

写作平台 InfoQ markdown

ELK 日志收集简易教程

meng

elasticsearch Logstash Kibana ELK Filebeat

Java并发编程基础--Java内存模型

Java收录阁

Kafka系列第5篇:一文读懂消费者背后的那点"猫腻"

z小赵

大数据 kafak 实时计算

分析Kubernetes技术体系的层级,慎用比较前沿的技术

韩超

Redis学习笔记(列表类型)

编程随想曲

redis

工作感悟随笔

程序员小岑

感悟

VSCode最强助攻

页面仔小杨

编程 vscode

游戏开发通用技术和工具

波波

编程 游戏开发 H5游戏

我的编程之路-2(首秀)

顿晓

方法 沟通 新项目

面对压力的战略和战术

这小胖猫

管理 精神力 逻辑思维 压力 工作思路

有没有什么上古的程序代码至今依然没被更替?

极客时间

编程 程序员 开发

高仿瑞幸小程序 03 创建轮播图

曾伟@喵先森

小程序 微信小程序 前端 移动

Azure Stack技术深入浅出系列1:如何更好地构建基于Azure Stack的混合云业务解决方案?-InfoQ