> For the complete documentation index, see [llms.txt](https://docs-epc.gitbook.io/ncs-documents/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-epc.gitbook.io/ncs-documents/backup-and-restore/overview.md).

# Overview

การ Backup คือการเก็บข้อมูลของ Block Storage Volume ณ ช่วงเวลาหนึ่งเอาไว้ เพื่อใช้ในการ Restore หรือสร้างเป็น Compute Instance หรือ Volume ใหม่ในภายหลัง โดย "Backup & Restore" คือ Service Group ที่รวมเรื่องของการจัดการ Manual Backup, Auto Backup, การ Restore และ Report ผลของการ Backup ไว้ในที่เดียว

## Backup Method <a href="#user-content-backup-method" id="user-content-backup-method"></a>

รูปแบบของการ Backup ใน "Backup & Restore" จะถูกแบ่งเป็น 2 Methods คือ Backup และ Snapshot

### **Backup (Vault Backup)** <a href="#user-content-vault-backup" id="user-content-vault-backup"></a>

**"ปลอดภัย ยืดหยุ่น พร้อมรับมือภัยพิบัติ"**

**Backup หรือ Vault Backup** คือ Solution การสำรองข้อมูลที่สมบูรณ์แบบ โดยระบบจะทำการคัดลอกข้อมูลจาก Base Volume ไปจัดเก็บไว้ยัง **Repository แยกต่างหาก (Off-site Storage)** ซึ่งอาจจัดเก็บใน Availability Zone (AZ) ที่ต่างจาก Storage ของ Base Volume ได้ด้วย

* **ลักษณะการทำงาน:** รองรับทั้งแบบ **Full Backup** (เก็บข้อมูลทั้งหมด) และ **Incremental Backup** (เก็บข้อมูลส่วนต่างที่เปลี่ยนแปลง) เพื่อประหยัดพื้นที่และเวลา
* **จุดเด่น:**
  * **Disaster Recovery (DR):** แยกขาดจาก Storage หลัก หาก Storage หลักมีปัญหา ข้อมูล Backup จะยังคงอยู่ และสามารถ Restore ไปยัง Volume เดิม หรือสร้างเป็น Volume ใหม่ได้
  * **Flexibility:** สามารถทำ Cross-AZ Replication เพื่อความปลอดภัยสูงสุด
* **ข้อจำกัด:**
  * **Slower Restore:** ใช้เวลาในการกู้คืนนานกว่า Snapshot เนื่องจากต้องมีการโอนถ่ายข้อมูลข้าม Network/Storage
  * **Storage Dependency**: การ Backup แบบ Incremental จะทำให้เกิด Dependency ของแต่ละ Backup และอาจจะทำให้การจัดการ เช่น การลบ Backup ทำได้จำกัด
* **เหมาะสำหรับ:**
  * การเก็บรักษาข้อมูลระยะยาว ตามข้อกำหนดทางกฎหมาย
  * แผนกู้คืนความเสียหายจากภัยพิบัติ (Disaster Recovery)
  * การป้องกันข้อมูลจาก Ransomware หรือความเสียหายทางฮาร์ดแวร์ขั้นรุนแรง

### **Snapshot (Local Snapshot)** <a href="#user-content-local-snapshot" id="user-content-local-snapshot"></a>

**"รวดเร็ว ทันใจ สำหรับการป้องกันข้อมูลระยะสั้น"**

**Snapshot หรือ Local Snapshot** คือการเก็บ State ของข้อมูล ณ ช่วงเวลาหนึ่ง โดยข้อมูล Snapshot จะถูกจัดเก็บอยู่บน **Storage Cluster เดียวกันกับ Base Volume** ทำให้สามารถสร้าง และเรียกคืนข้อมูลได้ด้วยความเร็วสูงมาก

* **ลักษณะการทำงาน:** ใช้เทคนิค Copy-on-Write หรือ Redirect-on-Write ทำให้ไม่กระทบประสิทธิภาพขณะใช้งาน
* **จุดเด่น:**
  * **Fast RTO:** Restore ได้ภายในระยะเวลาอันสั้น
  * **Instant Creation:** สร้าง snapshot ได้ทันทีโดยแทบไม่ต้องรอกระบวนการ copy ข้อมูล
* **ข้อจำกัด:**
  * **Single Point of Failure:** เนื่องจากเก็บอยู่ที่เดียวกับ Storage หลัก หาก Storage หลักเสียหาย หรือ Disk ต้นทางถูกลบ Snapshot จะหายไปทั้งหมด
* **เหมาะสำหรับ:**
  * การสำรองข้อมูลก่อนการอัปเดตระบบหรือติดตั้ง Patch
  * สภาพแวดล้อม Development/Testing ที่ต้องการความคล่องตัว
  * การกู้คืนไฟล์ที่เผลอลบไป ในระยะเวลาสั้นๆ

## **Key Features** <a href="#user-content-key-features" id="user-content-key-features"></a>

ระบบ Backup & Restore ถูกออกแบบมาให้ยืดหยุ่นและครอบคลุมทุกความต้องการ ด้วย Feature ที่ช่วยให้การบริหารจัดการ Backup เป็นเรื่องง่าย ดังนี้

* **Manual Backup:** สั่งสร้าง Full Backup ด้วยตนเองได้ทันทีที่ต้องการ เหมาะสำหรับเก็บข้อมูลสำคัญก่อนเริ่มการเปลี่ยนแปลงระบบ
* **Automated Backup:** ระบบสำรองข้อมูลอัตโนมัติตามตารางเวลา ผสมผสานระหว่าง **Full Backup** และ **Incremental Backup** เพื่อประสิทธิภาพสูงสุดในการปกป้องข้อมูลและประหยัดพื้นที่จัดเก็บ
* **Report Notifications:** ไม่พลาดทุกความเคลื่อนไหวด้วยระบบรายงานผลการ Backup ที่เลือกตั้งค่าการแจ้งเตือนได้ทั้งแบบรายครั้ง หรือสรุปผลรายวัน
* **Flexible Restore:** ทางเลือกการกู้คืนข้อมูลที่หลากหลาย เพื่อความคล่องตัวในการทำงาน:
  * **Create New:** สร้าง Compute Instance หรือ Volume ใหม่จาก Backup
  * **Restore Volume:** Restore ข้อมูลกลับไปยัง Volume เดิม

## Alternative Backup Solution <a href="#user-content-alternative-backup-solution" id="user-content-alternative-backup-solution"></a>

นอกจาก "Backup & Restore" แล้ว คุณยังสามารถ Backup ข้อมูลใน Volume ของคุณด้วย Solution อื่น ได้อีกด้วย เช่น

* **Upload Volume to Image**:
  * **ลักษณะการทำงาน:** ใช้การ Upload ข้อมูลใน Volume ไปเก็บไว้บน Compute Image
  * **จุดเด่น:**
    * **Replicated Across AZ:** มีการเก็บข้อมูลหลาย Copy ในทุกๆ Availability Zone ทำให้ สามารถเอาไปใช้งานได้อย่างรวดเร็วในทุกที่
    * **Shared Across Project:** สร้างแชร์การเข้าถึง Image ให้กับ Project อื่นๆ ที่มีการทำงานร่วมกันได้
  * **ข้อจำกัด:**
    * **Slower Restore:** ใช้เวลาในการกู้คืนนานกว่า Snapshot เนื่องจากต้องมีการโอนถ่ายข้อมูลข้าม Storage
    * **Always Full Backup**: แม้ว่าจะมีการบีบอัดข้อมูล แต่ก็จะเป็นการทำ Full Backup เสมอ ทำให้ค่าใช้จ่ายอาจจะสูงกว่า Solution อื่น
    * **No Online Backup**: ไม่สามารถ Online Backup ได้ ต้องถอด Volume ออกจาก Compute Instance ก่อนถึงจะ Upload ได้
    * **Manual Backup Only**: ไม่มีตัวในการ Automated Backup จึงจะต้องดำเนินการด้วยตัวเองเท่านั้น
  * **เหมาะสำหรับ:**
    * การสำรองข้อมูลระยะยาว
    * การสร้าง Template สำหรับนำไปใช้ในการสร้าง Compute Instance ซ้ำ
    * งานที่จะต้องมีการ Share ข้าม Project
* **Dedicated Volume**:
  * **ลักษณะการทำงาน:** เก็บข้อมูลเอาไว้ใน Volume ที่ Clone มาจาก Volume ที่ต้องการ Backup
    * **จุดเด่น:**
      * **Plug and Play:** ไม่ต้องการการบวนการถ่ายโอนข้อมูล เพราะสามารถ Attach และใช้งานได้เลย
      * **Transfer Across Project:** สามารถส่ง Volume ให้กับ Project อื่นได้
    * **ข้อจำกัด:**
      * **Always Full Backup**: จะเป็นการทำ Full Backup เสมอ ไม่มีการบีบอัด ทำให้ค่าใช้จ่ายอาจจะสูงกว่า Solution อื่น
      * **No Online Backup**: ไม่สามารถ Online Backup ได้ ต้องถอด Volume ออกจาก Compute Instance ก่อนจึงจะสามารถ Clone Volume ได้
      * **Manual Backup Only**: ไม่มีตัวในการ Automated Backup จึงจะต้องดำเนินการด้วยตัวเองเท่านั้น
    * **เหมาะสำหรับ:**
      * งานทดสอบ ที่จะอาจจะต้องมีการสลับ Storage ไปมา
      * ใช้เพื่อการส่งต่อข้อมูลให้ Project อื่น

## องค์ประกอบของ Backup & Restore <a href="#user-content-backup-restore" id="user-content-backup-restore"></a>

"Backup & Restore" ประกอบด้วย 4 องค์ประกอบหลัก ได้แก่

1. **Compute Backup**: การจัดการรอบ Backup (ทุกรูปแบบ) และการสร้าง Manual Backup
2. **Backup Plan**: การตั้งเวลาในการทำ Automated Backup เพื่อการ Backup อย่างต่อเนื่อง
3. **Backup Report**: การแจ้งเตือนเมื่อมีการ Backup หรือ Report สรุปรายวัน
4. **Restore**: การ Restore Backup กลับไปใช้งาน เช่น
   1. การใช้ Launch เป็น Compute Instance ใหม่
   2. การใช้สร้างเป็น Volume ใหม่
   3. การ Restore กลับไปที่ Volume เดิม

## การคิดเงิน Backup & Restore

การคิดเงิน Backup & Restore จะคิดเงินจาก 2 ส่วน คือ

### 1. Backup Files

Backup Files แบ่งออกเป็น 2 ประเภท และจะถูกคิดเงินตามพื้นที่จัดเก็บ ได้แก่

1. Snapshots ที่สามารถสร้างได้จาก Block Storage - Volumes ที่ใช้งานเป็น [Auto Backup](/ncs-documents/compute/compute-instance/managing-instance/auto-backup.md) เดิมใน Compute Instance
   1. คิดราคาตาม Performance Type ของ Volume ที่เป็น Source โดยมีราคาอยู่ที่ 0.5, 1.5, 2.5 บาท/GB/เดือน ([อ่านเพิ่มเติม](https://nipa.cloud/pricing/nipa-space/block-storage))
2. Backup ที่เป็น Resource ใหม่ ที่ทำให้สามารถ Backup Volume ไปที่ Disk และ/หรือ Availalbility Zone อื่นได้
   1. คิดราคาคงที่ ที่ 1 บาท/GB/เดือน

### 2. Across AZ Data Transfer

จากความสามารถของ Backup ที่สามารถ Backup Volume ไปที่ Disk ใน Availability Zone อื่นได้ รวมถึงยัง Restore สร้าง Volume ใหม่บน Zone อื่นได้เช่นกัน ทำให้เกิดค่าใช้จ่ายเพิ่มเติมของการเคลื่อนย้ายข้อมูล โดยคิดเป็น 0.6 บาท/GB ทุกๆ การ Backup และการ Restore ข้าม AZ
