การกู้คืนข้อมูลหลังภัยพิบัติแบบข้ามเขตอย่างรวดเร็วและการอ่านทั่วโลกที่มีเวลาแฝงต่ำ

ด้วย Amazon Aurora Global Database

ในบทแนะนำสอนการใช้งานนี้ คุณจะได้เรียนรู้วิธีสร้างการปรับใช้ Amazon Aurora Global Database ซึ่งครอบคลุมหลายเขต AWS และจำลองแบบข้อมูลของคุณโดยไม่ส่งผลกระทบต่อประสิทธิภาพ Aurora Global Database มีการกู้คืนข้อมูลหลังภัยพิบัติจากภาวะสัญญาณขาดหายระดับเขตและมีการอ่านทั่วโลกที่มีเวลาแฝงต่ำ

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

Aurora Global Database ประกอบด้วยเขต AWS หลัก – ที่ข้อมูลของคุณกลายเป็นต้นฉบับ – และหลายเขต AWS รองแบบอ่านอย่างเดียวที่ข้อมูลของคุณมีการจำลองแบบ การเขียนของคุณจะไปที่ฐานข้อมูลหลัก แต่คุณสามารถอ่านจากเขตใดก็ได้ ทั้งยังได้ประโยชน์จากเวลาแฝงต่ำ

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

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

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

ในบทแนะนำสอนการใช้งานนี้ คุณจะสร้าง Aurora Global Database โดยมีคลัสเตอร์หลักในเขตหนึ่ง และคลัสเตอร์รองในเขตอื่น จะใช้เขตใดก็ขึ้นอยู่กับคุณ ขอแนะนำให้คุณมีแอปพลิเคชันในแต่ละเขตที่คุณจะใช้งาน ตัวอย่างเช่น หาก Aurora Global Database ของคุณจะมีคลัสเตอร์หลักใน us-east-1 และคลัสเตอร์รองใน eu-west-3 คุณก็ควรมีอินสแตนซ์ใน us-east-1 และอีกอันใน eu-west-3

นอกจากนี้หากคุณต้องการประหยัดเวลา สำหรับแต่เขต คุณสามารถสร้างกลุ่มความปลอดภัยที่อนุญาตให้มีการเชื่อมต่อขาเข้าจากอินสแตนซ์ของคุณ ตัวอย่างเช่น คุณสามารถสร้างกลุ่มความปลอดภัยที่มีกฎขาเข้าของประเภท MYSQL/Aurora ที่อนุญาตให้มีการเชื่อมต่อ TCP บนพอร์ต 3306 จากกลุ่มความปลอดภัยของอินสแตนซ์ของคุณ

สุดท้ายนี้ เพื่อให้คุณได้ทดสอบ Aurora Global Database (ดูขั้นตอนที่ 8) คุณจะต้องมีไคลเอนต์ MySQL หากอินสแตนซ์แอปพลิเคชันของคุณกำลังเรียกใช้ Amazon Linux การติดตั้งไคลเอ็นต์ MySQL ก็อาจง่ายดายเพียงแค่เรียกใช้ sudo yum install mysql แต่คำสั่งแบบถูกต้องแม่นยำจะขึ้นอยู่กับ OS ที่คุณใช้งาน หากคุณกำลังใช้งาน Windows คุณสามารถดาวน์โหลด MySQL Workbench แทนได้

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

ขั้นตอนที่ 1: การเข้าถึงคอนโซล Amazon RDS

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

1.2 – ที่มุมบนขวา ให้เลือกเขตที่คุณต้องการเปิดใช้งานคลัสเตอร์ Aurora DB หลัก เพื่อจุดประสงค์ของบทแนะนำสอนการใช้งานนี้ เราจะใช้ us-east-1 เป็นเขตหลัก และ eu-west-1 เป็นเขตรอง

1.3 — คลิกที่ "สร้างฐานข้อมูล" ในหน้าต่าง Amazon Aurora

