วิธี Restore จาก Snapshot EC2 ด้วย AWS Backup

การ Restore ของ EC2 จากการ Backup ข้อมูลที่สร้างโดย AWS Backup นั้น จะช่วยแก้ไขปัญหาในเวลาที่เว็บไซต์เกิดการขัดข้องได้ เพราะเราสามารถ Restore backup เพื่อนำข้อมูลมาใช้งานแทนเว็บไซต์จริงได้ตามต้องการ และจะทำให้การใช้งานเว็บไซต์ราบรื่น และมีประสิทธิภาพมากขึ้น

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ครั้งนี้ผมจะมาเขียนบทความเกี่ยวกับการ Restore ของ EC2 จากการ Backup ข้อมูลที่สร้างโดย AWS Backup

AWS Backup

AWS Backup เป็นบริการที่มีการจัดการเต็มรูปแบบที่สามารถใช้เพื่อสำรองข้อมูลในบริการ AWS ได้อัตโนมัติ บริการที่รองรับ ได้แก่ Aurora, RDS, EBS, EC2, EFS, FSx และ Storage Gateway

Restore backup

Restore backup คือ การกู้ข้อมูลหรือนำข้อมูลที่ทำการ Backup ไว้ก่อนหน้านี้มาใช้งานเพื่อใช้แก้ปัญหาในขณะที่เว็บไซต์เกิดการขัดข้อง ให้สามารถใช้งานได้อย่างต่อเนื่อง

สิ่งที่ต้องมี

ก่อนที่เราจะทำการสร้าง Snapshot EC2 เราจะต้องมี EC2 Instance ก่อน จึงจะสามารถทำการสร้าง Snapshot EC2 ได้ สำหรับเพื่อนๆ ที่ยังไม่มี EC2 Instance สามารถดูวิธีการได้ที่ด้านล่างนี้

  • วิธีติดตั้ง Amazon Linux บน EC2 และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTy
    หลังจากที่เรามี EC2 Instance แล้ว เราก็ต้องทำการ Backup ข้อมูลไว้ล่วงหน้าเพื่อที่จะสามารถทำการ Restore ได้ ถ้าไม่ทำการ Backup ข้อมูลก่อน ก็จะไม่สามารถทำการ Restore ได้ สามารถดูวิธีการ Backup ข้อมูลแบบ On-demand และ Schedule ได้ที่ด้านล่างนี้ (จะเลือกทำวิธีไหนก็ได้ แต่ถ้าต้องการ Backup ข้อมูลในทันที ให้ทำวิธีของ On-demand)

การ Backup ข้อมูลแบบ On-demand

การ Backup ข้อมูลแบบ Schedule

หลังจากที่เราทำการ Backup ข้อมูลเตรียมไว้แล้ว เรามาเริ่มทำการ Restore กันเลย

1. วิธีตรวจสอบ Protected resource

การตรวจสอบ Protected resource ของวันปัจจุบันและวันถัดไป

ให้ Copy Resource ID จากหน้า Backup vault
Resource-1

มาที่เมนูด้านซ้าย » เลือกProtected resources
Resource-2

วางในช่องค้นหา? instance/i-Your_Resource_ID+ Enter » คลิกที่Resource IDของเรา
Resource-3

หลังจากครบกำหนดของวันที่เราได้ตั้งค่าไว้ จะเห็นว่า Recovery point ID จะมี image ถูกสร้างขึ้นมาโดยอัตโนมัติ
Resource-4

ถ้ามีการใช้งานต่อเนื่อง 6 วัน ก็จะมีการ Backups ข้อมูลให้เป็นรายวันตามที่เราได้กำหนดไว้โดยอัตโนมัติ
Resource-5

2. Restore Backup จาก Resorce

ข้อควรระวัง

  • EIP จะหายไป
  • การตั้งค่า Route53 และ CloudFront จะหายไป จากนั้นต้องทำการตั้งค่าอีกครั้ง เพื่อให้สามารถใช้งานได้
  • Key Pair จะถูกตั้งค่าให้ใช้อันเดียวกัน
  • Security Group จะเป็นค่าเริ่มต้นที่เหมือนกัน และสามารถเลือกใช้อันอื่น หรือรีเซ็ตได้
  • Instance Type สามารถเปลี่ยนเป็น Type อื่นได้

การ Restore สามารถทำได้ทั้ง 2 วิธีดังนี้

1. Restore ในหน้า Protected resources

ให้เข้ามาที่หน้า Protected resources นี้โดยทำตามขั้นตอน 1. วิธีตรวจสอบ Protected resource ด้านบนนี้ พอมาถึงในส่วนของ Backups ให้ตั้งค่าตามนี้

