你可能已经注意到在Windows Azure开发人员门户网站中,我们最近发布了Windows Azure Traffic Manager的一个新的管理API。该API通过使得开发人员和IT专业人员与服务的脚本交互并以编程的方式实现与服务的接口来改善Traffic Manager。
对于那些不熟悉使用Windows Azure Traffic Manager的人来说,它使得你能够控制在不同的数据中心的托管服务之间流量的分配方式。Traffic Manager通过将流量发送到最近的数据中心中来改善应用程序的性能,它不会将流量发送到已关闭的托管服务,这样提高了服务的可靠性。
随着新版本API的发布,开发人员现在拥有管理与创建Traffic Manager策略的全部权限,包括从零开始创建一个配置文件。在这篇文章中,我们将介绍如何使用新的API创建、更新和管理配置文件。可以在这里找到新的Traffic Manager REST APIs的相关文档。
我们先看看网站上的一个典型的配置,看一看怎样使用新的API来完成相同的配置。在开始之前,如果你还不了解Windows Azure Traffic Manager,强烈建议您先阅读服务工作方式的概述。
我设立了一个配置,是使用性能的负载平衡方法在应用程序节点(该节点设立在美国中北部的数据中心和北欧的数据中心中)之间分配流量,下面是相关截图,供参考。
图1:Traffic Manager Policy页面

你可以在Edit Traffic Manager Policy对话框里配置Windows Azure Traffic Manager策略。作为一个程序开发人员你需要了解,幕后它使用了许多API调用来为你创建许多用来表示策略配置的实体。
那么,如何以编程的方式完成相同的配置呢?
了解实体是第一步。上面提到的策略包括指定了域名称的配置文件、至少一个definition,依次包括以下配置:负载平衡方法、DNS TTL、终结点和其它的监视配置。
图2:Traffic Manager实体

每个配置文件可以拥有与其关联的多个definition。但是,每次只能有一个Definition处于活动状态。在portal中暂时还不能创建多个Definition。它拥有定义多个不同的Definition并且无需重建就能在这些Definition之间切换的能力。
Create Profile API
图3:创建Profile Request参数

Create Profile API要求指定一个配置文件名称和Traffic Manager域名称。域名由一个DNS前缀(主机名)和.trafficmanager.net组成。在管理门户里没有地方可以设置profile名称;当你使用该门户时,它将自动生成。以编程的方式创建profile将会有所不同。作为一名开发人员,理解profile 名称是如何生成的这一点很重要。当你从该门户里创建一个profile,你所指定域名中的主机名加上-trafficmanager-net就生成了该名称。例如,如果你所指定的域名是woodgrove.trafficmanager.net,profile的内部名称将是woodgrove-trafficmanager-net。当以编程的方式创建profile时,profile名称是你传送给Create
Profile API的。
Create Definition API
图4:创建Definition Request参数

一旦创建了一个profile,你可以使用Create Definition API创建一个definition来指定Windows Azure Traffic Manager的其他配置。
该definition配置并不像看上去那样复杂。定义监视器包含指定到HTTP/HTTPS资源的相对路径,它通过返回的状态码来告知Traffic Manager应用程序是否正常。你可以更改端口号、协议和相对路径,但其余的设置必须设为默认值。
每个端点由指向需要托管在Windows Azure Traffic Manager 的所有Windows Azure应用程序的其中一个应用的URL和标明该Manager当前是启用或是禁用的一个flag。
该URL指定了何时创建Traffic Manager profile (<dnsprefix>.trafficmanager.net),当DNS名称被解析时它将被映射到指定的终结点之一。哪个端点被解析决定于负载平衡方法所指定的(性能、故障转移或RoundRobin)。
例如:
WoodGroveUS.cloudapp.net应该属于美国中北数据中心。
WoodGroveEU.cloudapp.net应该属于北欧数据中心。
WoodGrove.trafficmanager.net应当是父域名,当被解析时它将被映射到数据中心的一个端点。
Update Profile
图5:Update Profile Request参数

