เน็ตล่มทั่วโลกอีกแล้ว! ทำไมเรื่องแบบนี้ถึงเกิดขึ้นซ้ำซาก?

 

ผมขอเริ่มที่ข่าวใหญ่เมื่อวันจันทร์ที่ผ่านมาครับ Amazon Web Services (AWS) ที่เป็นแพลตฟอร์มคลาวด์คอมพิวติ้งที่คอยขับเคลื่อนอินเทอร์เน็ตเกือบทั้งโลกเนี่ย ดันล่มไปหลายชั่วโมง ทำกระเอาเว็บไซต์กับแอปดังๆ หลายตัวเจ๊งไปตามๆ กัน

ไม่ว่าจะเป็นแอปธนาคาร, โซเชียลเน็ตเวิร์ก, เว็บจองตั๋วเครื่องบิน หรือแม้แต่เว็บช้อปปิ้งออนไลน์ บริการนับพันรายการหยุดชะงักไปหมดเลยครับ ผู้คนนับล้านทั่วโลก (โดยเฉพาะฝั่ง US East Coast ที่กำลังเดินทางไปทำงาน) ถึงกับสั่งกาแฟผ่านมือถือหรือเข้าแอปที่จำเป็นต้องใช้ไม่ได้กันเลยทีเดียว

การล่มครั้งล่าสุดนี้ตอกย้ำให้เราเห็นเลยครับว่า โครงสร้างหลัก (backbone) ของอินเทอร์เน็ตเนี่ย มันเปราะบางขนาดไหน (แม้จะล่มแค่ช่วงสั้นๆ ก็ตาม) และมันก็สะท้อนว่าโลกเราพึ่งพาบริการออนไลน์พวกนี้มากแค่ไหน

ถึงแม้ว่า AWS (และคู่แข่ง) โดยทั่วไปจะค่อนข้างเสถียร แต่อินเทอร์เน็ตมันก็เป็นโครงข่ายที่ซับซ้อน บริการต่างๆ มันทับซ้อนกันอยู่ ความน่าเชื่อถือของมันก็ดันไปขึ้นอยู่กับ "โค้ดที่อ่อนแอที่สุด" (weakest code) ของระบบ

สาเหตุที่แท้จริงของเหตุการณ์วันจันทร์น่ะยังไม่ทราบแน่ชัด แต่ดูเหมือนว่าบริการที่ใช้แปลง "ชื่อเว็บที่เราคุ้นเคย" (เช่น drkrit.com) ไปเป็น "IP Address" (ตัวเลขที่เครื่องเข้าใจ) ดันสื่อสารกับฐานข้อมูลขนาดใหญ่ของบริษัทหลายพันแห่งที่โฮสต์อยู่บน Amazon ไม่ได้ซะงั้น

ถ้าดูจากเหตุการณ์ล่มในอดีต สาเหตุก็มีสารพัดครับ ตั้งแต่อัปเดตผิดพลาด, เผลอใส่โค้ดที่มีปัญหาเข้าไป, หรือการเปลี่ยนแปลงซอฟต์แวร์ของเจ้าอื่น (third-party) ที่ดันไม่เข้ากับบริการหลัก ส่วนสาเหตุอื่นๆ ที่เจอน้อยหน่อย ก็เช่น สายเคเบิลอินเทอร์เน็ตขาด, การโจมตีทางไซเบอร์ หรือการโจมตีแบบ DDoS (ยิงทราฟฟิกจนเซิร์ฟเวอร์ล่ม)

แต่การที่เรื่องแบบนี้เกิดขึ้นค่อนข้างบ่อย มันโชว์ให้เห็นเลยครับว่า ระบบยังขาด "การสำรองระบบ" (redundancies) ที่จำเป็น และขาดคู่แข่งในตลาดที่มากพอ ผู้เชี่ยวชาญบางคนถึงกับบอกว่า บริษัทส่วนใหญ่มักจะ "ใส่ไข่ทุกใบไว้ในตะกร้าคลาวด์ใบเดียว" (put all their eggs in one cloud services basket) มากเกินไป

คุณ Rob Jardin, CDO จาก NymVPN (บริษัท Cybersecurity) บอกว่า "ยังไม่มีสัญญาณ" ว่านี่เป็นการโจมตีทางไซเบอร์นะครับ "ดูเหมือนจะเป็นความผิดพลาดทางเทคนิคที่ศูนย์ข้อมูลหลักแห่งหนึ่งของ Amazon มากกว่า"

เขาเสริมด้วยว่า "เดิมทีอินเทอร์เน็ตถูกออกแบบมาให้ 'กระจายศูนย์' (decentralized) และทนทาน แต่ทุกวันนี้ ระบบนิเวศออนไลน์ส่วนใหญ่กลับไปกระจุกตัวอยู่กับผู้ให้บริการคลาวด์ไม่กี่ภูมิภาค พอภูมิภาคใดภูมิภาคหนึ่งเจอปัญหา ผลกระทบมันเลยเกิดขึ้นทันทีและเป็นวงกว้าง" คุณ Jardin บอกว่า "ปัญหาพวกนี้เกิดขึ้นได้เมื่อระบบทำงานหนักเกินไป (overloaded) หรือส่วนสำคัญของเครือข่ายล่ม และเพราะเว็บกับแอปจำนวนมากต้องพึ่งพา AWS ผลกระทบมันเลยลามไปเร็วมาก"

