如果有人對Amazon Web Services在保持商業(yè)網(wǎng)站平穩(wěn)運(yùn)行中的關(guān)鍵作用有任何疑問,那么該問題在2月28日該公司的S3存儲服務(wù)的一部分關(guān)閉時得到了明確的答復(fù)。這次故障使從Apple到Zendesk等公司運(yùn)營的數(shù)十種Web服務(wù)消失了。
令許多用戶感到沮喪的是,應(yīng)該報告其Web服務(wù)運(yùn)行狀況的Amazon AWS儀表板報告了一切正常運(yùn)行(即使顯然不是)。這樣做的原因是,儀表板依賴于Amazon的S3存儲,無法接收有關(guān)中斷的更新信息。
AWS承認(rèn)存在問題,并承諾保持客戶更新。但是更新在下午中旬停止了。AWS團(tuán)隊的最后一條推文是:“對于S3,我們認(rèn)為我們了解根本原因,并且正在努力進(jìn)行修復(fù)。所有服務(wù)的未來更新都將顯示在儀表板上。”此前,該公司曾承諾在Twitter上進(jìn)行更新。
但是,一旦公司在其數(shù)據(jù)中心所在的北弗吉尼亞州的位置再次運(yùn)行了S3服務(wù),Service Health Dashboard就開始準(zhǔn)確報告情況。
那時,位于該數(shù)據(jù)中心狀態(tài)報告中的服務(wù)表明該問題已解決。AWS在下午2:19報道說,“在太平洋標(biāo)準(zhǔn)時間上午9:37到下午1:57之間,我們在與其他AWS服務(wù)進(jìn)行通信時,在US-EAST-1地區(qū)中API網(wǎng)關(guān)請求的錯誤率提高了。部署新的API或修改現(xiàn)有的API也受到了影響。問題已解決,服務(wù)正常運(yùn)行。”
對儀表盤進(jìn)行仔細(xì)檢查后發(fā)現(xiàn),位于亞馬遜北弗吉尼亞州的某些服務(wù)可能仍然微不足道,但在其他方面看來它仍然可以正常運(yùn)行。
那么,Amazon S3服務(wù)實際上發(fā)生了什么?該公司還不是很好,但是它對API網(wǎng)關(guān)請求的錯誤率升高的評論表明該問題與基礎(chǔ)架構(gòu)有關(guān),這可能是路由器問題。
但是,當(dāng)然,這只是一個猜測。但是,最近許多大規(guī)模的服務(wù)中斷(例如航空公司預(yù)訂系統(tǒng))似乎都?xì)w結(jié)為路由器問題,因此做出這樣的假設(shè)是合理的。另外,路由器更新經(jīng)常是此類問題的根本原因。亞馬遜沒有說出問題的真正原因是什么,所以它可能是從黑客入侵到配置問題。我們只是不知道。
我們確實知道的一件事是,AWS及其S3服務(wù)是問題的一部分,但這不是因為它不可靠。實際上,Amazon的服務(wù)是如此可靠,以至于其客戶對AWS的依賴程度可能比其應(yīng)有的程度更高。從大多數(shù)客戶的角度來看,AWS永遠(yuǎn)不會失敗,因此他們不認(rèn)為需要計劃停機(jī)。
當(dāng)然,除了它是什么時候。然后,正如我們看到的那樣,客戶幾乎沒有任何更新和解釋。但是,缺乏解釋可能會令人討厭,客戶真正需要的是重新開始工作。這需要一些計劃。
該計劃的第一階段必須是為您保留在S3存儲服務(wù)中的項目找到備用存儲位置。這可能意味著將備份保留在另一個區(qū)域的S3存儲中,或者可能意味著完全使用另一個存儲服務(wù)。這樣,如果S3存儲出現(xiàn)故障,則可以無縫切換到其他服務(wù)。
理想情況下,Amazon可以在其S3產(chǎn)品中提供冗余存儲,因此,如果該服務(wù)像2月28日那樣發(fā)生故障,則數(shù)據(jù)請求將自動路由到另一個站點(diǎn)。該計劃的潛在問題是,如果冗余依賴于還存儲在AWS中的信息,那么當(dāng)區(qū)域出現(xiàn)故障時,冗余也是如此。
但是,假設(shè)亞馬遜可以避免犯這種錯誤,并且我確信該公司可以做到,那么它就有一種很好的方法來保護(hù)客戶,使其不會犯同樣的錯誤,即假設(shè)亞馬遜永遠(yuǎn)不會倒下。
更好的方法是假設(shè)AWS和所有其他云服務(wù)都將崩潰,然后計劃解決方案。實際上,這樣的假設(shè)是良好的安全實踐。冗余對于確保您的數(shù)據(jù)始終無故障可用非常重要。
這就是為什么現(xiàn)有數(shù)據(jù)中心具有冗余服務(wù)器,冗余網(wǎng)絡(luò)路由器和電源的原因。這也是為什么他們擁有比實際所需更多的發(fā)電機(jī)來保持?jǐn)?shù)據(jù)中心正常運(yùn)行的原因。
一些數(shù)據(jù)中心甚至超出了對可靠性的追求,甚至達(dá)到了擁有多余的冷凍水庫的程度,因此不太可能損失系統(tǒng)冷卻劑。擁有冗余數(shù)據(jù)存儲庫只是確??梢越桓犊蛻羲栊畔⒌囊徊糠?。
借助AWS及其高度的可靠性,很容易忘記這樣的課程,但它們?nèi)匀缓苤匾?/p>