Amazon ได้ออกมาเปิดเผยถึงสาเหตุที่ Amazon S3 ล่มไปเมื่อวันก่อนจนทำให้เว็บไซต์และ Mobile Application จำนวนมากที่ทำงานอยู่บน Amazon Web Services (AWS) ไม่สามารถทำงานได้ ว่าเกิดจากการที่วิศวกรของ AWS เองนั้นรันคำสั่งผิดพลาดนั่นเอง
เหตุนี้เริ่มต้นจากการที่ทีม Amazon S3 นั้นกำลังตรวจหาสาเหตุที่ระบบ Billing ของ S3 นั้นทำงานช้า และได้ทำกาารเรียกใช้คำสั่งเพื่อดึง Server บางส่วนใน S3 Subsystem ที่เกี่ยวข้องกับการทำ Billing ออกไป แต่โชคร้ายที่หนึ่งใน Input ของคำสั่งเหล่านั้นผิด และทำให้ Server จำนวนมากกว่าที่ต้องการนั้นถูกดึงออกจากระบบ และทำให้ Server ของ S3 Subsystem อีก 2 ระบบนั้นถูกถอดออกไปด้วย
โชคร้ายยังไม่จบเพียงเท่านี้ เมื่อ S3 Subsystem 2 ชุดที่ถูกถอดออกไปโดยไม่ตั้งใจนั้นมีหน้าที่จัดการระบบ Indexing สำหรับ Object ต่างๆ ใน S3 และการจอง Storage Instance เพิ่ม และการที่บริการ Cloud ของ AWS ขาด 2 ระบบนี้ไป ก็ทำให้บริการอื่นๆ ของ AWS เองที่ต้องการมาเชื่อมต่อข้อมูลจาก S3 นี้ไม่สามารถเชื่อมต่อได้สำเร็จ ไม่ว่าจะเป็น EC2 หรือ Lambda ก็ตาม ส่งผลให้เว็บไซต์และ Mobile Application ทั้งหมดที่ต้องอาศัยข้อมูลบน S3 นั้นล่มกันไปทั้งหมดที่ Virginia US-East-1 Region และ AWS Service Dashboard เองนั้นก็หยุดทำงานไปด้วยเนื่องจากต้องใช้ข้อมูลบน S3 เช่นกัน
Amazon ใช้เวลาทั้งสิ้นประมาณ 4 ชั่วโมงครึ่งในการกู้บริการทั้งหมดของ S3 คืนมาได้สำเร็จ ซึ่งส่วนหนึ่งของการที่ต้องใช้เวลามากในการกู้ระบบคืนมานี้ เพราะที่ผ่านมา AWS แทบไม่เคยต้อง Restart ระบบ Indexing ขนาดใหญ่ทั้งระบบมาก่อน ทำให้บริการที่ต้องจัดการข้อมูลซึ่งมีขนาดใหญ่มากนี้ต้องมีการตรวจสอบความปลอดภัยและความถูกต้องของข้อมูลก่อน และขั้นตอนนี้ก็กินเวลามากกว่าที่คิด
Amazon กล่าวว่าถัดจากนี้ไปจะเพิ่มกระบวนการการทำงานให้รัดกุมมากยิ่งขึ้นเพื่อป้องกันไม่ให้เกิดเหตุการณ์เหล่านี้ขึ้นอีก และจำกัดความสามารถของเครื่องมือในการ Debug ปัญหาใดๆ ให้ไม่ทำการปิดหลายๆ ระบบพร้อมกันได้อีก และจะทำการตัดบริการเหล่านี้ให้ออกเป็นส่วนย่อยยิ่งกว่าเดิม เพื่อให้แต่ละบริการย่อยสามารถถูกปิดได้โดยไม่ส่งผลกระทบต่อส่วนอื่นๆ ของ S3 พร้อมทั้งทิ้งท้ายด้วยการขออภัยจากผู้ใช้บริการทุกท่าน และจะเก็บเรื่องราวครั้งนี้เอาไว้เป็นบทเรียน
ผู้ที่สนใจสามารถอ่านรายละเอียดฉบับเต็มได้ที่ https://aws.amazon.com/message/41926/ เลยครับ
ที่มา: https://www.theregister.co.uk/2017/03/02/aws_s3_crash_result_of_fatfingered_command/