รีดเรพลิกาสำหรับการขยายการอ่าน
สร้างรีดเรพลิกาเพื่อลดภาระการอ่าน ทำความเข้าใจความล่าช้าจากการจำลองแบบไม่พร้อมกัน และเลื่อนระดับเรพลิกาเพื่อรองรับ DR
รีดเรพลิกาสำหรับการขยายการอ่าน เป็นบทเรียน AWS Solutions Architect ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AWS Solutions Architect และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AWS Solutions Architect มีบทเรียนทั้งหมด 4 บทเรียน
Read Replicas คืออะไร
Read Replicas คือสำเนาของอินสแตนซ์หลัก RDS ที่รับการอัปเดตผ่าน การจำลองแบบอะซิงโครนัส แตกต่างจากสแตนด์บาย Multi-AZ ตรงที่ Read Replicas สามารถเข้าถึงได้สำหรับคำค้น SELECT ทำให้คุณกระจายทราฟฟิกการอ่านและลดภาระของฐานข้อมูลหลักได้
รองรับ Read Replicas สำหรับ MySQL, PostgreSQL, MariaDB, Oracle (ที่ใช้ Active Data Guard) และ Aurora ทุกรุ่น คุณสามารถมี Read Replicas ได้สูงสุด 15 รายการสำหรับ Aurora MySQL และ Aurora PostgreSQL และสูงสุด 5 รายการสำหรับ RDS MySQL/PostgreSQL มาตรฐาน
การสร้าง Read Replica
ในการสร้าง Read Replica อินสแตนซ์ต้นทางต้อง เปิดใช้การสำรองข้อมูลอัตโนมัติ (มีระยะเวลาเก็บรักษามากกว่า 0) AWS จะสร้างสแนปช็อตของอินสแตนซ์หลัก กู้คืนเป็นอินสแตนซ์ DB ใหม่ และตั้งค่าการจำลองแบบอะซิงโครนัสจากอินสแตนซ์หลัก
Read Replica แต่ละรายการจะมีปลายทาง DNS ของตนเอง คุณต้องปรับปรุงแอปพลิเคชันให้ส่งการอ่านไปยังปลายทางของเรพลิกา ตัวจัดการกลุ่มการเชื่อมต่อหรือกรอบงานแอปพลิเคชันที่แยกการอ่านและการเขียน สามารถส่งคำค้น SELECT ไปยังเรพลิกาโดยอัตโนมัติ
# Create a Read Replica from the primary
aws rds create-db-instance-read-replica \
--db-instance-identifier mydb-replica-1 \
--source-db-instance-identifier mydb \
--db-instance-class db.t3.mediumความล่าช้าของการจำลองแบบและผลกระทบ
เนื่องจากการจำลองแบบเป็นแบบอะซิงโครนัส Read Replicas อาจล่าช้ากว่าอินสแตนซ์หลักตั้งแต่ไม่กี่มิลลิวินาทีจนถึงหลายวินาที โดยขึ้นอยู่กับปริมาณการเขียน ปรากฏการณ์นี้เรียกว่า ความล่าช้าของการจำลองแบบ คุณสามารถตรวจสอบได้ผ่านเมตริก ReplicaLag ของ CloudWatch
แอปพลิเคชันต้องได้รับการออกแบบให้รองรับความสอดคล้องในท้ายที่สุดเมื่ออ่านข้อมูลจากเรพลิกา ตัวอย่างเช่น หลังจากเพิ่มระเบียนแล้ว การอ่านจากเรพลิกาทันทีอาจยังไม่พบแถวใหม่ การอ่านให้เห็นข้อมูลหลังการเขียนต้องส่งการอ่านนั้นกลับไปยังอินสแตนซ์หลัก
# Monitor replication lag via CloudWatch
aws cloudwatch get-metric-statistics \
--namespace AWS/RDS \
--metric-name ReplicaLag \
--dimensions Name=DBInstanceIdentifier,Value=mydb-replica-1 \
--start-time 2026-06-20T00:00:00Z \
--end-time 2026-06-20T01:00:00Z \
--period 60 \
--statistics AverageRead Replicas ข้ามรีเจียน
RDS รองรับการสร้าง Read Replicas ใน รีเจียน AWS อื่น ซึ่งช่วยให้ขยายการอ่านทั่วโลกและรองรับการกู้คืนจากภัยพิบัติ การจำลองแบบข้ามรีเจียนใช้เครือข่ายอินเทอร์เน็ตสาธารณะหรือ AWS Global Accelerator และมีความล่าช้าของการจำลองแบบสูงกว่าภายในรีเจียนเดียวกันเนื่องจากเวลาแฝงของเครือข่าย
เรพลิกาข้ามรีเจียนมีประโยชน์เมื่อคุณต้องการให้บริการการอ่านใกล้ผู้ใช้ในภูมิภาคอื่น ต้องการสำเนา DR แบบพร้อมใช้งานในอีกรีเจียนหนึ่งเพื่อเลื่อนขึ้นเป็นอินสแตนซ์หลัก หรือ ต้องการย้ายคำค้นเชิงวิเคราะห์ออกจากระบบที่ใช้งานจริง
# Create a cross-region Read Replica
aws rds create-db-instance-read-replica \
--db-instance-identifier mydb-replica-eu \
--source-db-instance-identifier arn:aws:rds:us-east-1:123456789:db:mydb \
--region eu-west-1 \
--db-instance-class db.t3.mediumการเลื่อน Read Replica ขึ้นเป็นอินสแตนซ์หลัก
การเลื่อน Read Replica ขึ้นเป็นอินสแตนซ์หลักจะตัดการเชื่อมโยงการจำลองแบบ และทำให้อินสแตนซ์นั้นกลายเป็นอินสแตนซ์ DB หลักที่เขียนข้อมูลได้อย่างอิสระ การดำเนินการนี้ใช้ในสถานการณ์กู้คืนจากภัยพิบัติเมื่ออินสแตนซ์หลักเดิมไม่พร้อมใช้งาน หรือเมื่อคุณต้องการอัปเกรดเรพลิกาเป็นเอ็นจินคนละรุ่นและใช้เป็นอินสแตนซ์หลักใหม่
การเลื่อนขึ้นเป็นอินสแตนซ์หลักไม่สามารถย้อนกลับได้—เมื่อเลื่อนแล้ว อินสแตนซ์จะไม่สามารถเป็นเรพลิกาได้อีก ก่อนดำเนินการ ตรวจสอบให้แน่ใจว่าเรพลิกาตามข้อมูลได้ใกล้เคียงที่สุด (มีความล่าช้าน้อยที่สุด) เพื่อลดการสูญเสียข้อมูล หลังจากเลื่อนแล้ว ให้ปรับสตริงการเชื่อมต่อของแอปพลิเคชันให้ชี้ไปยังปลายทางอินสแตนซ์หลักใหม่
# Promote a Read Replica to standalone primary
aws rds promote-read-replica \
--db-instance-identifier mydb-replica-1Read Replicas เทียบกับ Multi-AZ: จุดแตกต่างในการสอบ
ในการสอบ SAA-C03 การแยกความแตกต่างระหว่าง Read Replicas กับ Multi-AZ เป็นสิ่งสำคัญอย่างยิ่ง:
- หากสถานการณ์ต้องการ ประสิทธิภาพการอ่านที่ดีขึ้นหรือการขยายการอ่าน → ใช้ Read Replicas
- หากสถานการณ์ต้องการ การสลับระบบอัตโนมัติหรือความพร้อมใช้งานสูง → ใช้ Multi-AZ
- หากสถานการณ์ต้องการ ทั้งสองอย่าง → ใช้ Multi-AZ กับอินสแตนซ์หลัก และใช้ Read Replicas
โปรดจำไว้ด้วยว่า สแตนด์บาย Multi-AZ ไม่ให้บริการการอ่าน ส่วน Read Replicas ไม่มีการสลับระบบอัตโนมัติ (สำหรับเรพลิกาที่ไม่ใช่ Aurora คุณต้องเลื่อนขึ้นเป็นอินสแตนซ์หลักด้วยตนเอง)
Read Replicas และปลายทางของ Aurora
Aurora จัดการ Read Replicas แตกต่างจาก RDS มาตรฐาน Aurora ใช้ชั้นพื้นที่จัดเก็บแบบกระจายร่วมกัน ดังนั้นเรพลิกาจึงเข้าถึงหน้าข้อมูลพื้นฐานเดียวกับอินสแตนซ์หลักได้ ส่งผลให้เรพลิกาของ Aurora มี ความล่าช้าของการจำลองแบบน้อยมาก (โดยทั่วไปต่ำกว่า 100 มิลลิวินาที) และแต่ละรายการสามารถให้บริการทราฟฟิกการอ่านได้
Aurora มี ปลายทางสำหรับผู้อ่านที่กระจายการเชื่อมต่อแบบสมดุลไปยังอินสแตนซ์เรพลิกาที่พร้อมใช้งานทั้งหมด แอปพลิเคชันของคุณเชื่อมต่อกับปลายทางสำหรับผู้อ่าน แล้ว Aurora จะกระจายการอ่านโดยอัตโนมัติ หากเรพลิกาตัวใดล้มเหลว ระบบจะนำเรพลิกานั้นออกจากกลุ่มผู้อ่านโดยไม่ส่งผลกระทบต่อปลายทาง
การสลับระบบของ Aurora ด้วย Read Replicas
ใน Aurora หากอินสแตนซ์หลัก (ผู้เขียน) ล้มเหลว Aurora จะ เลื่อน Read Replica รายการหนึ่งขึ้นเป็นอินสแตนซ์หลักโดยอัตโนมัติภายในเวลาประมาณ 30 วินาที ซึ่งเร็วกว่าการสลับระบบ Multi-AZ ของ RDS มาตรฐานมาก เรพลิกาที่ได้รับการเลื่อนจะเริ่มรับการเขียนผ่านปลายทางผู้เขียนของคลัสเตอร์ทันที
Aurora รองรับ ระดับลำดับความสำคัญสำหรับการสลับระบบ (0–15) เพื่อให้คุณควบคุมว่าจะเลื่อนเรพลิกาใดขึ้นก่อน กำหนดลำดับความสำคัญสูงกว่า (ระดับ 0) ให้กับเรพลิกาที่ใช้คลาสอินสแตนซ์ขนาดใหญ่กว่าหรืออยู่ใน AZ ที่ต้องการ
รูปแบบสถาปัตยกรรมสำหรับขยายการอ่าน
สถาปัตยกรรมสำหรับขยายการอ่านโดยทั่วไปจะส่งทราฟฟิกผ่าน Application Load Balancer หรือตรรกะของแอปพลิเคชัน:
- การเขียนทั้งหมด (
INSERT,UPDATE,DELETE) → ปลายทาง DB หลัก - การอ่านทั้งหมด (
SELECT) → ปลายทาง Read Replica หรือปลายทางสำหรับผู้อ่านของ Aurora - แคชเซสชันและแคชผลลัพธ์ → ElastiCache (ช่วยลดการอ่านจากเรพลิกาเพิ่มเติม)
สำหรับคำค้นเชิงวิเคราะห์ที่มีการใช้งานหนักมาก ให้พิจารณาเลื่อนเรพลิกาขึ้นเป็นอินสแตนซ์หลัก หรือใช้คุณสมบัติ คำค้นแบบขนานของ Aurora เพื่อย้ายการคำนวณไปยังชั้นพื้นที่จัดเก็บ และหลีกเลี่ยงผลกระทบต่อคลัสเตอร์ที่ใช้งานจริง
การตรวจสอบ Read Replicas
เมตริก CloudWatch ที่สำคัญสำหรับ Read Replicas ได้แก่:
ReplicaLag— จำนวนวินาทีที่ตามหลังอินสแตนซ์หลัก ให้แจ้งเตือนหากค่านี้เพิ่มขึ้นโดยไม่คาดคิดReadIOPS— ตรวจสอบว่าพื้นที่จัดเก็บของเรพลิการองรับภาระคำค้นได้ทันDatabaseConnections— ตรวจสอบว่าเรพลิกายังไม่เต็มขีดจำกัดการเชื่อมต่อCPUUtilization— การใช้ CPU สูงบนเรพลิกาบ่งชี้ว่าจำเป็นต้องปรับปรุงคำค้น
RDS Performance Insights พร้อมใช้งานบน Read Replicas และแสดงคำสั่ง SQL ที่ใช้เวลาฐานข้อมูลมากที่สุด ช่วยให้คุณระบุและปรับปรุงคำค้นการอ่านที่มีค่าใช้จ่ายสูงได้
สรุปกรณีการใช้งาน Read Replica
กรณีการใช้งานทั่วไปของ RDS Read Replicas ในการสอบ SAA-C03:
- การรายงานและการวิเคราะห์: เรียกใช้คำค้น
SELECTที่มีภาระสูงบนเรพลิกา เพื่อไม่ให้การเขียนในระบบจริงช้าลง - การกระจายตามภูมิศาสตร์: เรพลิกาข้ามรีเจียนให้บริการผู้ใช้ในทวีปอื่นด้วยเวลาแฝงที่ต่ำลง
- การกู้คืนจากภัยพิบัติ: สามารถเลื่อนเรพลิกาข้ามรีเจียนขึ้นเป็นอินสแตนซ์หลักได้หากรีเจียนหลักล้มเหลว
- การพัฒนา/การทดสอบ: เลื่อนเรพลิกาขึ้นเพื่อสร้างสภาพแวดล้อมทดสอบที่มีสำเนาข้อมูลระบบจริงล่าสุด
Read Replicas ไม่ใช่สิ่งทดแทนการสำรองข้อมูล—ควรคงการสำรองข้อมูลอัตโนมัติและสแนปช็อตด้วยตนเองแยกจากกันเสมอ
ตรวจสอบความเข้าใจอย่างรวดเร็ว
ทดสอบความเข้าใจแนวคิด AWS Solutions Architect (SAA-C03) จากบทเรียนนี้
สรุปบทเรียน
ในบทเรียนนี้ คุณได้เรียนรู้ว่า Read Replicas ใช้การจำลองแบบอะซิงโครนัสเพื่อกระจายทราฟฟิกการอ่าน ความล่าช้าของการจำลองแบบหมายความว่าเรพลิกาอาจตามหลังอินสแตนซ์หลักเล็กน้อย และ เรพลิกาของ Aurora มีความล่าช้าน้อยมากพร้อมรองรับการเลื่อนขึ้นเป็นอินสแตนซ์หลักโดยอัตโนมัติ เรพลิกาข้ามรีเจียนช่วยให้ทั้งขยายการอ่านทั่วโลกและมีตัวเลือก DR บทถัดไป เราจะสำรวจความปลอดภัยของ RDS ด้วยการเข้ารหัสและกลุ่มพารามิเตอร์
คำถามที่พบบ่อย
บทเรียน “รีดเรพลิกาสำหรับการขยายการอ่าน” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “รีดเรพลิกาสำหรับการขยายการอ่าน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AWS Solutions Architect ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AWS Solutions Architect มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “รีดเรพลิกาสำหรับการขยายการอ่าน”
สร้างรีดเรพลิกาเพื่อลดภาระการอ่าน ทำความเข้าใจความล่าช้าจากการจำลองแบบไม่พร้อมกัน และเลื่อนระดับเรพลิกาเพื่อรองรับ DR คุณปฏิบัติ AWS Solutions Architect ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AWS Solutions Architect หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน AWS Solutions Architect บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “รีดเรพลิกาสำหรับการขยายการอ่าน” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AWS Solutions Architect นี้ได้ไหม
ได้ บทเรียน AWS Solutions Architect ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เอนจิน RDS และคลาสอินสแตนซ์
- Multi-AZ และการสำรองข้อมูลอัตโนมัติ
- รีดเรพลิกาสำหรับการขยายการอ่าน
- ความปลอดภัยของ RDS: การเข้ารหัสและกลุ่มพารามิเตอร์