最新AWS故障分析報告出爐:詳解事故原因與根源

10月19日晚11:48至10月20日凌晨2:40期間,亞馬遜DynamoDB在美國弗吉尼亞州US-East-1區域(部署應用程序的主要區域)出現了“API錯誤率上升”的情況。
這導致包括Snapchat、Fortnite、Ring、Roblox、Coinbase和即時通訊應用Signal在內的各種應用程序和服務無法使用。
AWS描述了在此期間,“依賴DynamoDB的客戶和其他AWS服務無法與該服務建立新連接”。
AWS表示,此次事件是由服務自動化DNS管理系統中的“潛在缺陷”(即隱藏故障)引發的。AWS指出,這導致了DynamoDB的端點解析失敗。
DNS(也被稱為互聯網電話簿)是將Forbes.com等域名轉換為IP地址的系統,以便瀏覽器加載互聯網資源。
AWS表示,像DynamoDB這樣的服務在每個區域“維護著數十萬條DNS記錄,以運營一個由大量異構負載均衡器組成的龐大集群”。“自動化對于確保這些DNS記錄頻繁更新至關重要,以便在有可用容量時增加容量、正確處理硬件故障,以及高效分配流量以優化客戶體驗。”AWS稱。
但是,DynamoDB DNS管理系統中的“潛在競態條件”(即當多個請求同時發送到同一端點時發生的情況)導致該服務區域端點(dynamodb.us-east-1.amazonaws.com)的DNS記錄出現不正確的空記錄,而自動化系統未能修復這一問題。
網絡負載均衡器的問題
隨后,當系統開始恢復時,10月20日凌晨5:30至下午2:09,同一區域的部分網絡負載均衡器出現了連接錯誤增加的情況。“這是由NLB集群中的健康檢查失敗導致的,進而使部分NLB的連接錯誤增加。”AWS解釋道。
與此同時,10月20日凌晨2:25至上午10:36,新的EC2實例啟動失敗。AWS表示,雖然從上午10:37開始實例啟動逐漸成功,但部分新啟動的實例出現了連接問題,這些問題在下午1:50得到解決。
“新啟動的EC2實例網絡狀態傳播延遲也對網絡負載均衡器服務和使用NLB的AWS服務造成了影響。”AWS稱。
亞馬遜就服務中斷事件致歉并說明后續措施
AWS現已就此事件發布道歉聲明。“我們為此次事件給客戶帶來的影響深表歉意。”AWS寫道,“盡管我們在運營服務方面一直保持著高可用性的良好記錄,但我們深知服務對客戶、他們的應用程序和終端用戶以及業務的重要性。我們深知此次事件對許多客戶造成了重大影響。我們將竭盡所能從此次事件中吸取教訓,并利用它進一步提升我們的可用性。”
AWS表示,它“正在因此次運營事件做出多項調整”。
例如,它已在全球范圍內禁用了DynamoDB DNS規劃器和DNS執行器自動化系統。“在重新啟用此自動化系統之前,我們將修復競態條件場景,并增加額外保護措施,以防止應用不正確的DNS計劃。”
對于NLB,AWS正在增加一個速度控制機制,以限制當健康檢查失敗導致可用區故障轉移時單個NLB可以移除的容量。
對于EC2,AWS正在構建一個額外的測試套件,以擴充其現有的規模測試,該測試將演練DWFM恢復工作流程,以“識別未來可能出現的任何問題”。
此次AWS服務中斷事件影響巨大,部分公司因依賴的應用程序出現問題而數小時無法運營。AWS迅速發布了事后分析報告,這一點值得肯定。然而,其聲譽已經受到了損害。




















