การโคลนและการย้อนรอยฐานข้อมูลอย่างรวดเร็วเพื่อเร่งการพัฒนาแอปพลิเคชัน

ด้วย Amazon Aurora

Amazon Aurora เป็นฐานข้อมูลเชิงสัมพันธ์ที่สามารถใช้งานร่วมกับ MySQL และ PostgreSQL ได้ โดยเป็นฐานข้อมูลที่รวมประสิทธิภาพและความพร้อมใช้งานของฐานข้อมูลองค์กรแบบดั้งเดิมเข้ากับความเรียบง่ายและการประหยัดค่าใช้จ่ายของฐานข้อมูลแบบโอเพนซอร์ส ในบทแนะนำสอนการใช้งานนี้ คุณจะได้เรียนรู้วิธีโคลนคลัสเตอร์ Aurora DB สำหรับการพัฒนาและทดสอบ และวิธีเปิดใช้งานและใช้การย้อนรอยเพื่อ “ย้อน” คลัสเตอร์ DB ไปยังเวลาที่คุณกำหนด

การโคลนคลัสเตอร์ Aurora มีประโยชน์เป็นอย่างมากหากต้องการประเมินผลกระทบจากการเปลี่ยนแปลงฐานข้อมูลของคุณ หรือหากต้องการการปฏิบัติงานแบบเน้นปริมาณ เช่น การส่งออกข้อมูล หรือการประมวลผลการสืบค้นแบบวินิจฉัย หรือในกรณีที่ต้องการใช้สำเนาฐานข้อมูลการผลิตในสภาพแวดล้อมสำหรับการพัฒนาหรือทดสอบ คุณสามารถทำการโคลนคลัสเตอร์ Aurora DB ได้หลายชุด คุณยังสามารถสร้างโคลนเพิ่มเติมจากโคลนอื่นๆ อีกทอดหนึ่งได้ โดยที่ฐานข้อมูลของโคลนนั้นๆ จะต้องถูกสร้างขึ้นในเขตเดียวกันกับฐานข้อมูลของโคลนต้นฉบับ

การย้อนรอยช่วยให้ย้อนคลัสเตอร์ Aurora DB กลับไปยังเวลาที่คุณระบุไว้ได้ เมื่อเปิดใช้งานการย้อนรอย Aurara จะเก็บประวัติการเปลี่ยนแปลงที่เกิดขึ้นกับฐานข้อมูลและเอื้อให้ย้อนกลับไปใช้งานสถานะที่สอดคล้องกันที่ผ่านมาได้ ด้วยคุณสมบัตินี้ คุณจะสามารถยกเลิกการดำเนินการที่ผิดพลาดได้อย่างง่ายดาย ตัวอย่างเช่น หากบังเอิญดำเนินการที่สร้างความเสียหาย เช่น ใช้เงื่อนไข DELETE (ลบ) โดยไม่มีเงื่อนไข WHERE คุณจะสามารถย้อนรอยกลับไปยังสภาพก่อนที่จะเกิดการดำเนินการนั้นได้ แต่การย้อนรอยนั้นไม่เหมือนกับการกู้คืนข้อมูลจากสแนปช็อตหรือแหล่งข้อมูลสำรองตรงที่ว่า การย้อนรอยใช้เวลาน้อยกว่า คุณจึงเปลี่ยนสภาพกลับไปกลับมาได้ในเวลาไม่กี่นาที

ในบทแนะนำสอนการใช้งานนี้ คุณจะได้สร้างคลัสเตอร์ Aurora DB โดยเปิดใช้งานการย้อนรอยเอาไว้ คุณจะได้ลองเพิ่มข้อมูลเข้าไปและคืนสภาพกลับไปกลับมาโดยใช้คุณสมบัติการย้อนรอย คุณจะได้โคลนฐานข้อมูลและดำเนินการสืบค้นบนสำเนาที่โคลนออกมานั้น

บทแนะนำสอนการใช้งานนี้ไม่ได้รวมอยู่ใน Free Tier และมีค่าใช้จ่ายไม่เกิน 1 USD โดยให้คุณทำตามขั้นตอนในบทแนะนำสอนการใช้งานและลบทรัพยากรที่มีเมื่อสิ้นสุดบทแนะนำสอนการใช้งาน

