很多企业已经上云,但由于技术、制度等原因,可能依然会在本地运行一些重要系统。例如将Web前端放在Azure公有云中,并将保存了机密数据的后端系统留在系统本地,随后通过VPN等方式将本地和云端系统连接在一起,组建混合应用程序。这已经是一种非常普遍的做法。 然而这样做最大的问题在于:必须通过面向公众的互联网线路来建立连接,而这一过程中会受到很多因素的影响,使得连接在带宽、延迟、吞吐率等指标方面难以获得一致的体验。 其实在云计算诞生之前,类似的问题就已经存在了。例如企业分支机构与总部之间的远程连接。以往为了解决这种问题,一些不差钱的大型企业或机构甚至会铺设专用的线路,或从电信运营商处租用价格足以让人惊掉下巴的专线。 随着越来越多企业陆续上云,是否有什么更经济、高效、可靠的方式在本地和云端建立可靠的连接? ExpressRoute—— 铺设你的专用信息高速路 Azure ExpressRoute就是这样的一种服务。借助该服务,用户可以通过连接服务提供商所提供的专用连接,将本地网络扩展到Azure云。这样的ExpressRoute连接无需经由公众互联网,因此与传统的,通过互联网建立的连接相比,ExpressRoute连接能提供更高可靠性、更快速度、更低延迟和更高安全性。 通过这种更加快速、可靠、安全的专用线路,可以更好地实现下列三大使用场景: 接下来我们以混合应用程序为例,一起看看,对于托管在Azure中的Web应用,如何通过ExpressRoute连接到本地资源。 上手实践 在Azure Web应用和本地资源之间建立专线 在本例中,我们最终将搭建出如下拓扑的架构: 开始操作前,请先做好下列准备: 随后分别需要执行如下操作: 创建Web应用程序 一 这一步比较简单,只需按照常规方式在Azure中建立所需Web应用程序即可: 建立「中继」服务 二 随后需要建立中继服务,为后续的混合连接做准备。具体过程如下: 在门户“所有服务”下,选择“集成”板块下的“中继”,点击进入创建。 配置“名称”、“订阅”、“资源组”、“位置”等参数。'位置'必须和Web应用程序的一致,即位于同一个数据中心。 为Web应用配置混合连接 三 接下来需要为刚才创建的Web应用程序配置混合连接。请进入Web应用程序的概述页面,在“网络”模块下选择“配置你的混合连接终结点”。 随后执行下列操作: 添加混合连接,并创建新的混合连接。 配置“混合连接名称”、“终结点主机”、“终结点端口”、“服务总线命名空间”等参数。“终结点主机”即为本地IDC的服务器主机名,“终结点端口”为本地IDC的服务器的业务端口号,“服务总线命名空间”选择现有的命名空间,选择上述步骤中创建的命名空间。 在这里,可以根据示例配置如下参数: 配置生效后,显示配置的混合连接为“未连接”,如下: 在Azure虚拟机上配置混合连接管理器 四 接下来需要在Azure虚拟网络下部署一台Windows Server 2012或更高版本的虚拟机,该虚拟网络是连接到ExpressRoute线路的。 该虚拟机部署完成后,请执行如下操作: 在此虚拟机上安装HCM的客户端,该中继代理称为混合连接管理器(HCM)。若要下载HCM,请在Azure门户上的应用中选择“网络”>“配置混合连接终结点”。 选择手动输入终结点字符串,字符串可以在Azure门户上的应用中获取,选择“网络”>“配置混合连接终结点”。 这里的详细步骤可参考Azure官方文档:混合连接管理器。 为Azure虚拟机写入终结点的主机解析记录 五 随后需要配置Host文件,这样才能让加解密后的终结点数据流能够被解析,并通过ExpressRoute线路传递到本地。 Host文件默认路径为C:\Windows\System32\drivers\etc\hosts 配置解析记录,示例如下: 完成以上配置后,再次检查Web应用程序中的混合连接的状态,发现该状态会从“未连接”变成“已连接”,且从Web应用程序控制台界面可以正常TCP ping通本地IDC的SMTP服务端口。如下图: 在Web应用程序中以 终结点:端口号 的方式进行访问 至此,部署过程全部结束。 方案总结 首先,在完成上述操作后,该如何验证ExpressRoute线路已经接通?此时可以考虑这样做: 在Azure HCM虚拟机上,使用Telnet或Psping工具来检测本地IDC服务是否能够被Azure虚拟机通过ExpressRoute访问。为此可使用nslookup解析终结点主机名,来检测Azure虚拟机是否能够正常解析该终结点名称到本地IDC服务器的内网地址。 HCM客户端的连接状态表示该终结点实现了Azure HCM虚拟机到Azure Web应用程序之间的连接状态。Azure门户上混合连接的连接状态表示了中继服务到Azure Web应用程序之间的连接状态。。 在应用服务中,可以通过高级工具(Kudu)控制台调用tcpping工具。此工具可以告知我们是否能够访问TCP终结点,但无法告知我们是否能够访问混合连接终结点。 在实施该解决方案时需要注意: 通过这样的方式,即可在Azure云端和本地环境之间建立一种更安全、可靠、高效、快速的连接,打通两个环境,让混合应用获得更可预测、更一致的体验。不过小编也特别想知道你的云端应用是通过哪种方式访问本地资源的呢?不妨在文章底部留言互动一下哦~ |
|