1.4 – เลื่อนลงมาคลิกที่ “ลองเลย” ในหน้าต่าง Aurora Global Database หากคุณไม่เห็นตัวเลือก “Try it now” (ลองเลย) ให้คลิกที่นี่

ขั้นตอนที่ 2: ตัวเลือกกลไก

2.1 – บนประเภทกลไก ให้เลือก “Amazon Aurora”

2.2 – ในส่วนของรุ่น ให้เลือก “Amazon Aurora ที่ใช้งานร่วมกับ MySQL ได้”

2.3 – บนเวอร์ชัน ให้เลือก MySQL เวอร์ชันล่าสุด

2.4 – บน Database Location (ตำแหน่งที่ตั้งฐานข้อมูล) ให้เลือก “Global” (ทั่วโลก)

2.5 – เลือกเทมเพลต “Production” (การผลิต)

ขั้นตอนที่ 3: การตั้งค่าฐานข้อมูลทั่วโลก

3.1 – สำหรับตัวระบุฐานข้อมูลทั่วโลก ให้พิมพ์ “global-database-1”

ขั้นตอนที่ 4: การตั้งค่าเขตหลัก

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

4.2 – สำหรับความพร้อมใช้งานและความทนทาน ให้เลือก “Don't create an Aurora Replica” (อย่าสร้าง Aurora Replica)

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

ขั้นตอนที่ 5: การเชื่อมต่อ

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

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

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

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

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

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

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

5.6 – ในชื่อกลุ่มความปลอดภัย VPC ใหม่ ให้พิมพ์ “global-database”

5.7 – ใช้ค่าเริ่มต้นสำหรับพอร์ตฐานข้อมูล

ขั้นตอนที่ 6: การกำหนดค่าเพิ่มเติม

6.1 – ใช้ค่าเริ่มต้นสำหรับตัวเลือกฐานข้อมูล การสำรองข้อมูล การตรวจสอบ การส่งออกบันทึก การบำรุงรักษา และการป้องกันการลบ

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

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

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

6.4 – บันทึกชื่อผู้ใช้และรหัสผ่าน

ขั้นตอนที่ 7: เพิ่มเขตรอง

7.1 – เลือก “global-database-1”

7.2 – คลิกที่ “Actions > Add a region” (การดำเนินการ > เพิ่มเขต)

7.3 – จากดรอปดาวน์ ให้เลือกเขต

7.4 – ทำซ้ำขั้นตอนที่ 4.1 ถึง 5.7

7.5 – คลิกที่ “Add region” (เพิ่มเขต)

เมื่อฐานข้อมูลพร้อมใช้งานแล้ว ให้เริ่มทำตามขั้นตอนที่ 8

ขั้นตอนที่ 8: ทดสอบ Aurora Global Database ของคุณ

8.1 – คลิกที่ฐานข้อมูลหลักของคุณ

8.2 – คัดลอกปลายทางของตัวเขียนข้อมูล

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

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

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

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

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

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

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

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

8.5 – ไปที่เขตรอง

8.6 – คลิกที่ฐานข้อมูลรองของคุณ

8.7 – คัดลอกปลายทางของตัวอ่านข้อมูล

8.8 – เชื่อมต่อฐานข้อมูลรองของคุณ:

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

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

8.9 – อ่านข้อมูล:

mysql> USE tutorial;
Database changed

ตอนนี้คุณสามารถตรวจสอบว่าฐานข้อมูลได้จำลองแบบไปยังฐานข้อมูลรองแล้ว หากคุณสร้างตาราง คุณสามารถเขียนไปยังคลัสเตอร์หลักแล้วอ่านข้อมูลจากคลัสเตอร์รองได้

ขั้นตอนที่ 9: การเปลี่ยนระบบเมื่อเกิดข้อผิดพลาดไปยังเขตรอง

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

