Azure Front Door(一)为基于.net core 开发的Azure App Service 提供流量转发

 一,引言

  之前我们讲解到使用 Azure Traffic Manager、Azure LoadBalancer、Azure Application Gateway,作为项目的负载均衡器来分发流量,转发访问请求。尤其之前在介绍到 Azure Traffic Manager是一种具有基于DNS的流量负载均衡器,可以在全球区域内以最佳方式分发流量,同时提高高可用性和响应性。流量管理器的配置路由方式可以是 “Geographic”(基于地理位置的路由策略),也就是在不同的地址位置上部署服务器以就近相应用户的请求。

  今天我们尝试通过新的Azure Resource-----Azure Front Door,使用 Front Door,可将全球使用者应用程序和企业应用程序转换为可靠、高性能且个性化的新型应用程序,其内容可以通过 Azure 向全球受众提供。Front Door 提供了多种流量路由方法和后端运行状况监视选项来满足不同应用程序需求和自动故障转移方案。 与 zure Traffic Mnager Profile 类似,Azure Front Door 可以灵活应对故障,包括整个 Azure 区域的故障。

-------------------- 我是分割线 --------------------

1,Azure Front Door(一)为基于.net core 开发的Azure App Service 提供流量转发

2,Azure Front Door(二)对后端 VM 进行负载均衡

3,Azure Front Door(三)启用 Web Application Firewall (WAF) 保护Web 应用程序,拒绝恶意攻击

二,正文

1,提前创建Azure App Service 作为后端服务

还记得我们的之前讲解的Terraform 系列文章吗?我们可以学以致用,直接触发Azure DevOps Pipeline 创建Azure 基础设施资源。

而图中的 “CnBateBlogWeb01” 和 “CnBateBlogWeb02” 正是我们本篇文章中所需要的前置条件-----“backend

2,创建 Azure FrontDoor

登陆 Azure Portal 上,点击 “create resource”,在搜索框中搜索 “Front Door”

点击图中的 “Create”

输入相关参数

Resource group 选择创建一个新的:“Web_Test_FD_RG”

Resource group location 选择:“East Asia”

点击 "Next:Configuration"

接下来就需要配置 Azure Front Door 的前端host,后端池,以及路由规则了

首先我们先配置 “Frontends/domains”,点击图中圈中的 “+”

Host name:“cnbateblogweb”

SESSION AFFINITY (会话相关性) 选择默认:“Disabled”

WEB APPLICATION FIREWALL (WEB 应用程序防火墙) 选择默认:“Disabled”

点击 “Add” 进行添加前端主机

接下来我们需要添加后端池,我们继续点击图中圈中的部分

输入后端池相关参数

Name:“cnbateblogweb-backendpool”

点击图中圈中的部分,给后端池添加后端服务

Backend host type:“App service”

Backend host name 选择:“cnbateblogweb01.azurewebsites.net”

其余参数都走默认,不需要修改

点击 “Add”

使用同样的方式,我们再添加一个类型为 “app service” 的后端

回到添加后端池页面,我们划到页面最底部,我们看到 LOAD BALANCING 的相关配置

Latency sensitivity(延迟敏感度)默认为:0

对应官方的解释:

  • 延迟: 基于延迟的路由确保将请求发送到在敏感度范围内可接受的最低延迟的后端。 基本上,用户请求将发送到 "最近" 的后端,这与网络延迟有关。

那我就可以理解为根据地理位置的不同,Azure Front Door 会将用户请求转发到最近的后端服务上。

最后我们需要配置路由信息,我们点击图中圈中的部分

Name:“cnbateblogweb-rule”

Frontends/domains 确保是刚刚我们添加的前端 “cnbateblogweb.azure.net”

Backend pool 确保是刚刚我们添加好的后端池 ”cnbateblogweb-backendpool"

点击 “Add” 

配置完 前端,后端池,路由规则之后,我们点击 “Review + create”

预校验完成,我们点击 “create” 进行创建。

等待创建完成之后,我们点击 “Go to resource”,跳转到该资源

选择 “Overview” 页面,复制 Front host 的 url

通过浏览器访问 Azure Front Door 的URL,我们可以看到就近将我们的请求转发到 “CnBateBlogWeb01” 的App Service 上

3,番外话题

博主在配置完 Azure Front Door 之后,直接复制 Azure Front Door 的 URL 到浏览器中访问时,出现了很诡异的时候

竟然提示如下图所示:

经过查看官方文档说明:

所以,大家在练习的时候,如果也出现类似的问题,稍微等待5,6分钟后再尝试访问。

-------------------- 我时分割线 --------------------

Bingo,成功。Azure Front Door 将流量就近转发到东南亚的测试我就不再演示了,大家可以通过不可描述的方式或者创建东南亚的虚机来访问。

今天的分享到此结束,撒花🎉🎉🎉🎉🎉🎉!

三,结尾

 ok,今天的分享到此结束,关于 Azure Front Door 的 Routing method 我们只介绍了 “延迟” 路由方式,其他的三种:“优先级”、“加权”、“会话相关性”,大家可以先自行看着微软的官方介绍,尝试实践一下。

下一篇,我们将实践操作另外三种路由方式的 Azure Front Door,期待中........

参考资料:Azure Front Door

作者:Allen 

版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。

posted @ 2021-03-06 11:17  Grant_Allen  阅读(645)  评论(3编辑  收藏  举报