AWS ได้เพิ่มช่องทางให้ผู้ใช้งานสามารถตรวจสอบ EC2 ที่ไม่ตอบสนองได้ด้วย API ที่จะส่ง non-maskable interrupt (NMI) ไปยัง OS เพื่อให้เข้าสู่กระบวนการ Kernel Panic ให้ได้ข้อมูลที่ใช้ Diagnose กลับมา
non-maskable interrupt เป็น Hardware Interrupt ที่ไม่สามารถละเลยได้เพื่อให้ระบบรู้ว่ามีอาการบางอย่างที่แก้ไขไม่ได้เกิดขึ้น ซึ่งโดยปกติแล้วต้องเข้าไปทำที่หน้าเครื่องเซิร์ฟเวอร์ สำหรับ Kernel Panic คือมาตรการตอบสนองด้านความมั่นคงปลอดภัยของ OS ต่อความผิดพลาดร้ายแรงและส่งผลกระทบต่อการปฏิบัติงานของระบบ เช่น จอฟ้าใน Windows
AWS ได้ออก API ‘EC2:SendDiagnosticInterrupt’ เพื่อทำให้เกิดสัญญาณ interrupt ไปยัง EC2 instance และทำให้ Hypervisor ของ instance ส่ง NMI ไปยัง OS อีกทีหนึ่ง ทั้งนี้ OS ก็จะตอบสนองต่างกันไปตามการตั้งค่าซึ่งโดยทั่วไปก็จะเกิด Kernel Panic ที่จะตอบสนองตาม OS อีกเหมือนกัน เช่น อาจสร้างไฟล์ออกมาให้ Debug ปัญหาต่อ (ใช้โปรแกรม WinDbg บน Windows หรือ Crash บน Linux) ข้อดีคือผู้ใช้งาน AWS จะสามารถใช้ IAM Policy เพื่อกำหนดสิทธิ์ของการใช้ API นี้ได้ด้วย
โดย API สามารถใช้ได้แล้วฟรีๆ ในทุก Regions กับ EC2 instance ที่ใช้ AWS Nitro ทุกรุ่นยกเว้น ARM คือ C5, C5d, C5n, i3.metal, I3en, M5, M5a, M5ad, M5d, p3dn.24xlarge, R5, R5a, R5ad, R5d, T3, T3a และ Z1d ผู้สนใจสามารถติดตามการใช้งานเพิ่มเติมได้ที่นี่
ที่มา : https://aws.amazon.com/blogs/aws/new-trigger-a-kernel-panic-to-diagnose-unresponsive-ec2-instances/