我正在尝试做一些我认为应该很简单的事情,但我遗漏了一些东西。你能看一下吗?
我在 Azure 云中,在不同区域的不同服务计划中运行两个 Web 应用。这两个应用是彼此的副本。
如果主区域出现故障,我正在尝试使用 Azure Traffic Manager 从主区域故障转移到辅助区域。
我希望能够使用相同的域名,即使网站发生故障转移也是如此。以下是我目前的情况:
域名是“example.com”
- 设置流量管理器配置文件,监控两个端点。检查。
- 为 wwww.example.com 设置指向 exampledotcom.trafficmanager.net 的 CNAME DNS 记录。检查。
- 浏览 exampledotcom.trafficmanager.net,我得到了预期的路由。检查。
- 如果我连接到 www.example.com,流量管理器似乎会将我路由到一个实例,但我收到以下 Azure 错误:
“错误 404 - 未找到 Web 应用。您尝试访问的 Web 应用在此 Microsoft Azure 应用服务区域中不可用。”
发生这种情况是因为我没有将域名映射到 Azure Web App。当我尝试将自定义域映射到不同区域的两个实例(用于故障转移目的)时,Azure 抱怨该域已注册到另一个 Web 应用程序。
如何使用流量管理器将自定义域映射到两个 Web 应用程序以实现故障转移?
答案1
我与 Azure 支持人员进行了交流。事实上,在这种情况下,您可以将同一个域名绑定到两个不同的 WebApp,前提是:
- 它们是不同的地区
- 您首先使用 TrafficManager 端点定位它们。
如果您没有将自定义域名绑定到两个 WebApp,则故障转移后您将无法访问您的网站。如果未绑定域名,WebApp 将拒绝流量。
这就是我被告知的以及最终奏效的方法:
创建流量管理器配置文件并将两个 WebApp 添加为端点。这会将
XXXX.trafficmanager.net
域绑定到每个 Web App。等待域通过 Azure 系统传播并显示在 WebApps 的“自定义域”菜单中。
照常去绑定自定义域名,但一定要选择
XXXX.trafficmanager.net
如图所示的地址:
答案2
当我尝试将自定义域映射到不同区域的两个实例(出于故障转移目的)时,Azure 抱怨该域已注册到另一个 Web 应用程序。
所有这些都是设计行为。并且它应该以这种方式工作。
如果你想通过流量管理器实现故障转移,有不需要设置两个网站的名称相同。在 Azure 中,我们添加不同的域名到流量管理器端点,完成配置后,我们应该编辑权威DNS服务器上的DNS记录,将您的公司域名指向流量管理器域名,然后我们就可以使用公司域名访问流量管理器后面的网站。
如何使用流量管理器将自定义域映射到两个 Web 应用程序以实现故障转移?
两个 Web 应用,你的意思是这些 Web 应用是 Azure Web APP 服务,由 Azure 创建吗?如果是,我们可以将这两个网站添加到流量管理器的端点,如下所示:
配置完成后我们就可以使用贵公司的域名来测试连接了。
顺便一提,Azure 流量管理器充当负载均衡器(DNS 级别),这样我们就可以将自定义域名用于不同地区的多个网站。