Azure Traffic Manager 和 AppService 的配置指南

在当今的全球化时代,企业需要确保他们的应用能够在全球范围内提供高性能的服务。Azure的Traffic Manager服务提供了一种解决方案,通过DNS服务来确保用户总是连接到最近的服务器,从而优化性能。本文将详细介绍如何配置Azure的Traffic Manager和AppService,以实现全球范围内的负载均衡和高性能服务。

场景设定

假设有一个需要在全球范围内可用的Web应用,客户遍布澳大利亚、洛杉矶、纽约、伦敦、德国和中国。为了满足这些不同地区用户的需求,需要设置一个全球性的服务架构。

术语解释

在设置Traffic Manager配置文件之前,需要了解一些Azure特有的术语。以下是一些关键术语及其解释:

  • AppService:可以是专用于WebApp(网站)的虚拟机,或者是任何预打包的Azure服务。
  • Traffic Manager Endpoint:Endpoint响应的对象,可以是网站或外部IP地址。
  • Traffic Manager profile:负载均衡器。
  • Service Plan:App Service计划代表用于托管应用的物理资源集合。
  • Resource Group:资源管理器中的容器,用于保存应用程序的相关资源。
  • Azure Portal:管理Azure订阅和产品的界面。

更多定义,请参考。

创建一个或多个AppServices

AppServices是提供Web应用给客户的网站或虚拟机。可以自定义创建,或者选择Microsoft或其合作伙伴提供的预构建模板之一。

从Azure门户首页,进入AppServices > Add,选择想要放在Traffic Manager后面的服务。在例子中,创建一个简单的Web应用。点击Create后,将获得选项来给它命名,指定它将运行的操作系统,资源组(它将托管的地方)和服务计划(它将有多强大)。

如下面的图片所示,可以从同一个屏幕几乎完成所有这些操作。在这里分配的应用程序名称将直接关联到用来访问服务的主机名。例如,如果给它命名为awesomesite,将获得一个别名awesomesite.azurewebsites.net。如果不需要其他东西,可以在这里离开。

如果想提供自定义域名和SSL证书,可以稍后这样做,但需要指定定价层是Standard S1或更高。

点击Create后,它将消失并为部署服务。现在有一个功能齐全的(尽管是空的)AppService。

创建Traffic Manager配置文件

现在已经创建了几个AppServices,可以继续设置流量管理器配置文件。

在Azure门户中,进入Traffic Manager profiles > Add,给它一个名称(以及一个别名来访问它)和一个资源组。在这个实例中,资源组并不重要,因为它只是用来附加配置文件的东西。由于它是一个全球性服务,它不会绑定到一个单独的位置。

就是这样!差不多。流量管理器和AppService已经创建,但在实际使用它之前还会有几个步骤。

Traffic Manager配置

从Azure门户中的Traffic Manager配置文件,将有一个Configuration选项,它允许指定配置文件的高级配置。

  • 路由方法:在大多数情况下,可以选择Performance。这为客户提供了最近节点的IP地址,以及在该节点宕机时能够故障转移到另一个节点的能力。
  • DNS TTL:这是Traffic Manager别名条目在DNS中的TTL。
  • 端点监控设置(协议、端口、路径):这是Traffic Manager知道端点是否启动并应该包含在负载均衡配置中的方式。如果只监听HTTPS,可以指定它以及端口443,或者如果网站上有一个特定的健康检查页面,可以提供该值,以便Traffic Manager知道是否有任何问题。200和300系列响应将被视为正常,但400-500范围内的任何东西都将被视为失败,节点将从集群中移除。
  • 故障转移设置(探测间隔、失败次数、探测超时):这些都是与Traffic Manager执行的检查相关的,以查看节点是否启动。需要注意的重要事项是,如果从默认的每30秒检查一次改为每10秒检查一次,将会产生额外的费用,因为这被认为是快速间隔健康检查。

故障排除

不能将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设备和需要专业网络知识相比,这是一个相对简单但功能强大的过程。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485