在当今的全球化时代,企业需要确保他们的应用能够在全球范围内提供高性能的服务。Azure的Traffic Manager服务提供了一种解决方案,通过DNS服务来确保用户总是连接到最近的服务器,从而优化性能。本文将详细介绍如何配置Azure的Traffic Manager和AppService,以实现全球范围内的负载均衡和高性能服务。
假设有一个需要在全球范围内可用的Web应用,客户遍布澳大利亚、洛杉矶、纽约、伦敦、德国和中国。为了满足这些不同地区用户的需求,需要设置一个全球性的服务架构。
在设置Traffic Manager配置文件之前,需要了解一些Azure特有的术语。以下是一些关键术语及其解释:
更多定义,请参考。
AppServices是提供Web应用给客户的网站或虚拟机。可以自定义创建,或者选择Microsoft或其合作伙伴提供的预构建模板之一。
从Azure门户首页,进入AppServices > Add
,选择想要放在Traffic Manager后面的服务。在例子中,创建一个简单的Web应用。点击Create
后,将获得选项来给它命名,指定它将运行的操作系统,资源组(它将托管的地方)和服务计划(它将有多强大)。
如下面的图片所示,可以从同一个屏幕几乎完成所有这些操作。在这里分配的应用程序名称将直接关联到用来访问服务的主机名。例如,如果给它命名为awesomesite
,将获得一个别名awesomesite.azurewebsites.net
。如果不需要其他东西,可以在这里离开。
如果想提供自定义域名和SSL证书,可以稍后这样做,但需要指定定价层是Standard S1或更高。
点击Create
后,它将消失并为部署服务。现在有一个功能齐全的(尽管是空的)AppService。
现在已经创建了几个AppServices,可以继续设置流量管理器配置文件。
在Azure门户中,进入Traffic Manager profiles > Add
,给它一个名称(以及一个别名来访问它)和一个资源组。在这个实例中,资源组并不重要,因为它只是用来附加配置文件的东西。由于它是一个全球性服务,它不会绑定到一个单独的位置。
就是这样!差不多。流量管理器和AppService已经创建,但在实际使用它之前还会有几个步骤。
从Azure门户中的Traffic Manager配置文件,将有一个Configuration
选项,它允许指定配置文件的高级配置。
Performance
。这为客户提供了最近节点的IP地址,以及在该节点宕机时能够故障转移到另一个节点的能力。不能将AppService添加到Traffic Manager配置文件中?
只有分配了Standard S1定价层或更高版本的AppServices才能支持Traffic Manager(以及SSL证书和自定义域名)。
Traffic Manager配置文件和AppServices已经创建。一切都已分配,但Traffic Manager别名不响应ICMP ping请求?
如果没有AppServices正在运行,或者它们没有分配Standard S1定价层或更高版本,那么就没有Traffic Manager可以转发客户的东西,因此它不会解析。检查Traffic Manager端点的健康状况。
不想使用Azure给*.trafficmanager.net或*.azurewebsites.net地址。
由于Web应用(至少在这个例子中)使用Standard S1定价层以支持Traffic Manager功能,这允许使用SSL和自定义域名。
要访问自定义域名,请转到AppServices > [your appservice name] > Custom Domains > Add Hostname
并输入一个主机名。将被提示验证条目,可以通过添加一个自定义DNS条目来显示“拥有”该域名。
类似于自定义域名,SSL证书(将在自定义域名下方)也是通过App服务访问的。可以导入现有的证书或从计算机上传一个。甚至可以使用由LetsEncrypt
提供的免费证书。
现在剩下的就是更新自定义域名的DNS,以便www.[yourwebsite].com是[alias].trafficmanager.net的CNAME,就可以开始了。
这是一个相当技术性的过程,但与花费数万美元购买GSLB设备和需要专业网络知识相比,这是一个相对简单但功能强大的过程。