[AWS Technical Support Note]วิธีการตั้งค่าป้องกันการลบ 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"
4.กดติ๊กถูกที่ปุ่ม Enable
5.กดปุ่ม Save
ในกรณีที่ตั้งค่าตอนที่สร้าง Instance ใหม่
1.หลังจากกด Launch Instance แล้วเลือก Instance Type, Key Pair ต่างๆเรียบร้อยแล้ว
เลื่อนมาที่ล่างสุดของหน้าจอตรงส่วน Advance Details
2.กดตรงส่วน Advance Detail เพื่อขยายเนื้อหา แล้วเลื่อนหาการตั้งค่า Termination protection
3.เลือกให้เป็น Enable
วิธีเปิดใช้งานการป้องกันการ 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)