首页 文章

将Web流量从一个Azure Web应用程序转移到另一个Azure Web应用程序,而无需停机

提问于
浏览
3

我有两个Azure网络应用程序:

  • webapp1.azurewebsites.net

  • webapp2.azurewebsites.net

webapp1是我的实时网站,配置了自定义域名www.example.com .

我想转移所有传入的流量,以便它转到webapp2,而不是webapp1 .

我这样做的计划是:

  • 将自定义域'www.example.com'添加到webapp2 .

  • 更改www.example.com的DNS CNAME记录,使其指向webapp2.azurewebsites.net(而不是webapp1.azurewebsites.net) .

但是,这种方法不起作用;当我尝试使用portal.azure.com将自定义域名添加到webapp2时,我收到错误:'主机名www.example.com'已经分配给另一个Azure网站' .

确保此转换中没有停机时间非常重要,因此在将webapp1添加到webapp2之前从webapp1中删除自定义域名不是一种选择 .

关于如何解决这个问题的任何想法?

2 回答

  • 1

    根据上一个答案,您可以使用Azure Traffic Manager来控制Web Apps之间的流量 . 但是,您仍然会遇到针对这两个Web应用程序注册自定义域名的问题 . Traffic Manager文档包含有关如何执行此操作的更多信息 - 请参阅the FAQ section here中的"Can I use Traffic Manager with more than one Web App in the same region?" .

    关键是如果Web Apps位于同一区域,那么它们需要处于不同的比例单位 . 上面链接的说明显示了如何检查Web App所在的比例单位 . 在部署Web App时无法控制比例单位,但如果您提交支持请求,则可以将Web应用程序部署到不同的Azure支持的缩放单位 .

  • 3

    一种可能的方式是配置流量管理器 . 您可以创建流量管理器并将webapp1和webapp2添加为 endpoints . 您还可以将流量管理器配置为使用故障转移路由,其中webapp1是主要的,webapp2是故障转移 .

    然后,您将 Cloud 更改自定义域以指向流量管理器,以便流量继续通过流量管理器流向站点 . 希望能够从webapp1配置中删除自定义域,然后配置webapp2以使用它 . 然后,您可以将自定义域更改为指向webapp2并删除流量管理器 .

    或者,您可以将流量管理器留在原位,只需将webapp1作为 endpoints 删除即可 .

    我还没有测试过这种方法,但如果我有机会用任何笔记更新这个答案 .

相关问题