ข้อกำหนดเบื้องต้น

คุณต้องสามารถเชื่อมต่อกับฐานข้อมูลและออกคำสั่งได้ และเนื่องจากเราแนะนำให้คุณหลีกเลี่ยงการมอบหมายที่อยู่ IP สาธารณะไปยังคลัสเตอร์ DB คุณจึงต้องมี EC2 instance ที่มี VPC เดียวกันกับคลัสเตอร์ DB ด้วย หากยังไม่มีรายการใดที่ทำงานอยู่ โปรดทำตาม คำแนะนำ เพื่อจัดเตรียมหนึ่งรายการ

จากนั้นคุณจะสามารถติดตั้งไคลเอ็นต์ MySQL ได้โดยการเริ่มทำงานคำสั่ง sudo yum install mysql 

เกี่ยวกับบทแนะนำสอนการใช้งานนี้
เวลา 10-20 นาที                                           
ค่าใช้จ่าย น้อยกว่า 1 USD
กรณีใช้งาน ฐานข้อมูล
ผลิตภัณฑ์ Amazon Aurora, Amazon RDS
ผู้เข้าร่วม ผู้ดูแลฐานข้อมูล นักพัฒนา
ระดับ ปานกลาง
อัปเดตล่าสุด 17 กรกฎาคม 2019

ขั้นตอนที่ 1: สร้างคลัสเตอร์ Aurora DB

1.1 - เปิดเบราว์เซอร์และไปยัง Amazon RDS Console หากคุณมีบัญชี AWS แล้ว ให้เข้าสู่ระบบไปยังคอนโซลนั้น หรือสร้างบัญชี AWS ใหม่และเริ่มต้นใช้งาน

1.2 - ที่มุมบนขวา ให้เลือกเขตที่ต้องการเปิดใช้งานคลัสเตอร์ Aurora DB

1.3 - คลิกที่ “Create database” (สร้างฐานข้อมูล) ในหน้าต่าง Amazon Aurora

ก่อนดำเนินการต่อ ให้เปลี่ยนไปยังขั้นตอนการสร้างฐานข้อมูลใหม่

ตัวเลือกกลไก

1.4 - บนกลไกฐานข้อมูล ให้เลือก “Amazon Aurora”

1.5 – ในส่วน Edition ให้เลือก “Amazon Aurora with MySQL compatibility” (Amazon Aurora ที่เข้ากันได้กับ MySQL)

1.6 - ในส่วนเวอร์ชัน ให้เลือกเวอร์ชัน Aurora ล่าสุดที่เข้ากันได้กับ MySQL 5.6 เพราะว่าการย้อนรอยจะใช้งานได้กับเวอร์ชันดังกล่าวเท่านั้น

1.7 – บนตำแหน่งที่ตั้งฐานข้อมูล ให้เลือก “Regional” (ระดับเขต)

คุณสมบัติฐานข้อมูล

1.8 - เลือก “One writer and multiple readers” (หนึ่งผู้เขียนและหลายคนอ่าน)

เทมเพลต

1.9 - เลือก “Production” (การผลิต)

การตั้งค่า

1.10 - เลือกตัวระบุสำหรับคลัสเตอร์ฐานข้อมูล Aurora ของคุณ เช่น “database-1”

ขนาดอินสแตนซ์ฐานข้อมูล

1.11 – สำหรับขนาดอินสแตนซ์ DB ให้เลือกอินสแตนซ์ขนาดใหญ่ (ลงท้ายด้วย .large)

ความพร้อมใช้งานและความคงทน

1.12 - เลือก “Create an Aurora Replica/Reader” (สร้างแบบจำลอง/ตัวอ่าน Aurora)

การเชื่อมต่อ

1.13 – เลือก VPC ที่คุณต้องการสร้างฐานข้อมูล

โปรดทราบว่าเมื่อสร้างแล้ว จะไม่สามารถย้ายฐานข้อมูลไปยัง VPC อื่นได้

