วิธีการย้ายข้อมูลของ Amazon RDS for MySQL ไปยัง Region อื่นด้วย AWS Backup

วิธีการย้ายข้อมูลของ Amazon RDS for MySQL ไปยัง Region อื่นด้วย AWS Backup

บทความนี้จะมาแนะนำวิธีการ transfer ข้อมูลของ RDS ไปยัง Region อื่น เพื่อเป็นประโยชน์สำหรับผู้ที่ต้องการย้ายข้อมูลไปยัง AWS Thailand Region

ในบทความนี้จะใช้ RDS database ที่เป็น MySQL ในการทดสอบ ซึ่งเป็นหนึ่งใน engine หลายๆตัวของ RDS
ซึ่งบางวิธีการย้ายข้อมูลก็ไม่ได้รองรับกับ engine ทุกตัว ซึ่งผมจะระบุว่าวิธีการไหนรองรับ engine ตัวไหนบ้าง

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

ในบทความนี้ เราจะทำการย้าย Amazon RDS for MySQL ไปยัง Region อื่น
โดยก่อนอื่น เราจะสร้าง EC2 เพื่อทำการเชื่อมต่อไปยัง RDS แล้วทำการสร้างข้อมูลใน Database ขึ้น
เพื่อพิสูจน์ว่า หลังจากการการย้ายเสร็จแล้ว เราจะได้ Amazon RDS for MySQL ที่มีข้อมูลเหมือนเดิม
สำหรับวิธีสร้าง EC2 และ RDS สามารถดูวิธีการสร้างตามบทความด้านล่าง

สำหรับ EC2

https://dev.classmethod.jp/articles/how-to-install-amazon-linux-on-ec2/

สำหรับ RDS
*ขั้นตอน “การ Login เชื่อมต่อไปยัง EC2” ให้ใช้คำสั่ง “sudo yum install -y mariadb105” แทนคำสั่ง “yum install -y mariadb”

https://dev.classmethod.jp/articles/how-to-create-rds-and-connect-from-ec2/

หลังจากที่เตรียมทรัพยากรเรียบร้อยแล้ว
ผมจะทำการสร้างข้อมูลใน RDS database ตามรูปด้านล่าง

RDS transfer-1.1

ขั้นตอนการทำ

วิธีการนี้รองรับ engine ทั้งหมดของ RDS ได้แก่

  • Amazon Aurora
  • MySQL
  • PostgreSQL
  • MariaDB
  • Oracle
  • Microsoft SQL Server
  • IBM Db2

เข้ามาที่ AWS Backup เลือกหัวข้อ Vaults แล้วคลิก “Create new vault”

RDS transfer-10

ตั้งชื่อ vault ตามที่ต้องการแล้วคลิก “Create vault”

RDS transfer-11

มาที่หัวข้อ Recovery points แล้วคลิกที่ “Create on-demand backup”

RDS transfer-11-1

ตั้งค่าตามรูปด้านล่าง

Resource type : RDS
Database name : เลือก database ที่เราต้องการจะ backup
Backup window : Create backup now
Total retention period : เลือกระยะเวลาตามที่ต้องการ
Backup vault : เลือก vault ที่ต้องการ จากนั้นคลิก “Create on-demand backup”

RDS transfer-12

จากนั้นจะถูกพามาที่ Jobs ในแท็ป Backup jobs

RDS transfer-13

กลับมาที่ Vaults โดยเลือกเมนูที่แถบด้านซ้ายแล้วเลือก vault ที่เราสร้างขึ้น
มาที่หัวข้อ Recovery points รอให้สถานะขึ้นเป็น Completed จากนั้นเลือก Actions > Copy

RDS transfer-14

เลือก Region ปลายทาง vault และ retention period ตามที่ต้องการ ซึ่งหากยังไม่มี vault ใน Region นั้นๆ ก็ให้สร้างไว้ด้วยหรือสามารถสร้างใหม่โดยคลิกที่ “Create new vault”

RDS transfer-15

จากนั้นจะถูกพามาที่ Copy Jobsในแท็ป Copy jobs

RDS transfer-16

เมื่อลองตรวจสอบที่ vault ใน Region ไทยก็จะมี backup ที่ถูก copy มา

RDS transfer-17

เลือก backup จากนั้นคลิก Actions > Restore
จากนั้นตั้งค่าเหมือนตอนตั้งค่า RDS

RDS transfer-18

เพียงเท่านี้การสร้าง database จาก backup ก็เสร็จเรียบร้อย

RDS transfer-19

เมื่อทดลองเชื่อมต่อเข้าไปที่ database ตัวใหม่ก็จะมีข้อมูลที่เหมือนกับ database ต้นฉบับ

RDS transfer-20

เพิ่มเติม

สิ่งที่การใช้ AWS Backup แตกต่างจากการสร้าง Snapshot ก็คือ AWS Backup มีฟังก์ชั่น Backup plans ซึ่งจะช่วย Backup อัติโนมัติตามที่เรากำหนด

มาที่หัวข้อ Backup plans แล้วคลิกที่ “Create backup plan”

RDS transfer-21

ตั้งชื่อ plan แล้วคลิก “Create plan”

RDS transfer-22

จากนั้นจะมาที่ Create rule ให้ตั้งค่าตามที่ต้องการหรือตั้งค่าตามรูปด้านล่างก็ได้
Backup rule name : ตั้งชื่อตามที่ต้องการ
Backup vault : เลือก vault ที่เราต้องสร้างมา
Backup frequency : ตั้งค่าความถี่การ backup ตามที่ต้องการ
Start time : ตั้งเวลาในการ backup
Start within : เริ่มทำการ backup ภายในระยะเวลาเท่าไหร่
Complete within : backup เสร็จภายในระยะเวลาเท่าไหร่

RDS transfer-23

ในส่วนของ Copy to destination ให้เลือก Region และ vault ที่เราต้องการจะ copy ข้อมูลไป จากนั้นคลิก “Add backup rule”

RDS transfer-24

ต่อไปจะเป็นการตั้งค่า resources ที่เราต้องการนำมา backup

ในส่วนของ General ให้ตั้งชื่อตามที่ต้องการ

RDS transfer-25

ส่วนของ Resource selection ให้ตั้งค่าตามนี้
Define resource selection : Include specific resource types
Resource type : RDS
Database names : เลือก Database ที่เราต้องการจะ backup

จากนั้นคลิก “Assign resources”

RDS transfer-26

เมื่อถึงเวลาที่เราทำการตั้ง rule เอาไว้เราสามารถเข้ามาตรวจสอบได้ที่ Jobs

RDS transfer-27

และเมื่อการ backup สำเร็จ ก็จะมี backup ขึ้นที่ Recovery points ใน vault ปลายทางที่เราตั้งค่าไว้

RDS transfer-28

สรุป

การใช้ AWS Backup ก็เป็นอีกหนึ่งวิธีที่สามารถย้ายข้อมูลของ RDS ได้ นอกจากนี้ AWS Backup ยังรองรับบริการอื่นๆอีกนอกเหนือจาก RDS หวังว่าบทความนี้จะเป็นประโยชน์กับผู้ที่ต้องการจะย้ายข้อมูลไปยัง Region อื่น โดยเฉพาะ AWS Thailand Region

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

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.