DNS 地理查询

DNS Geo Lookups

我一直在考虑使用 Azure 流量管理器(性能模式)设置 Geo DNS 路由。基本上,我在美国东部、北欧和澳大利亚东部设置了一个应用程序(Web 应用程序和 Azure SQL 数据库)。出于合规原因,数据不能在数据中心之间共享,我不希望用户必须选择使用哪个数据中心:

我希望能够使用 app.com 然后根据用户位置进行路由。所有这些都是流量管理器所做的——但是如果最近的数据中心不可用,它也会故障转移到其他数据中心。我不想要故障转移行为 - 如果由于某种原因 Web 应用程序在最近的区域出现故障,我希望用户收到错误消息。

有没有人体验过提供此类设施的任何其他提供商?能否在流量管理器上关闭故障转移行为。

有趣的问题!

首先,请注意,流量管理器中的 'Performance' 模式路由不能保证将给定用户路由到同一数据中心,如果该用户旅行...例如,如果欧盟用户访问在访问美国时使用服务,他们将被路由到美国端点。因此,如果对 link 具有特定区域的用户有很强的限制,则可能需要应用程序级重定向。

为了解决您实际提出的问题...目前在流量管理器中没有禁用端点监控/故障转移的内置功能。作为解决方法,我建议使用 Azure Web Apps 创建一个托管错误页面的占位符站点,然后使用 nested Traffic Manager profiles 如下

  • 3 个子配置文件,每个子配置文件有 2 个端点 - 您的服务端点之一加上错误页面 Web 应用程序。这些将使用 'Priority' 流量路由方法(如果您使用的是旧的 ASM API,也称为 'failover')

  • 1个parent profile,有3个endpoint,即上面的3个child profile。这应该使用 'Performance' 流量路由方法。您必须指定每个端点的位置,该位置应与其包含的应用相同。

这样一来,如果您的某个应用出现故障,流量将被定向到错误页面站点,而不是其他应用。

目前 Azure 门户不支持配置嵌套的流量管理器配置文件。您将需要使用 Azure PowerShell 或 Azure CLI(支持 Windows、Linux 和 Mac OS)

此致,

乔纳森·图利亚尼 项目经理 Azure 网络 - DNS 和流量管理器