หลังจากที่ช่วงวันที่ 28 กุมภาพันธ์ 2017(เวลาประเทศไทยคือเช้าวันที่ 1 มีนาคม 2017) ที่ผ่านมา Amazon Simple Storage Service(S3) ล่มถึง 4 ชม. ทำให้เว็บไซด์ใหญ่ๆต่างๆพากันไม่สามารถให้บริการไปด้วย ล่าสุดหลังจากมีการตรวจสอบทาง Amazon สรุปออกมาแล้วครับว่าเกิดจากการ’ใส่คำสั่งผิด’

ขณะที่ทาง Amazon กำลังวิเคราะห์ว่า ทำไมเครื่องระบบคิดเงินของ S3 ทำไมถึงทำงานได้ช้ากว่าที่ควรจะเป็น จากนั้นในเวลา 09:37 AM EST มี S3 user ได้ใช้คำสั่งเพื่อที่จะเอา server กลุ่มเล็กๆกลุ่มหนึ่งออกจากการใช้งานตามคำสั่งในหนังสือคู่มือ แต่โชคไม่ดีที่เกิดการใส่คำสั่งผิดพลาดทำให้มีการเอา server กลุ่มใหญ่กว่าที่ควรจะเป็นออกจากระบบ ซึ่ง Server บางส่วนในกลุ่มนั้นถูกใช้ในการให้ระบบ index ซึ่งเกี่ยวกับการจัดการ metadata และ location information ของ S3 object ในทุกๆแห่งทั่วโลก ซึ่งเอาไว้จัดการทั้ง GET, LIST, PUT, และ DELETE requests

ส่วนอีกระบบที่ได้รับผลกระทบจากการเอา server ออกคือ ระบบการบรรจุ (placement system) ใช้สำหรับการแบ่งส่วน storage และเป็นตัวที่ required ระบบ index เพื่อให้ทำงานได้อย่างเหมาะสมและถูกต้อง การที่มีการ remove server ไปบางส่วนทำให้ระบบจำเป็นต้อง restart ซึ่งในขณะที่ระบบต่างๆกำลัง restart ทำให้ไม่สามารถ service request ใดๆได้ ทำให้ทั้ง Amazon S3 console, Amazon Elastic Compute Cloud (EC2) สำหรับการรัน instance ใหม่, Amazon Elastic Block Store (EBS) ที่เป็นส่วนข้อมูลที่ S3 snapshot ต้องการ และ AWS Lambda service ใน region US-EAST-1 ไม่สามารถใช้งานได้

เนื่องด้วย S3 มีความโตขึ้นมามากในหลายๆปีที่ผ่านมา จึงต้องใช้เวลามากในการ restart รวมถึงการตรวจสอบ metadata ต่างๆว่ามีความถูกต้องและไม่มีปัญหาใดๆ จึงยิ่งใช้เวลานานมากกว่าที่ Amazon คิด

ระบบ index เริ่มกลับมาใช้งานได้ตอน 12:26PM PST จากนั้น 1:54PM PST placement system ก็เริ่มกลับมาใช้งานได้ หลังจากที่ index system กลับมาแบบ full function จากนั้น S3 จึงเริ่มกลับมาใช้งานได้ปกติในทุกๆระบบ

จากเหตุการณ์นี้มีการปรับปรุงเครื่องมือให้ทำงานช้ากว่าเดิมและเพิ่มระบบป้องกันภัยบางส่วนเข้าไปเพื่อป้องกันการเอา Server ออกมากกว่าที่ระบบจำเป็นต้องใช้ (minimum required capacity level) อีกทั้งมีการปรับหลายๆอย่างในการ recover อีกด้วย

Source:: AWS