1.14 – คลิกที่ “Additional connectivity configuration” (การกำหนดค่าการเชื่อมต่อเพิ่มเติม)

1.15 - เลือกค่าเริ่มต้นสำหรับกลุ่มซับเน็ต

1.16 - ในส่วน “Publicly accessible” (เข้าถึงได้ทุกคน) ให้เลือก “No” (ไม่)

หมายความว่าคุณจะต้องเชื่อมต่อกับฐานข้อมูลจาก EC2 instance ภายใน VPC เดียวกัน

1.17 - บนกลุ่มความปลอดภัย VPC ให้เลือก “Create new” (สร้างใหม่) หากคุณมีกลุ่มความปลอดภัยที่อนุญาตให้มีการเชื่อมต่อ TCP ขาเข้าบนพอร์ต 3306 ก็สามารถเลือกแทนได้ 

1.18 - ในส่วนชื่อกลุ่มความปลอดภัย VPC ใหม่ พิมพ์ “aurora-tutorial”

การกำหนดค่าเพิ่มเติม

1.19 - เปิดใช้งานการย้อนรอย

1.20 - บนส่วน “หน้าต่าง Target Backtrack” ให้ป้อน 24 หน้าต่างการย้อนรอยจะระบุกรอบเวลาที่คุณจะสามารถย้อนไปได้ และ Aurora จะพยายามรักษาข้อมูลบันทึกเอาไว้ให้เพียงพอสำหรับกรอบเวลาดังกล่าว

1.21 - บน “Deletion protection” (การป้องกันการลบ) ให้เลิกทำเครื่องหมายในส่วน “Enable deletion protection” (เปิดใช้งานการป้องกันการลบ)

หลักปฏิบัติที่ดีที่สุดคือการเปิดใช้งานการป้องกันการลบ แต่หากคุณต้องการลบฐานข้อมูลเมื่อสิ้นสุดบทแนะนำสอนการใช้งานแล้ว ก็ไม่ต้องทำเครื่องหมายที่ตัวเลือกดังกล่าว 

ตรวจสอบและสร้าง

หลังจากที่ตรวจสอบช่องทั้งหมดในแบบฟอร์มแล้วอย่างรวดเร็ว คุณสามารถดำเนินการต่อได้

1.22 —คลิก “Create database” (สร้างฐานข้อมูล)

ในขณะที่กำลังสร้างอินสแตนซ์ คุณจะเห็นแบนเนอร์อธิบายวิธีการรับข้อมูลประจำตัวของคุณ นี่เป็นโอกาสดีในการบันทึกข้อมูลประจำตัวไว้ที่ใดที่หนึ่ง เนื่องจากนี่เป็นครั้งเดียวที่จะสามารถดูรหัสผ่านนี้ได้

1.23 — คลิกที่ “View credential details” (ดูรายละเอียดข้อมูลประจำตัว)

1.24 - บันทึกชื่อ รหัสผ่าน และตำแหน่งข้อมูล

ขั้นตอนที่ 2: นำเข้าฐานข้อมูลของคุณ

เปิดหน้าต่างเทอร์มินัล เข้าสู่ระบบอินสแตนซ์แอปพลิเคชัน และใช้ไคลเอ็นต์บรรทัดคำสั่ง mysql เพื่อเชื่อมต่อไปยังคลัสเตอร์ Aurora DB จากนั้นคุณจะสามารถสร้างฐานข้อมูล สร้างตาราง และเขียนบันทึกได้

2.1 - เชื่อมต่อฐานข้อมูลหลักของคุณ:

$ mysql -h endpoint -P 3306 -u admin -p

ในแต่ครั้งที่อ่านตำแหน่งข้อมูลในคำสั่ง คุณต้องป้อนชื่อโฮสต์ตำแหน่งข้อมูลที่บันทึกไว้ในขั้นตอน 1.24 ด้วย

และเช่นเดียวกัน เมื่อมีหน้าต่างแจ้งให้ใส่รหัสผ่าน ให้ป้อนรหัสผ่านที่คุณบันทึกไว้ในขั้นตอนที่ 1.24

2.2 - สร้างฐานข้อมูลแล้วเขียนข้อมูล