เอาจริงๆ AWS ก็ไม่ได้ล่มหนักๆ แบบนี้บ่อยนะครับ ครั้งสุดท้ายก็โน่นเลย ปี 2021 คุณ Mike Chapple ผู้เชี่ยวชาญด้านความปลอดภัยไซเบอร์จาก University of Notre Dame บอกว่า "มันก็น่าทึ่งนะที่พวกเขาสามารถรันระบบสเกลใหญ่ขนาดนี้ได้โดยไม่ล่มบ่อยกว่านี้"

"เหตุผลที่เหตุการณ์พวกนี้เป็นที่สังเกตมาก ก็เพราะ 'ผลกระทบ' ของมัน" เขาบอกกับ CNN "ถ้าบริษัทเดียวมีปัญหาที่ Data Center ของตัวเอง มันก็แค่กระทบสินค้าและบริการของบริษัทนั้นๆ (แต่พอเป็น AWS มันกระทบหมด)"

ย้อนไปปี 2024 เหตุการณ์ไอทีล่มครั้งใหญ่ที่สุดในประวัติศาสตร์ ก็เกิดจากความผิดพลาดของซอฟต์แวร์ CrowdStrike ที่ทำคอมพิวเตอร์แครชไปทั่วโลก ทำเอาเที่ยวบินต้องยกเลิก โรงพยาบาลปั่นป่วน สร้างความเสียหายทางธุรกิจโดยตรงไปกว่า 5 พันล้านดอลลาร์ (เกิดจากบั๊กในระบบทดสอบบนคลาวด์ของ CrowdStrike ที่ดันปล่อยอัปเดตที่มีปัญหาออกไป) หรือปีที่แล้ว เครือข่ายของ AT&T ก็ล่มไปหลายครั้ง รวมถึงครั้งที่ล่มนาน 11 ชั่วโมง ทำเอาคนทำงาน Gig worker หลายคนทำงานไม่ได้

กลับมาที่คำถามเดิมครับ แล้ววันจันทร์มันเกิดอะไรขึ้นกันแน่?

AWS คือผู้ให้บริการคลาวด์ที่โฮสต์บริการออนไลน์ส่วนใหญ่ของโลก (เรื่องมันเริ่มจากสมัย Amazon ก่อตั้งใหม่ๆ ที่ต้องมีเซิร์ฟเวอร์สำรองเยอะๆ ไว้รับมือช่วงวันหยุด พอช่วงเวลาอื่นของปี เซิร์ฟเวอร์มันว่าง Amazon เลยคิดว่าเอาไปให้บริษัทอื่นเช่าใช้ได้ จนเกิดเป็น AWS)

หนึ่งในบริการของ AWS คือ DynamoDB ซึ่งเป็นฐานข้อมูลที่เก็บข้อมูลของบริษัทต่างๆ (รวมถึงข้อมูลลูกค้า) Amazon บอกเมื่อวันจันทร์ว่า ลูกค้าไม่สามารถเข้าถึงข้อมูลที่เก็บใน DynamoDB ได้ เพราะระบบ Domain Name System (DNS) หรือที่เราเรียกง่ายๆ ว่า "สมุดโทรศัพท์ของอินเทอร์เน็ต" ดันเจอปัญหา

อธิบายง่ายๆ DNS ก็เหมือน "โปรแกรมค้นหาตำแหน่ง" ของอินเทอร์เน็ตครับ มันทำหน้าที่แปลงชื่อเว็บที่เราจำง่ายๆ เช่น amazon.com ให้กลายเป็น IP Address (ชุดตัวเลข) ที่เว็บไซต์และแอปพลิเคชันอื่นๆ สามารถเข้าใจได้

"Amazon น่ะเก็บข้อมูลไว้ปลอดภัยดีครับ แต่แค่ไม่มีใคร 'หา' มันเจออยู่หลายชั่วโมง ทำให้แอปต่างๆ ถูกตัดขาดจากข้อมูลของตัวเองชั่วคราว" คุณ Chapple กล่าว "มันเหมือนกับว่าอินเทอร์เน็ตส่วนใหญ่เกิดอาการ 'ความจำเสื่อมชั่วคราว' ไปซะอย่างนั้น"

ตอนนี้ยังไม่ชัดเจนครับว่าอะไรทำให้ DNS ล่ม แต่โชคดีที่มันเกิดขึ้นแค่ไม่กี่ชั่วโมง พอถึงเวลา 6:35 น. (ตามเวลา ET) Amazon ก็แก้ไขปัญหา DNS ได้ และแนะนำให้บริษัทต่างๆ "ล้างแคช" (dump their cache) หรือไฟล์เก็บข้อมูลชั่วคราว เพื่อช่วยให้การกลับมาของบริการเร็วขึ้น Amazon บอกว่าการล่มครั้งนี้ยังส่งผลกระทบต่อเนื่องไปยังบริการอื่นๆ ของ AWS ด้วย รวมถึง EC2 (เซิร์ฟเวอร์เสมือนที่หลายบริษัทใช้สร้างแอปออนไลน์)

คาดว่าในอีกไม่กี่วันข้างหน้า Amazon คงจะออกมาทำ "postmortem" (การวิเคราะห์สาเหตุหลังเกิดเหตุ) และอธิบายว่าเกิดอะไรขึ้นกับระบบ DNS ของพวกเขาครับ

#DRKRIT drkrit.com #กระแสไอที #ข่าวไอที #ไทยสมาร์ทซิตี้