由於軟件部署不當,Cloudflare 發生 CPU 耗盡故障

7月2日,全球內容傳遞網絡CDN加速服務商Cloudflare出現故障,受該故障影響,許多網站出現了宕機,最明顯的就是在訪問時提示502錯誤,即當用戶訪問站點時,瀏覽器向託管頁面的服務器發送請求,服務器可以接受請求,但無法完成請求。

圖片來源:TechTudo,Cloudflare下線,用戶看到消息“502 Bad Gateway”

事故原因

故障發生之後,Cloudflare 針對此問題積極進行了修復,Cloudflare 首席執行官 Matthew Prince 表示此次宕機事件並非黑客攻擊所引發的,而是服務器超載了,其在Twitter上寫道:“由於CPU出現大幅飆升,導致主系統和備份系統崩潰。我們關閉導致CPU峯值的進程。服務在約30分鐘內恢復正常。我們現在正在調查發生的事情的根本原因。 ”

根據Cloudflare 博客的描述,導致此次中斷的原因是在新Cloudflare WAF託管規則的例行部署期間,在Cloudflare Web 應用程序防火牆(WAF)中部署了一個配置錯誤的規則。

新規則的目的是改進阻止攻擊中使用的內聯JavaScript,並以模擬模式進行部署,在這種模式下,新規則會識別並記錄問題,但實際上不會阻止任何客戶流量,因此我們可以測量假陽性率,並確保新規則在部署到完整生產環境中時不會出現問題。

但不幸的是,其中一個規則包含了一個正則表達式,導致 Cloudflare 全球機器上的CPU峯值達到100%,而這100%的CPU峯值導致了前面客戶看到的502錯誤。在最糟糕的時候,流量下降了82%。

一個POP中的CPU峯值

在我們所知道的所有反向代理服務網站中,有78.9%在使用Cloudflare。如果我們再把範圍擴大到所有網站,全球有9.6%的網站在使用Cloudflare的服務。因此,Cloudflare此次事故影響範圍十分廣泛,印度、菲律賓、塞爾維亞、巴西、巴基斯坦和伊拉克等全球個地區都遭遇了服務器錯誤。還有媒體報道稱,Cloudflare的名字目前已經排在了Twitter的全球趨勢話題中的第二位。

Cloudflare官方博客公佈的受影響地區名單:

Cloudflare 十週年之際遇故障

Cloudflare是一家成立於2009年的互聯網性能和安全公司,2019年 Cloudflare 稱除了75個國家的175個數據中心之外,還向超過1600萬個域、站點、API、移動應用程序和任何連接到互聯網的東西提供服務,網絡容量爲30Tbps。

6月24日,Cloudflare就已經發生過一次故障。當時的起因是賓夕法尼亞州的一家小型ISP AS33154 - DQE Communications 使用 Noction 的 BGP 優化器優化其內部網絡的路由,由於錯誤配置,向客戶 Allegheny 宣佈了特定的路由信息,然後這些路由信息又發給了轉運服務商 Verizon,而 Verizon 不加甄選的接受了路由公告,導致流量路由經過了一家小型 ISP,導致了包括亞馬遜、Cloudflare 和 Facebook 等公司的服務無法訪問。

故障發生時,Cloudera正在慶祝十週年生日,隨後Cloudflare 發佈聲明稱:“今天早些時候,大範圍的BGP路由泄漏影響了許多 Internet 服務和 Cloudflare 的一部分流量。Cloudflare 的所有系統繼續正常運行,但我們的一部分域的流量無法到達我們。此時,網絡中斷已修復,流量級別恢復正常。”

據瞭解在6月24日發生的事故中,受影響的公司包括播客應用程序 Overcast、聊天服務Discord、託管服務提供商 WP Engine、電子商務託管服務商 Sonassi、公共網絡前端 CDN 服務CDNJS,以及其它依賴網絡託管或者是與Cloudflare合作提供其 CDN 服務的網站,比較諷刺的是,用於檢查Web服務中斷的 DownDetector 站點也受到了影響。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章