mysql> CREATE database tutorial;
Query OK, 1 row affected (0.01 sec)

ในขั้นนี้คุณสามารถใช้ฐานข้อมูลบทแนะนำสอนการใช้งาน สร้างตาราง แล้วเพิ่มบันทึกลงไปได้

ขั้นตอนที่ 3: ย้อนรอยฐานของมูลของคุณ

3.1 - คลิกบนคลัสเตอร์ Aurora DB ของคุณ

3.2 - คลิกที่ “Actions” (การดำเนินการ) และเลือก “Backtrack” (ย้อนรอย)

ย้อนรอยคลัสเตอร์ DB

3.3 - เลือกวันที่และเวลา Aurora จะย้อนคลัสเตอร์ DB กลับไปยังจุดเวลาหนึ่งโดยไม่ต้องสร้างคลัสเตอร์ DB คุณสามารถเลือกเวลาก่อนขั้นตอนที่จะสร้างฐานข้อมูลหรือตารางได้

3.4 - คลิกที่ “Backtrack DB cluster” (ย้อนรอยคลัสเตอร์ DB)

คุณจะเห็นหน้าจอที่มีแบนเนอร์สีฟ้าที่จะแจ้งว่าการย้อนรอยกำลังดำเนินการอยู่

รอสักครู่ คุณจะเห็นแบนเนอร์สีเขียวซึ่งบ่งบอกว่าการดำเนินการย้อนรอยได้เสร็จสิ้นแล้ว

คุณจะสามารถเชื่อมต่อกับฐานข้อมูลในแบบที่คำในขั้นตอนที่ 2 และตรวจสอบว่าฐานข้อมูลนั้นกลับไปยังระยะเดิมหรือยัง คุณสามารถทำซ้ำการย้อนรอยกลับไปและนำทางกลับมายังระยะที่ใหม่กว่านั้นได้

ขั้นตอนที่ 4: โคลนฐานข้อมูล

4.1 - เลือกฐานข้อมูลของคุณ

4.2 - คลิก “Actions” (การดำเนินการ) และเลือก “Create clone” (สร้างโคลน)

4.3 - เลือกรายการสำหรับตัวระบุ เช่น “database-1-clone”

4.4 - คลิกที่ “Create clone” (สร้างโคลน)

คุณจะเห็นรายการฐานข้อมูลที่มีคลัสเตอร์ Aurora DB ตัวโคลนของคุณ

การดำเนินการใดๆ ที่เกิดขึ้นกับตัวโคลนนี้จะไม่ส่งผลกระทบต่อคลัสเตอร์ DB ต้นฉบับ คุณสามารถค้นหาตำแหน่งข้อมูลของฐานข้อมูลตัวโคลนและต้นฉบับได้โดยการคลิกที่ชื่อของคลัสเตอร์ตัวโคลน

จากนั้นคุณจะเห็นตำแหน่งข้อมูลใต้ส่วน “ตำแหน่งข้อมูล”

ตอนนี้คุณสามารถเชื่อมต่อฐานข้อมูลที่โคลนมาเหมือนในขั้นตอนที่ 2 ได้แล้ว และสามารถตรวจสอบว่าฐานข้อมูลของคุณเหมือนกับฐานข้อมูลที่โคลนมาหรือไม่ โดยการตรวจสอบฐานข้อมูล ตาราง ผู้ใช้ และบันทึกที่คุณสร้าง เพื่อดูว่ารายการเหล่านี้ได้ปรากฏอยู่ในฐานข้อมูลที่โคลนมาแล้วหรือไม่ คุณสามารถปรับแต่งและทดสอบได้ตามต้องการ และตรวจสอบให้แน่ใจได้ว่าฐานข้อมูลต้นฉบับจะไม่ได้รับผลกระทบใดๆ

ขั้นตอนที่ 5: ลบคลัสเตอร์ของคุณ

ในการเสร็จสิ้นบทแนะนำสอนการใช้งานนี้ คุณจะได้เรียนรู้วิธีการลบคลัสเตอร์ Aurora DB เมื่อไม่จำเป็นต้องใช้แล้ว หากต้องการลบคลัสเตอร์ Aurora DB ของคุณ ให้ไปที่ แดชบอร์ด RDS แล้วทำตามขั้นตอนต่อไปนี้: 

