亞馬遜網絡服務(AWS)周四報道,AWS出了幾個小時狀況導致周二幾個主要網站及另外幾個網站離線,其原因是一字之錯。
云基礎架構提供商AWS發布了以下的解釋:
Amazon Simple Storage Service(S3)團隊當時在調試系統糾正一個導致S3計費系統進展比預期更慢的問題。太平洋標準時間早上9:37分( 北京時間次日凌晨2:37),一名S3團隊授權成員根據既定步驟執行了一個命令,目的是從S3計費過程的S3子系統里移除少量的服務器。不幸的是,其中的一個命令輸入錯誤,導致多個原本不應該被移除的服務器被移除。
粗心大意的錯誤導致對美國東部區全部S3對象至為關鍵的兩個子系統離線,美國東部區內有大量的數據中心,是最早期的亞馬遜區。兩個系統都需要從頭重新啟動。亞馬遜指,此過程以及運行必要的安全檢查“花了比預期更長的時間”。
兩個系統重新啟動時,S3無法接受服務請求。該地區其他依靠S3存儲的AWS服務也受到影響,其中包括S3控制臺、亞馬遜彈性計算云(EC2)新實例的啟動、亞馬遜彈性塊存儲(EBS)卷(其數據需要從S3快照里獲取)和AWS Lambda。
亞馬遜稱,索引子系統在太平洋時間下午1:18完全恢復,而位置子系統于下午 1:54恢復。至此,S3操作恢復正常。
AWS稱鑒于此次事件的發生正在引入“幾個改變”,包括防止不正確輸入的步驟,以避免同類問題的發生。
AWS博客里做了這樣的解釋,“盡管在這種情況下移除一部分系統功能是一個重要的操作手法,但其工具軟件不應該這么快地將許多系統功能移除掉。我們已經對該工具軟件進行了修改,使其更慢地移除系統功能,并添加了安全措施,以防止在移除系統功能時導致任何子系統的功能低于最低水平。”
AWS采取的其他主要措施包括:他們開始將索引子系統劃分成更小的小區。AWS還改了AWS管理控制臺服務健康儀表板,以使其可以在多個AWS區域運行,頗具諷刺意味的是,周二的一字之錯導致儀表板不能用,AWS只得靠推特(Twitter)就有關事宜通知客戶。