ในช่วงเวลาที่ผ่านมา ผมเห็นผู้ใช้งาน Azure หลายท่านมีคำถามมากมายว่า “เผลอลบ นั่น โน่น นี่ (โดยเฉพาะ Resource Group)บน Azure ไปแล้ว โดยไม่ตั้งใจ อาจจะด้วยลบผิด หรือเผลอเรอก็ไม่ทราบได้ครับ คำถามคือว่า เรียกคืนได้มั้ย ??”
คำตอบคือ ไม่ได้ครับ เพราะเวลาลบอะไรใน Azure นั้นระบบจะ clear ทิ้งทันที เพื่อรักษาความปลอดภัยให้กับลูกค้าครับ
ปัญหานี้ผมเคยเจอกับตัวเองมาครั้งหนึ่ง และถึงขั้นเปิด Support Ticket กับ Microsoft Support กันเลยทีเดียว และได้คำตอบเหมือนด้านบน คือไม่สามารถกู้คืนได้ แต่ปัญหานี้สามารถป้องกันได้ครับ ทำอย่างไรไปดูกันครับ
ใน Azure Portal นั้นจะมี Blade ที่ชื่อว่า “Locks” ในทุกๆ Resource ซึ่งเจ้า Blade นี้แหละที่จะช่วยเราในการป้องกันไม่ให้เผลอลบ Resource โดยไม่ตั้งใจได้ครับ
ทำความรู้จักกับสถานะการ Locks มี 3 สถานะด้วยกันคือ
- Not Locked ซึ่งเป็นค่า Default เมื่อทำการสร้าง Resource จะได้ Locks เป็นสถานะนี้ครับ ทำให้เราสามารถลบ แก้ไข Resource ได้โดยง่าย
- Read Only เป็นการกำหนดให้ Resource มีสถานะเป็นการอ่านอย่างเดียว ไม่สามารถแก้ไขได้
- Cannot Edit / Delete เป็นการกำหนดให้ Resource มีสถานะอย่างเดียว ใช้กับ Resource ที่มีลักษณะเป็น container เช่น Resource Group ซึ่งจะไม่สามารถแก้ไขหรือลบ Resource Group ได้แต่สามารถสร้าง Resource ใหม่ ภายใต้ Resource Group เข้าไปได้ครับ
นอกนี้จะการกำหนด Locks ดังกล่าวจะสืบทอดจาก Resource ที่เป็น Parent ไปหา Child ด้วย เช่นถ้าเรากำหนด Locks ที่ Resource Group ก็จะสืบทอดไปยังทุกๆ Resource ใน Resource Group ด้วย
และการที่จะปลด Locks ของ Resource ดังกล่าวได้นั้นต้องมีสิทธิเป็น Owner ของ Resource เท่านั้นครับ ทำให้มั่นใจได้ว่าคนอื่นๆ ไม่สามารถมามั่วปลดได้แน่นอน
วิธีการกำหนด Locks
ในที่นี้สมมุติว่าผมมี Resource Group ชื่อว่า “RG01” เป็น Resource Group ที่มี Virtual Machine ที่สำคัญทำงานไว้อยู่ และต้องการจะป้องกันไม่ให้โดนลบโดยบังเอิญ (Accidental Delete) ก็สามารถทำได้ดังนี้ครับ
- เข้าสู่ Azure Portal และไปที่ Resource Group “RG01” และไปที่ Blade “Locks”
- คลิก “Add” จากนั้นกรอกชื่อของ Locks และเลือก Type เป็น “Delete”
- ปรากฎข้อมูลของ Locks ตามที่ตั้งไว้ เป็นอันเสร็จการดำเนินการครับ
- ซึ่งหากผู้ใช้งานเผลอลบ Resource Group นี้ออกจะปรากฎ Error ดังนี้ และลบไม่ได้ครับ
เพียงเท่านี้เราก็สามารถป้องกันการลบ Resource โดยไม่ตั้งใจได้ครับ แต่ต้องขอย้ำว่าต้องทำไว้ก่อนลบนะครับ ถ้าลบไปแล้วเรียบร้อย ก็ตัวใครตัวมันละคร้าบบบบบ 55555
ข้อมูลอ้างอิง