[AWS Technical Support Note]วิธีการตั้งค่าป้องกันการลบ EC2 Instance โดยไม่ตั้งใจและวิธีการยกเลิกการตั้งค่า

[AWS Technical Support Note]วิธีการตั้งค่าป้องกันการลบ EC2 Instance โดยไม่ตั้งใจและวิธีการยกเลิกการตั้งค่า

Technical Support Note / ชื่อบริการ :Amazon EC2 / วิธีการเปิดใช้งาน "Termination Protection" เพื่อป้องกันการTerminate(ลบ) EC2 Instance เนื่องจากการดำเนินการที่ผิดพลาด

ปัญหาที่เกิดขึ้น

กด Terminate (ลบ) EC2 Instance ที่มีข้อมูลสำคัญอยู่โดยไม่ได้ตั้งใจ โชคดีที่ทำ Back up ไว้เลยกู้ข้อมูลได้
อยากได้มาตรการป้องกันเพื่อไม่ให้เกิดเคสแบบนี้อีก ทาง AWS มีแนวทางในการป้องกันหรือไม่

วิธีแก้ปัญหา

คุณสามารถป้องกันไม่ให้ EC2 Instance ถูกลบเนื่องจากข้อผิดพลาดในการปฏิบัติงานด้วยการเปิดใช้งานการป้องกันการ Terminate (ลบ) สำหรับ EC2 Instance จากคอนโซล EC2 หรือ AWS CLI

**ข้อมูลเดือนกรกฎาคม 2567

วิธีเปิดใช้งานการป้องกันการ Terminate (จากหน้าคอนโซล EC2)

ในกรณีที่ตั้งค่า Instance ที่มีอยู่แล้ว/สร้างเสร็จแล้ว

1.กดเข้าไปที่ Instance ที่ต้องการตั้งค่าแล้วเลือก "Actions" ที่มุมขวาบนของหน้าจอ
2.เลือก "Instance Settings"
3.เลือก "Change termination protection"

TSNote_Enable termination protect

4.กดติ๊กถูกที่ปุ่ม Enable
5.กดปุ่ม Save

TSNote_Enable termination protect2

ในกรณีที่ตั้งค่าตอนที่สร้าง Instance ใหม่

1.หลังจากกด Launch Instance แล้วเลือก Instance Type, Key Pair ต่างๆเรียบร้อยแล้ว
เลื่อนมาที่ล่างสุดของหน้าจอตรงส่วน Advance Details
TSNote_Enable termination protect3

2.กดตรงส่วน Advance Detail เพื่อขยายเนื้อหา แล้วเลื่อนหาการตั้งค่า Termination protection
3.เลือกให้เป็น Enable
TSNote_Enable termination protect4

วิธีเปิดใช้งานการป้องกันการ Terminate (ใช้ AWS CLI)

ในกรณีที่ตั้งค่า Instance ที่มีอยู่แล้ว/สร้างเสร็จแล้ว

ระบุตัวเลือก Disable-api-termination ด้วยคำสั่ง modified-instance-attribute

aws ec2 modify-instance-attribute --disable-api-termination --instance-id <instanceID>

ในกรณีที่ตั้งค่าตอนที่สร้าง Instance ใหม่

ระบุตัวเลือก Disable-api-termination เมื่อรันคำสั่ง run-instances

aws ec2 run-instances \
--image-id <AMI ID> \
--instance-type <instance type> \
--security-group-ids <Security Grou[ ID> \
--subnet-id <Subnet ID> \
--region <Region code> \
--count 1\
--disable-api-termination

ข้อควรระวัง

ไม่สามารถใช้วิธี Termination protection กับ Spot Instance ได้ เนื่องจาก Spot Instance จะถูก Terminate หากราคา Spot Instance สูงกว่าราคา Spot ที่ตั้งไว้ล่วงหน้า ไม่ว่าจะเปิดหรือปิดใช้งานการ Termination protection หรือไม่

บทความอ้างอิง

Terminate Amazon EC2 instances (English)

modify-instance-attribute (English)

run-instances (English)

AWS CLI คืออะไร? ขั้นตอนและวิธีใช้สำหรับมือใหม่ (Thai)

Amazon EC2 คืออะไร การแนะนำฟังก์ชันล่าสุดของ AWS (Thai)

Amazon EC2 คืออะไร?มาทำความเข้าใจจากประโยชน์ 5 ข้อและ Use Case (Thai)

บทความต้นฉบับ

操作ミスによるEC2インスタンスの削除を防ぐ!終了保護の設定方法
(Japanese)

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.