การดำเนินการเปลี่ยนระบบเมื่อเกิดข้อผิดพลาดสำหรับ Aurora Global Database นั้นรวมถึงการลบคลัสเตอร์รองออกจากฐานข้อมูลทั่วโลกเดิม – จึงเป็นการเปลี่ยนกลับเป็นคลัสเตอร์เขตที่มีความสามารถในการอ่าน-เขียนเต็มที่ – จากนั้นใช้เป็นคลัสเตอร์หลักใน Aurora Global Database ใหม่

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

9.1 – หยุดเขียนไปยังฐานข้อมูลหลัก

9.2 – เลือกคลัสเตอร์รอง

9.3 – คลิกที่ “Actions > Remove from Global” (การดำเนินการ > ลบออกจากทั่วโลก)

9.4 – ยืนยันโดยคลิกที่ “Remove and promote” (ลบแล้วเลื่อนระดับ)

9.5 – กำหนดค่าแอปพลิเคชันของคุณให้เขียนไปยังคลัสเตอร์ที่เพิ่งเลื่อนระดับ

9.6 – ยังคงอยู่ในเขตรอง ให้เลือกคลัสเตอร์เขต

9.7 – คลิกที่ “Actions > Create global database” (การดำเนินการ > สร้างฐานข้อมูลทั่วโลก)

9.8 – จากดรอปดาวน์ ให้เลือกเขต

9.9 – ทำซ้ำขั้นตอนที่ 4.1 ถึง 5.7

ขั้นตอนที่ 10: การล้างข้อมูล

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

หากต้องการลบคลัสเตอร์ Aurora Global Database ของคุณ ให้ไปที่แดชบอร์ด RDS แล้วทำตามขั้นตอนต่อไปนี้:

10.1 – เลือก “Databases” (ฐานข้อมูล) ในบานหน้าต่างด้านซ้าย

แล้วรายการคลัสเตอร์ Aurora DB ของคุณทั้งหมดจะปรากฏ

10.2 – เลือกอินสแตนซ์ฐานข้อมูลทั่วโลก

10.3 – เลือก “Actions > Delete” (การดำเนินการ > ลบ)

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

10.5 – เลือกคลัสเตอร์ฐานข้อมูลทั่วโลก

10.6 – คลิกที่ “Actions > Remove from Global” (การดำเนินการ > ลบออกจากทั่วโลก)

10.7 – ยืนยันโดยคลิกที่ “Remove from global” (ลบออกจากทั่วโลก)

10.8 – เลือกคลัสเตอร์ฐานข้อมูลเขต

10.9 – คลิกที่ “Actions > Delete” (การดำเนินการ > ลบ)

10.10 – ระบบจะถามว่าคุณต้องการสร้างสแนปช็อตขั้นสุดท้ายหรือไม่ โดยทั่วไปแล้วนับว่าเป็นความคิดที่ดี แต่ไม่จำเป็นสำหรับบทแนะนำสอนการใช้งานนี้ เลือก “No” (ไม่) แล้วคลิก “Delete DB cluster” (ลบ DB cluster)

10.11 – เปลี่ยนเป็นเขตรองแล้วทำตามขั้นตอนที่ 10.1 ถึง 10.9

10.12 – เลือกฐานข้อมูลทั่วโลก

10.13 – คลิกที่ “Actions > Delete” (การดำเนินการ > ลบ)

10.14 – ยืนยันโดยพิมพ์ “delete me” (ลบฉัน) แล้วคลิกที่ “Delete” (ลบ)

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

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

คุณได้สร้าง Aurora Global Database พร้อมการจำลองแบบทั่วเขตต่างๆ แล้ว คุณได้เรียนรู้วิธีการปรับขนาดการอ่านไปยังเขตอื่นๆ เพื่อรับประโยชน์จากเวลาแฝงต่ำ และคุณได้ดำเนินการเปลี่ยนระบบเมื่อเกิดข้อผิดพลาดไปยังเขตรอง

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

หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Aurora Global Database โปรดอ่านเอกสารประกอบของเรา การทำงานกับ Amazon Aurora Global Database