» คลิก Recovery point ID:image/ami-??ของเรา
» คลิกRestore
Backups-in-resource

2. Restore ในหน้า Backup vault

ค้นหาคำว่า? AWS Backup» เลือกAWS Backup
S-E-O-1

มาที่เมนูด้านซ้าย » เลือกBackup vaults
S-E-O-2

เลือก Backup vault name:ec2-tinnakorn-vault(ชื่อนี้เป็นแค่ตัวอย่าง)
R-S-E-1

คลิกimage/ami-??
R-S-E-2

คลิกRestore
R-S-E-3

หลังจากรู้วิธีการที่จะเข้ามายังหน้า Protected resources และ Backup vault แล้ว ให้ทำการ Restore ตามขั้นตอนต่อไปนี้

ในส่วนของ Network settings จะเป็นข้อมูลทั้งหมดของการ Backup ข้อมูลไว้ก่อนหน้านี้ ซึ่งจะเป็นการ Copy ข้อมูลทั้งหมดนี้มาสร้างเป็น EC2 Instance ใหม่
Restore-1

คลิกRestore backup
Restore-2

หลังจากทำการ Restore แล้ว ก็จะมาที่หน้านี้โดยอัตโนมัติ แล้วให้สังเกตที่ Status จะเป็น ◴Pending คือกำลังเริ่มทำการ Restore
Restore-3

ต้องรอจนกว่าจะขึ้น ☑ Complete โดยปกติแล้วจะใช้เวลาไม่กี่นาที
Restore-4

3. ตรวจสอบ EC2 Instance

จะเห็นว่ามี Instance เพิ่มขึ้นมาอัตโนมัติ และมี Status check เป็น Initializing ก็คือกำลังทำการเริ่มระบบ Instance นั่นเอง
Check-Instance-1

ทำการตั้งชื่อ Instance ตามนี้
» คลิกที่สัญลักษณ์ ? ตามรูป
» Edit Name:ec2-tinnakorn-backup(ใส่ชื่ออะไรก็ได้)
» คลิกSave
Check-Instance-2

คลิกInstance IDของเรา
Check-Instance-3

ข้อมูลใน Instance ใหม่นี้จะมีข้อมูลที่เหมือนกับ Instance ต้นฉบับ แต่จะไม่มีการเชื่อมโยงกับ Elastic IP
Check-Instance-4-1

หน้านี้คือ Instance ของต้นฉบับ จะมีการเชื่อมโยงกับ Elastic IP
Check-Instance-5-1

4. ตรวจสอบการเข้าถึงโดยใช้ Putty

มาที่ PuTTy แล้วทำการตรวจสอบข้อมูลของ Instance ต้นฉบับ โดยใช้คำสั่งll /var/www/html
Check-PuTTy-1
จะเห็นว่ามีข้อมูลอยู่ 3 ไฟล์


คลิกขวาที่แถบด้านบนของโปรแกรม PuTTy แล้วเลือกNew Session...
Check-PuTTy-2

Copy Public IPv4 address ในหน้า Instance ใหม่ที่ทำการ Backup ข้อมูลมาล่าสุด
Check-PuTTy-3

ตั้งค่า PuTTy Configuration ตามนี้
คลิกec2-tinnakorn(ชื่อนี้คือตัวอย่าง)
คลิกLoad เพื่อให้มีข้อมูลการตั้งค่าของ ec2-tinnakorn แสดงขึ้นมา
ใส่ IP Instance ที่คัดลอกมาจาก Instance ลงใน Host Name
Saved Sessions:ec2-tinnakorn-backup(ใส่ชื่ออะไรก็ได้)
คลิกSave(เป็นการ Save ชื่อ Session และ Host Name ของ Instance ใหม่ แต่ข้อมูลการตั้งค่าก่อนหน้านี้ก็จะเหมือนกับ Instance ต้นฉบับทั้งหมด รวมไปถึง Key Pair ก็จะถูกใช้อันเดียวกัน เพราะ Key pair สามารถใช้ร่วมกันได้)
Check-PuTTy-4

เลือกec2-tinnakorn-backup» คลิกOpen
Check-PuTTy-5

คลิกAccept
Check-PuTTy-6

ตรวจสอบข้อมูลใน Instance ใหม่ โดยใช้คำสั่งll /var/www/html
Check-PuTTy-7
จะเห็นว่ามีข้อมูลอยู่ 3 ไฟล์เหมือนกับ Instance ต้นฉบับ

สรุป

การ Restore การสำรองข้อมูลจาก AWS Backup สามารถทำได้ง่ายๆ และยังช่วยให้การใช้งานเว็บไซต์มีความราบรื่นและใช้งานได้อย่างต่อเนื่องอีกด้วย

บทความที่เกี่ยวข้อง