
AWS
Amazon雲端服務(Amazon Web Services,AWS)的美東-1區域(US-EAST-1, 北維吉尼亞)在太平洋夏令時間(PDT)10月19日23:49(臺灣時間10月20日14:49)出現故障,隨後蔓延成大規模中斷,總計影響142項服務,波及上千家客戶,且在15小時之後才完全復原。AWS周四(10/23)公布了肇事原因,指出是DynamoDB DNS軟體自動化出錯造成的連鎖反應。
US-EAST-1不僅是AWS第一個建立的區域,也是全球規模最大也最核心的區域,它匯集了許多全球控制平臺與管理後端,一旦故障,不僅會影響該區用戶,也會殃及其它依賴該區端點的全球用戶。至於Amazon DynamoDB則是AWS提供的全託管NoSQL資料庫服務,專為高可用、低延遲與自動擴展而設計,為AWS內部與外部應用最依賴的資料層,支撐如Amazon.com、Alexa、Netflix等高流量系統,與Google Cloud Bigtable及Azure Cosmos DB並列為三大雲端NoSQL主力。
根據AWS的說明,DynamoDB的DNS管理分為兩個模組,一是負責生成新DNS設定計畫的DNS Planner,二是負責把計畫套用到Amazon Route53的DNS Enactor,AWS在3個不同可用區(AZ)中獨立運行3個DNS Enactor以提高可用性。
DynamoDB DNS的正常運作流程是在DNS Enactor獲得最新計畫後,在部署前會先確認該計畫是否為最新的,再逐一更新不同的端點,倘若遇到其它Enactor正在更新同一端點,就會重試直到成功,在完成所有端點的更新後,便會執行清理程序,刪除明顯過期的計畫。
這次的問題發生在Enactor A開始部署一個計畫,但在更新多個DNS端點時遇到重大延遲,使得它進展緩慢,也不斷重試;在這同時,DNS Planner依然持續運作,並已發行許多新版計畫;獨立運作的Enactor B開始部署其中一個最新計畫,而且快速完成了所有端點的更新;完成更新的Enactor B啟動了清理程序。然而,落後的Enactor A這時才正把過時的計畫部署在Enactor B已經完成部署的US-EAST-1端點,緊接著 Enactor B 的清理程序刪除了這個過時計畫,使得該區域端點的IP位址全數被移除,變成空白的DNS無法被偵測或辨識,而不能再部署任何計畫。
DynamoDB DNS的問題雖然花了約莫3小時就解決,所引起的連鎖反應卻持續了十幾個小時。例如仰賴DynamoDB的EC2實例狀態管理工具DropletWorkflow Manager(DWFM),在此一故障期間租約大量失效,當DNS恢復後,DWFM同時嘗試重建數十萬筆租約,造成了壅塞崩潰,也讓新的EC2實例無法啟動,網路設定延遲,進而影響網路負載平衡器NLB及無伺服器運算服務AWS Lambda。
AWS這次的事故凸顯出雲端架構中自動化系統的脆弱依賴性。原本為提升可靠性而設計的多重自動化與分區冗餘機制,卻在極端條件下彼此衝突;雖然DynamoDB的DNS問題僅持續3小時,但所牽動的EC2、NLB、Lambda等核心服務出現連鎖故障,讓整體復原時間拉長至15小時。AWS已暫時停用全球的DynamoDB DNS Planner與DynamoDB DNS Enactor自動化模組,直至相關安全檢查、競態條件修正與控制機制完成。
熱門新聞
2025-11-12
2025-11-10
2025-11-12
2025-11-10
2025-11-10
2025-11-12