可以有多个definition与profile相关联,但是一次最多只有一个处于活动状态。为了激活一个Traffic Manager profile,你必须启用与该profile相关联的一个definition。你可以通过调用当你调用Create Definition API 时所返回的Update Profile API。
管理现有的Profile和Definition
除了创建一个profile和与其相关联的definition之外,Traffic Manager REST API还支持List Profiles、Get
Profile、 List Definitions、
Get Definition 和
Delete Profile。这些API提供了构建应用程序来管理Windows Azure Traffic Manager配置的完整功能。
如果你想自动管理你的Windows Azure Traffic Manager profiles但不想为REST API写任何代码,我们也有你想要的答案。我们更新了Windows Azure PowerShell Cmdlets (现在是 2.2版) ,该版本完全支持Windows Azure Traffic Manager。
Windows Azure Traffic Manager Cmdlets
- New-TrafficManagerProfile
- Get-TrafficManagerProfile
- Remove-TrafficManagerProfile
- Set-TrafficManagerProfile
- Get-TrafficManagerDefinition
- New-TrafficManagerDefinition
- Add-TrafficManagerEndpoint
- New-TrafficManagerEndpoint
- Set-TrafficManagerEndpoint
- Remove-TrafficManagerEndpoint
- New-TrafficManagerMonitor
下面是关于怎样使用PowerShell创建一个新的profile和definition的一个示例:

Windows Azure Traffic Manager是启用全球和高度可用应用程序的关键技术。新的REST APIs将允许应用程序开发人员构建应用程序,使得Traffic Manager的管理成为他们的应用程序的一部分。我们也在新发布Windows Azure PowerShell Cmdlets 2.2版本中启用了这个新功能,为Windows Azure客户自动化部署开启了大门。
本文翻译自:http://blogs.msdn.com/b/windowsazure/archive/2012/01/26/new-management-api-for-windows-azure-traffic-manager.aspx
分享到:
相关推荐
- **Azure Traffic Manager**:智能路由流量到最优的服务端点。 #### DAY-5:安全性与合规性 - **Azure Security Center**:提供统一的安全管理和威胁防护。 - **Azure Key Vault**:安全地存储和访问密钥、密码等...
- **资源管理**:使用Azure Resource Manager模板进行声明式部署,确保环境的一致性和可重复性。 - **成本管理**:利用Azure Cost Management工具进行预算设定和成本分析,优化资源利用率。 - **自动化运维**:...
- 考虑到灾难恢复和高可用性,可能需要设计跨区域的冗余解决方案,例如Azure区域对或Azure Traffic Manager。 - 安全性是关键,需要设计和实施Azure安全中心的策略,以保护数据和应用程序。 - 可能需要设计API...
同时,可以通过Azure Traffic Manager分配负载,实现多区域部署,以提高响应速度和容错能力。 总的来说,“azure-webapp”项目涵盖了使用Visual Basic .NET在Azure上构建和部署Web应用程序的核心知识。这包括理解...
在Azure环境中,F5 AFM是F5 BIG-IP Local Traffic Manager (LTM) 的一部分,提供高级应用防火墙功能,用于保护云中的应用程序免受恶意攻击。AFM通过监控和控制进出流量,提供深度包检查、SQL注入防护、跨站脚本(XSS...
Azure PowerShell是一种用于管理Azure资源的命令行工具,它结合了PowerShell的强大功能和Azure管理API,让开发者和管理员可以编写脚本来自动化Azure环境的部署和管理。通过使用PowerShell脚本,用户能够更高效地创建...
9. **错误处理和故障转移**:了解如何设置故障恢复策略,如跨区域冗余和Azure Traffic Manager。 10. **成本管理和优化**:学习如何分析和优化App Services的费用,例如通过预定实例或利用Azure Cost Management。 ...
5. **容错和灾难恢复**:测试应涵盖Azure的冗余和灾难恢复能力,如Azure Site Recovery和Traffic Manager,以验证系统在故障发生时能否迅速恢复。 6. **容器化和微服务测试**:如果应用使用了Azure Kubernetes ...