AWS中斷表明即使在云中也需要冗余

2019-10-16 17:38:16

如果有人對Amazon Web Services在保持商業網站平穩運行中的關鍵作用有任何疑問,那么該問題在2月28日該公司的S3存儲服務的一部分關閉時得到了明確的答復。這次故障使從Apple到Zendesk等公司運營的數十種Web服務消失了。

令許多用戶感到沮喪的是,應該報告其Web服務運行狀況的Amazon AWS儀表板報告了一切正常運行(即使顯然不是)。這樣做的原因是,儀表板依賴于Amazon的S3存儲,無法接收有關中斷的更新信息。

AWS承認存在問題,并承諾保持客戶更新。但是更新在下午中旬停止了。AWS團隊的最后一條推文是:“對于S3,我們認為我們了解根本原因,并且正在努力進行修復。所有服務的未來更新都將顯示在儀表板上。”此前,該公司曾承諾在Twitter上進行更新。

但是,一旦公司在其數據中心所在的北弗吉尼亞州的位置再次運行了S3服務,Service Health Dashboard就開始準確報告情況。

那時,位于該數據中心狀態報告中的服務表明該問題已解決。AWS在下午2:19報道說,“在太平洋標準時間上午9:37到下午1:57之間,我們在與其他AWS服務進行通信時,在US-EAST-1地區中API網關請求的錯誤率提高了。部署新的API或修改現有的API也受到了影響。問題已解決,服務正常運行。”

對儀表盤進行仔細檢查后發現,位于亞馬遜北弗吉尼亞州的某些服務可能仍然微不足道,但在其他方面看來它仍然可以正常運行。

那么,Amazon S3服務實際上發生了什么?該公司還不是很好,但是它對API網關請求的錯誤率升高的評論表明該問題與基礎架構有關,這可能是路由器問題。

但是,當然,這只是一個猜測。但是,最近許多大規模的服務中斷(例如航空公司預訂系統)似乎都歸結為路由器問題,因此做出這樣的假設是合理的。另外,路由器更新經常是此類問題的根本原因。亞馬遜沒有說出問題的真正原因是什么,所以它可能是從黑客入侵到配置問題。我們只是不知道。

我們確實知道的一件事是,AWS及其S3服務是問題的一部分,但這不是因為它不可靠。實際上,Amazon的服務是如此可靠,以至于其客戶對AWS的依賴程度可能比其應有的程度更高。從大多數客戶的角度來看,AWS永遠不會失敗,因此他們不認為需要計劃停機。

當然,除了它是什么時候。然后,正如我們看到的那樣,客戶幾乎沒有任何更新和解釋。但是,缺乏解釋可能會令人討厭,客戶真正需要的是重新開始工作。這需要一些計劃。

該計劃的第一階段必須是為您保留在S3存儲服務中的項目找到備用存儲位置。這可能意味著將備份保留在另一個區域的S3存儲中,或者可能意味著完全使用另一個存儲服務。這樣,如果S3存儲出現故障,則可以無縫切換到其他服務。

理想情況下,Amazon可以在其S3產品中提供冗余存儲,因此,如果該服務像2月28日那樣發生故障,則數據請求將自動路由到另一個站點。該計劃的潛在問題是,如果冗余依賴于還存儲在AWS中的信息,那么當區域出現故障時,冗余也是如此。

但是,假設亞馬遜可以避免犯這種錯誤,并且我確信該公司可以做到,那么它就有一種很好的方法來保護客戶,使其不會犯同樣的錯誤,即假設亞馬遜永遠不會倒下。

更好的方法是假設AWS和所有其他云服務都將崩潰,然后計劃解決方案。實際上,這樣的假設是良好的安全實踐。冗余對于確保您的數據始終無故障可用非常重要。

這就是為什么現有數據中心具有冗余服務器,冗余網絡路由器和電源的原因。這也是為什么他們擁有比實際所需更多的發電機來保持數據中心正常運行的原因。

一些數據中心甚至超出了對可靠性的追求,甚至達到了擁有多余的冷凍水庫的程度,因此不太可能損失系統冷卻劑。擁有冗余數據存儲庫只是確保可以交付客戶所需信息的一部分。

借助AWS及其高度的可靠性,很容易忘記這樣的課程,但它們仍然很重要。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。