วิธีการย้ายข้อมูลของ Amazon RDS for MySQL ไปยัง Region อื่นด้วย Read replica
ในบทความนี้จะใช้ RDS database ที่เป็น MySQL ในการทดสอบ ซึ่งเป็นหนึ่งใน engine หลายๆตัวของ RDS
ซึ่งบางวิธีการย้ายข้อมูลก็ไม่ได้รองรับกับ engine ทุกตัว ผมจะระบุว่าวิธีการไหนรองรับ engine ตัวไหนบ้างภายหลัง
อีกวิธีที่ย้ายข้อมูลของ RDS ได้คือการ replication ซึ่งจะแตกต่างกับการ backup ตรงที่หากเราทำการอัพเดทข้อมูลใน database ต้นฉบับ ก็จะมีการอัพเดทให้กับ database ที่ทำการคัดลอกด้วย
วิธีการย้ายข้อมูลของ Amazon RDS for MySQL ไปยัง Region อื่น ที่ผมได้ทดสอบจะมีอยู่ 3 วิธี
โดยในบทความนี้จะเกี่ยวกับการทำ Read replica
ผู้อ่านสามารถเลือกวิธีการตามที่สะดวกได้เลยครับ
บทความอื่นๆเกี่ยวกับ วิธีการย้ายข้อมูลของ Amazon RDS for MySQL ไปยัง Region อื่น
สิ่งที่ต้องมี
ในบทความนี้ เราจะทำการย้าย Amazon RDS for MySQL ไปยัง Region อื่น
โดยก่อนอื่น เราจะสร้าง EC2 เพื่อทำการเชื่อมต่อไปยัง RDS แล้วทำการสร้างข้อมูลใน Database ขึ้น
เพื่อพิสูจน์ว่า หลังจากการการย้ายเสร็จแล้ว เราจะได้ Amazon RDS for MySQL ที่มีข้อมูลเหมือนเดิม
สำหรับวิธีสร้าง EC2 และ RDS สามารถดูวิธีการสร้างตามบทความด้านล่าง
สำหรับ EC2
สำหรับ RDS
*ขั้นตอน “การ Login เชื่อมต่อไปยัง EC2” ให้ใช้คำสั่ง “sudo yum install -y mariadb105” แทนคำสั่ง “yum install -y mariadb”
หลังจากที่เตรียมทรัพยากรเรียบร้อยแล้ว
ผมจะทำการสร้างข้อมูลใน RDS database ตามรูปด้านล่าง
ขั้นตอนการทำ
engine ที่รองรับกับวิธีการนี้ได้แก่
- MySQL
- MariaDB
- PostgreSQL
- Amazon Aurora
เริ่มด้วยการมาที่หัวข้อ Databases จากนั้นเลือก Actions > Create read replica
ที่หัวข้อ Settings ให้ตั้งชื่อ database ตัวใหม่ที่ต้องการจะสร้าง
จากนั้นเลือก Region ที่เราต้องการจะสร้าง replica database
หัวข้อ Availability ในบทความนี้ขอเลือกเป็น Single DB instance และทำการเลือก security group สำหรับ database ที่เราสร้างไว้ใน Region ปลายทาง ซึ่งผมจะเลือกใช้ security group จากขั้นการ backup ก่อนหน้านี้
เพียงเท่านี้การสร้าง read-replica database ก็เสร็จเรียบร้อย จะเห็นที่แถบ Role ขึ้นคำว่า Replica
ในขณะที่ Database ตัวหลักจะเป็น Primary
ทดลองอัพเดทข้อมูล database หลักที่อยู่ใน Region สิงคโปร์
ข้อมูลนั้นก็จะถูกอัพเดทให้กับ read-replica database ด้วย
เมื่อลองอัพเดทข้อมูลที่ read-replica database จะพบว่าไม่สามารถบันทึกข้อมูลลงใน database ได้
เนื่องจาก read-replica database มีหน้าที่เพียงแค่อ่านข้อมูลเท่านั้น
เราสามารถ promote ให้ read-replica database เปลี่ยนมาเป็นตัวหลักได้ด้วยการเลือกที่ read-replica database แล้วคลิก Actions > Promote
ในหน้านี้จะให้เลือกว่าจะทำการ backup หรือไม่
ซึ่งในบทความนี้ผมจะไม่ทำการ backup ด้วยการติ๊กเครื่องหมายถูกออก จากนั้นคลิกที่ “Promote read replica”
เพียงเท่านี้ read-replica database ก็จะกลายเป็นตัวหลักแล้ว โดย Role จะเปลี่ยนเป็นคำว่า Instance
เมื่อทดสอบอัพเดทข้อมูลก็จะพบว่าสามารถอัพเดทข้อมูลได้แล้ว
หากไม่ต้องการใช้งาน database ตัวหลักแล้ว ก็ให้ทำการลบทิ้งได้เลย โดยสามารถดูวิธีการลบได้ที่นี่
สรุป
การย้ายข้อมูลของ RDS มีหลายวิธีมากมาย ซึ่งในบทความนี้ได้เลือกมาเพียง 3 วิธีเพราะเป็นวิธีที่ไม่ซับซ้อนและเข้าใจง่าย หวังว่าบทความนี้จะเป็นประโยชน์กับผู้ที่ต้องการจะย้ายข้อมูลไปยัง Region อื่น โดยเฉพาะ AWS Thailand Region