• postmortem

รายงานหลังเหตุการณ์: การหยุดชะงักของบริการยืนยันตัวตน Logto

เมื่อวันที่ 12 มิถุนายน 2025 บริการ Logto ที่ `logto.app` ได้รับผลกระทบชั่วคราวจากการล่มของ Cloudflare ซึ่งส่งผลต่อการจัดเส้นทางคำขอ ปัญหานี้ได้รับการแก้ไขอย่างรวดเร็วโดยไม่มีผลกระทบต่อความปลอดภัยของข้อมูลหรือบริการหลัก

Gao
Gao
Founder

หยุดเสียเวลาเป็นสัปดาห์กับการยืนยันตัวตนผู้ใช้
เปิดตัวแอปที่ปลอดภัยเร็วขึ้นด้วย Logto ผสานการยืนยันตัวตนผู้ใช้ภายในไม่กี่นาทีและมุ่งเน้นที่ผลิตภัณฑ์หลักของคุณ
เริ่มต้นใช้งาน
Product screenshot

สรุปเหตุการณ์

ระหว่างเวลา 18:07 ถึง 18:58 UTC วันที่ 12 มิถุนายน 2025 ผู้ใช้ที่เข้าถึงบริการ Logto ผ่านโดเมน logto.app (รวมถึงโดเมนแบบกำหนดเอง) พบข้อผิดพลาด การหยุดชะงักเกิดจากการล่มของ Cloudflare Workers KV ซึ่งส่งผลต่อเลเยอร์การจัดเส้นทางของเรา บริการ Logto Cloud และ Logto Console ซึ่งใช้ DNS โดยตรงและไม่ขึ้นกับ Cloudflare Workers ไม่ได้รับผลกระทบ บริการกลับมาทำงานภายในหนึ่งชั่วโมงโดยไม่มีผลกระทบต่อความปลอดภัยของข้อมูล

ไทม์ไลน์ (UTC)

  • 18:07: API บริการยืนยันตัวตน Logto เริ่มคืนค่า error 500 ให้กับคำขอที่ผ่าน logto.app
  • 18:24: ตรวจสอบแล้วว่า backend ที่ Azure ยังทำงานปกติ และปัญหาอยู่ที่ Cloudflare Workers และ KV
  • 18:48: Cloudflare รับทราบเหตุการณ์อย่างเป็นทางการว่ากระทบต่อ Workers และ KV
  • 18:58: เราได้ปล่อยวิธีแก้ไขชั่วคราวด้วยการลบตรรกะแคชออก ทำให้บริการกลับมาใช้ได้แต่ประสิทธิภาพอาจลดลงเล็กน้อย
  • 21:00: หลังจาก Cloudflare กลับมาปกติ ได้ปล่อยตรรกะ cache ใหม่พร้อมการ fallback ที่ราบรื่น ประสิทธิภาพเต็มรูปแบบกลับคืนและบริการมีความทนทานต่อการล่มของ KV ในลักษณะนี้

สาเหตุหลัก

เหตุการณ์นี้เกิดจากการหยุดทำงานของ Cloudflare Workers KV Worker ของเราใน Cloudflare ใช้จัดเส้นทางคำขอไปยังภูมิภาค Logto ที่ถูกต้องสำหรับแต่ละ tenant หรือโดเมน เพื่อให้แน่ใจว่าข้อมูลอยู่ในภูมิภาคที่เหมาะสมและเป็นไปตามข้อกำหนด เพื่อปรับปรุงประสิทธิภาพ Worker นี้ใช้ KV เพื่อ cache แมปภูมิภาคเหล่านี้ เมื่อ KV ไม่สามารถใช้งานได้ การดำเนินการกับ cache ก็ล้มเหลวและ Worker ส่ง error แทนที่จะ fallback เป็นโหมดไม่ใช้ cache จึงเกิดการหยุดชะงักของบริการ

บริการ Logto Cloud และ Logto Console ไม่ได้รับผลกระทบเพราะใช้ DNS โดยตรงและไม่ได้ใช้ Cloudflare Workers สำหรับการจัดเส้นทาง

การแก้ไขและปรับปรุง

  • ลบการพึ่งพา cache ออกจาก Worker ส่งผลให้บริการกลับมาใช้งานได้
  • หลัง Cloudflare KV ฟื้นตัว รีดีพลอยตรรกะ cache พร้อม fallback ที่ราบรื่น หาก cache ไม่พร้อมใช้งาน บริการยังทำต่อได้ด้วย direct routing โดยไม่สะดุด
  • ปรับปรุงโครงสร้างพื้นฐานอย่างต่อเนื่องเพื่อเพิ่มความทนทานและความพร้อมใช้งาน

ผลกระทบ

  • ผู้ใช้ที่เข้าถึง Logto ผ่าน logto.app พบข้อผิดพลาดประมาณ 50 นาที
  • ไม่มีข้อมูลลูกค้าสูญหายหรือรั่วไหล
  • บริการ Logto Cloud และ Logto Console ทำงานได้เต็มประสิทธิภาพตลอดเวลา

ก้าวต่อไป

  • เราจะทบทวนและปรับปรุงการจัดการ error ในโครงสร้างพื้นฐาน edge
  • เราจะศึกษาการใช้ผู้ให้บริการ upstream หลายรายเพื่อหลีกเลี่ยงจุดล้มเหลวเดียว

ขอบคุณสำหรับความอดทนและการสนับสนุนของคุณ