未雨绸缪 | 一文简介 Azure Front Door
點(diǎn)擊上方藍(lán)字關(guān)注“汪宇杰博客”
導(dǎo)語
昨天早晨微軟服務(wù)器發(fā)生了核爆,Office 365,Bing,Azure DevOps全線完蛋。人類文明危在旦夕之際,微軟美國的死士凌晨2點(diǎn)爬起來收福報(bào),修好了服務(wù)器,拯救了全人類!究其原因是一個(gè)叫 Front Door 的服務(wù)部署了新版本,代碼有毒,自動(dòng)化測試沒有發(fā)現(xiàn)故障,直接上線了。那么這個(gè) Front Door 是個(gè)咩呀?今天我研究并實(shí)踐了一番。真正的軟粉,就要和微軟同呼吸共命運(yùn),要爆一起爆!
Azure Front Door
通常,我們把網(wǎng)站部署到 Azure App Service 或者別家云,甚至自己的數(shù)據(jù)中心后,用戶訪問網(wǎng)站的過程非常簡單,直接從客戶端連接到我們的服務(wù)器。這里面會(huì)有幾個(gè)問題。
首先是訪問速度,比如我的博客在 East Asia 地區(qū),那么美國用戶訪問速度一定會(huì)比中國用戶慢。這個(gè)好解決,對(duì)于靜態(tài)資源,我早就使用了 Azure CDN 來改善全球范圍內(nèi)的速度。然而 CDN 并不能解決所有問題,有些資源訪問還是需要直接到網(wǎng)站服務(wù)器的連接。這時(shí)候物理位置上靠近用戶的部署會(huì)有明顯優(yōu)勢。Azure Front Door 就可以自動(dòng)判斷當(dāng)前離用戶最近的部署,并將用戶轉(zhuǎn)到該部署。
其次是防爆問題,比如香港廢青摧毀了 East Asia 數(shù)據(jù)中心,Azure Front Door 能夠檢測到其中一個(gè)部署爆掉了,在幾十秒到數(shù)分鐘之內(nèi),將中國用戶的流量切換到正常運(yùn)行的部署上,用戶最多感覺網(wǎng)站變慢,但依然可用。
另外是安全問題,黑客或自動(dòng)化腳本經(jīng)常會(huì)掃描互聯(lián)網(wǎng)上的網(wǎng)站,試圖用SQL注入、XSS等手段攻擊網(wǎng)站。那么 Azure Front Door 自帶的 WAF 防火墻可以識(shí)別并阻止這些攻擊,包括DDOS、請(qǐng)求頻率等。或者由于法律法規(guī),你可能想屏蔽某一國家或地區(qū)對(duì)你網(wǎng)站資源的訪問,WAF 也可以配置地區(qū)限制。
如何使用
首先,在All services 里找到并創(chuàng)建一個(gè) Front Door 服務(wù)
第一步?Frontend hosts?就是用戶的入口,你需要?jiǎng)?chuàng)建一個(gè) 自定義名稱.azurefd.net 的入口,隨后可以添加自己的域名。這個(gè)入口的意思也就是最終你需要給用戶使用的URL。比如你的網(wǎng)站原本是:https://996.icu 你給它配了個(gè) https://996icu.azurefd.net 那么用戶訪問后者的效果和訪問前者是一樣的。等全部配置完成后,你可以把域名切到 996.icu,對(duì)用戶訪問來說不會(huì)有任何變化。
在綁定自己域名的時(shí)候,Azure 還會(huì)免費(fèi)贈(zèng)送一個(gè)SSL證書:
第二步 Backend pools 是后臺(tái)有哪些服務(wù)器,你可以選擇 Azure App Service 里既有的網(wǎng)站或者存儲(chǔ)賬戶,也可以自定義到其他云或者自己的數(shù)據(jù)中心上,反正就是個(gè)URL而已,微軟并不強(qiáng)制你要使用 Azure 一條龍。
由于我太窮,Azure上只買得起一個(gè) instance,所以截圖里我就配了一個(gè)后端服務(wù)器。各位在全球范圍內(nèi)有服務(wù)器的都可以加到這個(gè)列表里去,然后就能使用負(fù)載均衡功能了。
第三步是路由規(guī)則,可以根據(jù)自己需要來配置。
防火墻在 Web application firewall 菜單底下可以找到,你可以創(chuàng)建一個(gè)或多個(gè)策略,用于不同的入口。
其中,微軟免費(fèi)贈(zèng)送了一些符合OWASP規(guī)范的防火墻規(guī)則,比如防SQL注入、XSS、PHP漏洞以及JAVA漏洞的攻擊(咦,.NET去哪兒了?我們就當(dāng).NET沒有安全漏洞吧……)
當(dāng)然,你也可以加自己的規(guī)則,比如封掉某個(gè)地區(qū)的IP之類的。為了避免不必要的麻煩,這里我就不截圖我封了哪個(gè)地方了……
WAF 還可以點(diǎn)點(diǎn)鼠標(biāo)限制請(qǐng)求頻率而不用自己寫代碼996:
落魄街頭
用過 Azure 的朋友都知道一個(gè)字:貴。那么這個(gè)牛逼的 Front Door 使用以后,會(huì)不會(huì)導(dǎo)致我們落魄街頭呢?
Azure 官網(wǎng)給出了價(jià)格計(jì)算表:https://azure.microsoft.com/en-us/pricing/details/frontdoor/
Front Door 本身主要流量計(jì)費(fèi)
WAF 和 Front Door 分開計(jì)費(fèi)
看起來并不會(huì)落魄街頭!
想要了解 Azure Front Door 的更多操作,可以點(diǎn)擊【閱讀原文】,或訪問微軟官方文檔:
https://docs.microsoft.com/en-us/azure/frontdoor/?WT.mc_id=AZ-MVP-5002809?
總結(jié)
以上是生活随笔為你收集整理的未雨绸缪 | 一文简介 Azure Front Door的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# 结合 Golang 开发
- 下一篇: 左手专注,右手时间