5.1 – เลือก "Database" (ฐานข้อมูล) ในบานหน้าต่างด้านซ้าย

แล้วรายการคลัสเตอร์ Aurora DB ของคุณทั้งหมดจะปรากฏ คุณต้องเริ่มด้วยการลบฐานข้อมูลที่โคลนออกมา 

5.2 - เลือกอินสแตนซ์ตัวเขียนข้อมูล

5.3 - คลิก “Actions” (การดำเนินการ) แล้วเลือก “Delete” (ลบ)

ระบบจะถามว่าคุณต้องการสร้างการสำรองข้อมูลขั้นสุดท้ายหรือไม่ โดยทั่วไปแล้วนับว่าเป็นความคิดที่ดี แต่ไม่จำเป็นสำหรับบทแนะนำสอนการใช้งานนี้

5.4 - เลิกทำเครื่องหมายที่กล่อง “Create final snapshot” (สร้างสแนปช็อตขั้นสุดท้าย) และทำเครื่องหมายที่กล่อง “I acknowledge...” (ข้าพเจ้ารับทราบ...)

5.5 - พิมพ์ “delete me” (ลบฉัน) จากนั้นคลิกที่ “Delete” (ลบ)

สถานะคลัสเตอร์ของคุณจะเปลี่ยนเป็น “Deleting” (กำลังลบ)

5.6 - เลือกอินสแตนซ์ตัวอ่านข้อมูลของคลัสเตอร์ Aurora DB ที่คุณสร้างไว้แล้วในบทแนะนำสอนการใช้งานนี้ 

5.7 - คลิก “Actions” (การดำเนินการ) แล้วเลือก “Delete” (ลบ)

5.8 - ระบบจะแจ้งให้คุณยืนยันการดำเนินการ พิมพ์ “delete me” (ลบฉัน) จากนั้นคลิกที่ “Delete” (ลบ)

5.9 - เลือกอินสแตนซ์ตัวเขียนข้อมูลของคลัสเตอร์ Aurora DB ที่คุณสร้างไว้แล้วในบทแนะนำสอนการใช้งานนี้

5.10 - คลิก “Actions” (การดำเนินการ) แล้วเลือก “Delete” (ลบ)

ระบบจะถามว่าคุณต้องการสร้างการสำรองข้อมูลขั้นสุดท้ายหรือไม่ โดยทั่วไปแล้วนับว่าเป็นความคิดที่ดี แต่ไม่จำเป็นสำหรับบทแนะนำสอนการใช้งานนี้ 

5.11 - เลิกทำเครื่องหมายที่กล่อง “Create final snapshot” (สร้างสแนปช็อตขั้นสุดท้าย) และทำเครื่องหมายที่กล่อง “I acknowledge...” (ข้าพเจ้ารับทราบ...)

5.12 - พิมพ์ “delete me” (ลบฉัน) จากนั้นคลิกที่ “Delete” (ลบ)

สถานะคลัสเตอร์ของคุณจะเปลี่ยนเป็น “Deleting” (กำลังลบ)

ขอแสดงความยินดีด้วย

คุณได้สร้างคลัสเตอร์ Aurora DB โดยเปิดใช้งานการย้อนรอยสำเร็จแล้ว คุณได้เรียนรู้วิธีการกำหนดค่าช่วงเวลาที่จะย้อนรอยกลับไปกลับมาบนฐานข้อมูลได้แล้ว สุดท้ายนี้ คุณได้เรียนรู้วิธีการโคลนคลัสเตอร์ Aurora DB

บทช่วยสอนนี้เป็นประโยชน์หรือไม่

ขอบคุณ
โปรดบอกเราว่าคุณชอบอะไร
ขออภัยที่ทำให้คุณผิดหวัง
มีเนื้อหาที่ไม่อัปเดต คลุมเครือ หรือไม่ถูกต้องหรือไม่ โปรดช่วยเราในการปรับปรุงบทช่วยสอนนี้โดยการให้คำติชม