通过Microsoft Azure服务设计网络架构的经验分享(转)

原文:http://www.infoq.com/cn/articles/azure-networking-tips

本文从产品设计和架构角度分享了 Microsoft Azure 网络服务方面的使用经验,希望你在阅读本文之后能够了解这些服务之间,从而更好地设计你的架构。

  Microsoft Azure 的网络架构特别针对企业私有云和混合云进行了设计,其中包含三个常用的服务:

  1. 虚拟网络(Virtual Network):连接本地网络与云端基础设施
  2. 流量管理器(Traffic Manager):将用户流量分配到不同的数据中心
  3. 名称解析服务(DNS):使用内部主机名作为云服务的解析

  下面,我将着重介绍使用这三个服务时需要注意的地方,以及使用 Microsoft Azure 网络服务时需要注意的一些其他方面,比如站点对站点 VPN 的安全设置,私有 IP 地址和共有 IP 地址的使用,BGP 网络的使用,网络延迟问题如何处理等。

  阅前须知

  Microsoft Azure 使用了一些特有的术语,其中有两个需要特别注意:

  VIP(虚拟 IP 地址):Azure 网络上的一个公有 IP 地址,用来从外网连接 Azure 虚拟网络中的虚拟机。此 VIP 并非网络负载平衡 NLB 解决方案中的虚拟 IP 地址。

  DIP(直接 IP):DHCP 分配的实际 IP 地址,用来给虚拟网络中的虚拟机使用。此 DIP 并非 NLB DIP。

  虚拟网络(Virtual Network

  虚拟网络可用于创建和管理 IPv4 地址空间。你可以在本地内网和虚拟网络之间建立 VPN 安全连接,也可以通过网络对接的方式将云端应用连接到本地。

  虚拟网络可用于在虚拟机(Virtual Machine)之间建立连接。需要注意的是,你需要先创建好虚拟网络,然后在创建虚拟机的时候将其关联至已经创建好的虚拟网络。同理,虚拟网络也可以在云服务(Cloud Service)之间建立连接,这样做的好处是可以让不同云服务下的虚拟机之间通过私有 IPv4 地址互相通信。

  还有一点需要注意的是,你在首次创建虚拟网络之前必须先创建地缘组(Affinity Group),因为没有关联地缘组的虚拟网络是未经过优化的。地缘组是 Microsoft Azure 用于定位服务的逻辑分组,比如“中国东部区域”。如果我们未来在同一地缘组内创建存储服务,那么分组内其他云服务使用该存储服务的性能更优化。

  当你创建一个 Azure 虚拟网络时,你需要使用私有 IP 寻址方案,而不能使用共有 IP 地址。另外,你需要确认你的私有网络中没有占用这些 IP,也不能有重叠的 IP 地址。

  Azure 在数据中心的出口是使用 BGP 网路,虚拟网络目前不支持内部使用网关 NLB。如果你想实现高可用,只能依赖于其它方法或硬件,例如硬件备份的方式,当主 VPN 网关失效之后启用备份服务器(如 Windows Server 2012 路由与远程访问服务 RRAS 于集群之上)。

  当你创建一个 Azure 虚拟网络时,请求 IP 地址的集合代表所有汇总的子网络。虽然你可以汇总网络,但这些子网之间没有路由,也没有办法在这些子网中间执行访问控制。

  在 Azure 虚拟网络中,虚拟机默认使用 DHCP 获取 IP 地址。你可以给虚拟机配置静态 IP,但必须使用 PowerShell 创建 VM。如果不使用 DHCP 的话,Azure 虚拟网络系统会认为设备处于未知的状态,从而导致你无法连接虚拟机。不过,尽管虚拟机的 IP 地址是使用 DHCP 获取的,但他们在运行过程中的 IP 地址是不变的——除非你停止(已取消分配)或重新创建。如果你是用 Management Portal 来"关闭"虚拟机,那计费会停止并会显示"已取消分配"(见下图),使用中的 IP 会释放。但如果你通过连接虚拟机的操作系统上来关机,则不会停止计费也不会释放 IP。

  在 Azure 虚拟网络中有多种方式连接虚拟机。默认,每个虚拟机都有一个 RDP 端口,并且开启了进入端口。注意,Azure 不使用默认的 RDP 端口 3389。如果你不想让你的虚拟机暴露在外面,你也可以选择禁用端口或更改到其它的端口。另外一种连接虚拟机的方式是通过站点到站点 VPN 从企业内部网络连接到 Azure 虚拟网络,这种方式和在分支机构和总公司使用站点到站点 VPN 下来进行 RDP 连接是一样的,后面会介绍这种方式的用法。

  如果你不在办公网络,或者你不想通过 VPN 连接到办公网络,你可以使用“点到站点”的方式连接虚拟机,这种连接相当于是 SSTP 远程访问 VPN,比直接用 RDP 连接 Azure 虚拟网络更安全。

  流量管理器(Traffic Manager

  流量管理器为 Microsoft Azure 的另一个重要网络服务。通过使用流量管理器,你可以将用户分配到 Azure 数据中心的“最优”位置,确保云应用程序的性能、可用性及弹性。

  流量管理器使用智能策略引擎处理 DNS 域名请求。你需要在 Management Portal 创建配置以使用流量管理器,需要配置的项包括:

  • 属性:包括你所创建的域名前缀,该前缀在 Management Portal 中可见。
  • 定义:包括策略设置和属性的检测设置。
  • 策略:用来指定负载均衡方法和终端。
  • 监视器:用来规定超时、协议、端口和相关路径。

  流量管理器提供了三个负载均衡方法:性能、容错、或循环:

  1. 性能:根据网络延时,该方法将流量引向最近的数据中心。
  2. 循环:该方法将流量均等地分配到各个数据中心。
  3. 容错:如果主服务出错,该方法将流量引向备份服务或数据中心。

  目前流量管理器可支持 IPv6,但不支持 sticky sessions,在变更策略配置时不会有服务中断。在服务和应用上的使用也必须多注意后端存储配置的一致性。流量管理器适合在网站和不会常变动静态内容的服务等场景下使用。

  DNS域名解析

  Microsoft Azure 提供域名解析服务,但该服务仅可解析同一云服务下的实例名。如,Service C 下的 Virtual Machine A 和 Virtual Machine B 之间可以直接通过各自的完全域名(FQDN)互相访问而无需在外部配置 DNS 服务器。如果你的虚拟机实例运行在不同的云服务下,那么你需要使用外部的 DNS 解决方案,如公用 DNS 服务器、ISP 的 DNS 服务器、或者公司网络的 DNS 服务器。

  如果你想解析其它虚拟机器的名字,如互连网或者办公网络里的机器,你可以向 Azure 虚拟网络中添加 DNS 服务器。就像在 DHCP 选项中添加 DNS 服务器地址一样。给虚拟机分配的 DNS 服务器地址可以是 Azure 虚拟网络中 DNS 服务器 IP 地址,也可以是互连网上的 DNS 服务器地址。如果在 Azure 虚拟网络中放置了一个域控制器,也必须确保让控制器也配置了 Azure 上的 DNS 服务器。

  对站VPN

  该方案可以让企业快速安全地在 Microsoft Azure 上部署虚拟机,其应用前景广阔,可用于开发和测试:你可以设置从本地工作站访问虚拟机来验证和测试程序,资源快速实例化可帮迅速验证待上线的程序以及其它需要在企业内部和公有云上作安全信息传递的服务。

  内部网络和 Azure 虚拟网络之间的站点到站点 VPN 使用 IPSec 隧道模式。注意,Azure 只支持特定的本地 VPN 网关设备。如果没有支持的硬件设备,你也可以使用 Windows Server 2012 路由与远程访问服务(RRAS)去创建一个站点到站点 VPN 连接。另外, Azure 支持用配置脚本去配置你的内部 VPN 网关。

  如果你希望使用 Microsoft Azure 网关建立站点对站点 VPN,则本地 VPN 设备必须支持 IKE v1 或者 IKE v2。需要注意的是,Microsoft Azure 在使用 IKE v1 时只支持静态路由功能,要使用动态路由功能必须使用 IKE v2。

  网络延迟对混合型应用的影响

  建立混合型应用程序时,无论是现有应用的移植还是创建全新应用服务,了解网络延迟对其潜在的影响十分必要。当 Azure 开始探索将应用移植到混合型模式时,我们很快便会意识到应用程序或许不能在混合模式下做出完美响应。

  以经典的双层应用程序为例,其原始结构,包括用户、网页服务器和数据库服务器之间的响应时间均为几毫秒。如果我们将网页服务器转移到 Microsoft Azure,但数据库服务还在本地,则会给拓扑结构带来超过 30 毫秒的延迟,而此前的延迟为 3 毫秒!这个延迟在进行众多操作的同时传输大量数据的情况下尤其严重。我们实施过的一些应用在单独页面点击会发出数百个冗余调用,像这种情况就必须要重新设计。

  延迟有时还可能是“最后一公里”的影响。比如我们的程序在数据中心里测试的结果是延迟 1 毫秒,但当将网络前台移植到 Microsoft Azure 时,该延迟就变为 30 毫秒。所以,广泛的测试是必要的。

  如果需要新的混合云应用服务,我们在设计时就要考虑到延迟。我们也可以使用 Microsoft Azure Cache 以及 CDN 服务,尽量使数据更加接近用户或本地服务器。如果需要移植软件,我们可以通过使用软件网络模拟器来提前了解延迟。虽然很难准确判断延迟影响应用程序的方式,但我们应该对此类问题在设计架构之初就要多加留意。

  总结

  很多企业已经意识到云计算所能带来的潜力。然而,有些企业倾向于投资内部私有云基础架构。许多企业这样做主要出于安全考虑,认为将公司所有数据转移到公有云服务提供商的行为存在隐患。私有云确实能够充分利用云计算主要功能,但对于要求敏捷性、灵活性的企业来说,所要求的功能远不止这些。在这种环境下,混合型云计算将迎来巨大的投资价值。如今,企业可以决定哪些数据可以发布到公有云服务提供商,哪些数据留在本地。混合型云计算让企业从两个方面均得到最大收益:“云计算”和“本地资源”。

  在过去传统的数据中心,企业如要处理日益增加的需求,就必须在数据中心添加更多的服务器,购买硬件后还要在上面部署新的操作系统和应用程序,当中需要经过预算、硬件采购、等待供应商交货的漫长周期。而在 Microsoft Azure 平台,企业现在可以轻松地扩展内部部署的数据中心到云端,而 Microsoft Azure 虚拟网络就是其中的关键所在。

  感谢马国耀对本文的审校。

时间: 2024-10-25 06:13:35

通过Microsoft Azure服务设计网络架构的经验分享(转)的相关文章

Microsoft Azure开发体验 – 网络报名系统

去年底RP好抢到了中国版Azure的使用机会,最近社团里讨论到9月份招新的问题,就用Azure Website和Azure Table Storage打造了这个报名系统. 网站放在 http://joinzjazure.chinacloudsites.cn/ ,一个很简单的页面,用的是bootstrap的CSS,针对不同分辨率的屏幕做了优化,在手机上也可以有不错的体验. 基础知识 阅读本文,我假定你具有以下知识: C# 基础知识 ASP.NET MVC 基础知识 知道 Azure 的概念 ASP

基于SDN,NFV的服务感知网络架构下篇

编者按:本篇文章是继<基于SDN,NFV的服务感知网络架构上篇>对DPI进行进一步的深入解析,分析了在SDN中可能出现的三种部署情况,对第4-7层的业务需求以及业务感知网络架构作了一个深入的介绍. 在SDN网络中部署DPI SDN架构包括四个或者更多的层次,包括业务流层,业务应用层,控制层和节点层.下图表示了DPI在用于流量整形.用户分析.QoE和网络安全时可能被嵌入的三个层,仅举几例.这些部署方案允许DPI信息在网络内共享,这样只要进行一次应用识别即可,从而节省了CPU和能耗.统一的DPI简

SCOM 2012 R2监控Microsoft Azure服务(1)配置管理包

随着微软公有云Azure的落地,现在越来越多的用户把应用发布到了Azure当中,但苦于Azure门户中的监控能力较弱,无法满足企业一些较为核心的监控需求.而SCOM作为一个优秀的监控服务器,目前针对SCOM 2012 sp1和R2发布了System Center Management Pack for Windows Azure管理包,通过API来远程收集Azure特定的资源,包括有Cloud Services.Azure Storage.虚拟机. 下面,我们就以SCOM 2012 R2和世纪互

网络营销投放经验分享

什么是网络营销? 下面小编从这个例子中给大家讲述吧 有道易投和有道智选两个推行产品,可以精准地将客户的产品或效劳向客户的方针顾客进行宣扬,从而影响他们的购买行为,使``客户从中获益. 有道智选作为我国第一家移动原生DSP,具有先进技术,广告方法融入环境确保用户体会.开发者后台界面简略易操作,可自主定制广告的布局规划和交互,在确保用户体会的同时有用传达广告. 有道优势: 1.客户掩盖面广 企业用户:主要用企业.白领.管理层用户,稳定经济才干,高学历 阅读型用户:巨大的用户和阅读量,企业免费取得海量

考过软件设计师和网络工程师的经验分享

在大学期间,由于是计算机工科类的学校,身边的人很多去考取软考,我也去试了试,比较幸运地通过了这两门考试,希望与大家分享一下经历,与大家共勉. 方法 我的方法就是在掌握了基本知识之后,就去做真题,做了真题之后,有很多做错的题,这个时候考得低或者考得高都不要有什么心情的浮动,就把错误和解析拿来记录.最好找个安静的地方来复习,比如说图书馆.自习室等地方,自己一个在家里复习也是很不错的. 30天复习 其实看大纲的话,每天考试的题目差不多,只需要将近5年的题目拿来当作真题练习就行了,一共就10套题,每两天

C# 消息队列-Microsoft Azure service bus 服务总线

先决条件 Visual Studio 2015或更高版本.本教程中的示例使用Visual Studio 2015. Azure订阅. 注意 要完成本教程,您需要一个Azure帐户.您可以激活MSDN订阅者优惠或注册一个免费帐户. 1.使用Azure门户创建一个命名空间 如果已经创建了Service Bus命名空间,请跳转到使用Azure门户部分创建队列.+ 创建服务命名空间 要在Azure中开始使用服务总线队列,必须首先创建一个命名空间.命名空间提供了一个用于在应用程序中寻址服务总线资源的作用域

浅谈企业网络架构设计

本人工作已有10年有余,工作换了无数,从计算机的售后支持到系统集成项目经理,其间还做过几年网络技术老师.后来厌倦了上课(主要是太理论化了),转投到企业作IDC运维. 不管是在甲方还是在乙方,我们都是和网络打交道.在乙方时,每个项目,几乎都牵涉到网络架构设计.有的比较简单,有的也很复杂.但大多数情况下,都是采用老一套的方法,满足用户基本需求就ok了.很少真正深入用户企业,去探究企业实际需求和现实状况.大多都是按照自己对企业的理解,认为这样比较合理,又是站在甲方的立场,这样可以多赚点钱,或者这个设备

Microsoft Azure系列之二 Microsoft Azure概述

一.什么是Microsoft Azure Azure 是微软提供的一个灵活而开放的云平台,通过该平台,您可以在数据中心快速生成.部署和管理应用程序. Azure 支持所有主流操作系统.语言或开发工具,并且能够将公有云应用程序与现有 IT 基础设施相集成. Azure 服务托管在全球数据中心网络中,由微软的技术人员进行7 天/24 小时的管理,使计算服务的服务水平协议(SLA)的可用性高达99.95%. 注释:Microsoft Azure 原来被命名为 Windows Azure?. 二.Mic

Microsoft Azure P2S VPN 配置

1. 前言 使用管理门户创建连接到公司网络的Microsoft Azure 虚拟网络,可在其中部署 Microsoft Azure 服务并与公司网络进行通信. 先决条件 要用于虚拟网络和子网的地址空间(使用 CIDR 表示法). DNS 服务器的名称和 IP 地址(若要使用本地 DNS 服务器进行名称解析). VPN 设备的公共 IP 地址.此 VPN 设备不能位于 NAT 的后面.您可以从网络工程师处获得它. 本地网络的地址空间. 2. 配置Point to Site VPN 目前中国区的Az