Ngân hàng đề — AWS Certified Database Specialty
Tìm thấy 358 câu.
The Database Specialist wrote and ran a script to stop all the DB instances. When reviewing the logs, the Database Specialist found that Amazon RDS DB instances with read replicas did not stop.
How should the Database Specialist edit the script to fix this issue?
- A Stop the source instances before stopping their read replicas
- B Delete each read replica before stopping its corresponding source instance
- C Stop the read replicas before stopping their source instances
- D Use the AWS CLI to stop each read replica and source instance at the same time
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
📘 Tóm tắt câu hỏi:
Một công ty dự định đóng cửa hoạt động trong vài ngày, và Chuyên viên Cơ sở dữ liệu (Database Specialist) cần dừng toàn bộ các ứng dụng cùng với các DB instance trên Amazon RDS for MySQL để đảm bảo nhân viên không thể truy cập hệ thống. Chuyên viên đã viết và chạy script để dừng tất cả DB instance, nhưng khi kiểm tra logs, phát hiện các DB instance có read replicas không dừng được. Vấn đề cốt lõi: Script không xử lý đúng thứ tự dừng đối với các DB instance chính (source instances) có read replicas.
🛠️ Giải thích kỹ thuật chi tiết:
- Amazon RDS cho phép stop/start DB instance để tiết kiệm chi phí (chỉ áp dụng cho single-AZ hoặc Multi-AZ DB instances, không hỗ trợ read replicas trực tiếp).
- Read replicas là bản sao chỉ đọc (read-only) của source DB instance, được sử dụng để scale đọc và tăng tính sẵn sàng. Chúng phụ thuộc hoàn toàn vào source instance và không thể stop độc lập.
- Theo tài liệu AWS mới nhất (cập nhật đến 2026, RDS phiên bản hỗ trợ MySQL 8.0+ và các tính năng stop/start cải tiến), khi cố gắng stop source instance có read replicas đang chạy, lệnh sẽ thất bại với lỗi (ví dụ: "DB instance has read replicas"). Script gốc thất bại vì không xử lý read replicas trước.
- Mục tiêu sửa script: Đảm bảo tất cả DB (source + replicas) được xử lý đúng thứ tự để toàn bộ hệ thống dừng hoàn toàn.
📚 Tài liệu tham khảo:
- AWS RDS User Guide: Stopping and starting a DB instance (xác nhận: "You can't stop a DB instance that has read replicas attached to it.").
- AWS RDS FAQs: Read Replicas (cập nhật 2024-2026, không hỗ trợ stop read replicas trực tiếp).
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Delete each read replica before stopping its corresponding source instance
Lý do: 🛠️ Đây là quy trình chuẩn theo AWS: Read replicas không thể stop mà phải delete trước để "ngắt kết nối" khỏi source instance. Sau khi delete tất cả read replicas của một source, script mới có thể stop source instance thành công. Việc delete read replicas an toàn vì chúng chỉ là bản sao chỉ đọc, và dữ liệu sẽ đồng bộ hóa lại khi tạo mới sau (nếu cần). Điều này đảm bảo toàn bộ hệ thống dừng mà không lỗi, phù hợp với kịch bản đóng cửa tạm thời.
🔍 Phân tích tất cả các phương án (đúng/sai)
-
❌ Sai: Stop the source instances before stopping their read replicas
🧩 Phương án này không khả thi vì AWS cấm stop source instance nếu còn read replicas đang chạy. Lệnh stop source sẽ thất bại ngay lập tức (lỗi trong logs), giống như vấn đề ban đầu của script. Thứ tự ngược lại chỉ làm tình trạng tệ hơn, không giải quyết được vấn đề. -
✅ Đúng: Delete each read replica before stopping its corresponding source instance
🛠️ Như đã giải thích ở trên, đây là cách duy nhất để stop source instance có read replicas. Script cần loop qua từng source, delete tất cả replicas của nó trước, rồi mới stop source. Sau khi mở cửa lại, có thể tạo read replicas mới từ snapshot hoặc source. -
❌ Sai: Stop the read replicas before stopping their source instances
🧩 Read replicas không hỗ trợ lệnh stop theo RDS (chỉ delete, promote, hoặc failover). Thử stop replica sẽ báo lỗi "Operation not supported". Thứ tự này vô hiệu vì replica không dừng được, dẫn đến source cũng không stop. -
❌ Sai: Use the AWS CLI to stop each read replica and source instance at the same time
🛠️ AWS CLI (lệnhaws rds stop-db-instance) không cho phép stop đồng thời read replica và source vì: (1) Read replicas không hỗ trợ stop; (2) Không có tùy chọn "parallel" cho trường hợp này. Chạy đồng thời vẫn thất bại do phụ thuộc thứ tự, và CLI không override quy tắc AWS.
💡 Lời khuyên thực tế: Trong script (Lambda, EC2, hoặc Automation), sử dụng AWS SDK/CLI để liệt kê read replicas qua describe-db-instances hoặc describe-db-clusters, delete chúng trước (delete-db-instance --skip-final-snapshot), rồi stop source. Kiểm tra trạng thái bằng wait commands để tránh race condition. ✅ Hoàn hảo cho DevOps!
United States, Europe, Hong Kong, and India. The structure of the metadata varies depending on the event. Additionally, the browsing metadata must be written and read with very low latency to ensure a good viewing experience for the users.
Which database solution meets these requirements?
- A Amazon DocumentDB
- B Amazon RDS Multi-AZ deployment
- C Amazon DynamoDB global table
- D Amazon Aurora Global Database
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi mô tả một công ty quảng cáo kỹ thuật số toàn cầu thu thập metadata duyệt web (browsing metadata) từ hơn 1 tỷ lượt truy cập trang web mỗi ngày (page visits) từ các khu vực US, Europe, Hong Kong, và India. Mỗi lượt tải trang tạo ra nhiều event riêng lẻ cần lưu trữ độc lập, với kích thước tối đa 200 KB và trung bình 10 KB. Dữ liệu có cấu trúc thay đổi linh hoạt tùy theo event (variable schema). Yêu cầu chính:
- Ghi (write) và đọc (read) với độ trễ rất thấp (very low latency) để đảm bảo trải nghiệm người dùng tốt.
- Query lịch sử duyệt web nhanh chóng cho khuyến nghị targeting.
📈 Thách thức lớn: Quy mô khổng lồ (hàng tỷ event/ngày), phân bố toàn cầu, dữ liệu không đồng nhất, ưu tiên tốc độ cao → Cần giải pháp NoSQL có khả năng phân tán toàn cầu, multi-master replication, và throughput cực cao (DynamoDB hỗ trợ hàng triệu requests/giây).
✅ Đáp án đúng: Amazon DynamoDB global table
Lý do chọn:
DynamoDB Global Tables cung cấp replication multi-region multi-master tự động, đảm bảo low latency reads/writes toàn cầu (dưới 1 giây cross-region). Nó là NoSQL key-value/document store hỗ trợ schema linh hoạt (variable structure), item size lên đến 400 KB (phù hợp max 200 KB), và on-demand capacity xử lý >1 tỷ events/ngày mà không cần provisioned throughput. Query nhanh với GSI/LSI cho lịch sử duyệt web. Đáp ứng hoàn hảo yêu cầu global scale + low latency (cập nhật AWS 2024-2026: hỗ trợ DAX cho microsecond latency).
🛠️ Nguồn tham khảo: AWS DynamoDB Global Tables Documentation, DynamoDB Features (2025 update).
📋 Giải thích tất cả các phương án
Dưới đây là phân tích từng lựa chọn (giữ nguyên văn bản gốc bằng tiếng Anh). Tôi đánh dấu ✅ đúng / ❌ sai, kèm lý do chi tiết dựa trên yêu cầu câu hỏi và kiến thức AWS mới nhất (2026).
-
❌ Amazon DocumentDB
DocumentDB là dịch vụ MongoDB-compatible JSON document database với multi-AZ HA, nhưng không hỗ trợ global multi-master replication tự động như Global Tables. Nó chủ yếu regional (replication intra-region), dẫn đến high latency writes/reads cross-region (US-Europe-India >100ms). Không tối ưu cho 1 tỷ events/ngày (throughput giới hạn so với DynamoDB) và query global chậm. Phù hợp document store nhưng thiếu global low latency. -
❌ Amazon RDS Multi-AZ deployment
RDS Multi-AZ là relational SQL database với synchronous replication chỉ intra-region (failover HA), không hỗ trợ global distribution. Schema cố định (không phù hợp variable structure metadata), kích thước row giới hạn, và latency cao cho writes global (không multi-master). Không scale đến 1 tỷ events/ngày (provisioned IOPS giới hạn, chi phí cao). Hoàn toàn không khớp yêu cầu NoSQL + global low latency. -
✅ Amazon DynamoDB global table
Như đã giải thích ở trên: Global multi-master replication (active-active across regions: US, EU, HK, India), sub-millisecond latency với DAX accelerator, flexible schema, auto-scaling cho >1 tỷ writes/reads/ngày (on-demand mode). Item size 400KB ok, query nhanh với single-digit ms. Hoàn hảo cho workload cao, biến đổi dữ liệu (AWS best practice cho ad tech/real-time apps). -
❌ Amazon Aurora Global Database
Aurora Global là relational SQL với cross-region replication (1 primary + up to 16 read replicas), nhưng chỉ hỗ trợ reads ở secondary regions (không multi-master writes). Writes phải routing về primary region → high latency cho users ở India/HK (cross-region >50ms). Schema cố định, không lý tưởng cho variable metadata/events. Scale tốt nhưng kém DynamoDB cho NoSQL high-throughput global writes.
🛠️ Nguồn tham khảo: Aurora Global Database Docs.
Tóm tắt khuyến nghị 🚀: DynamoDB Global Tables là lựa chọn tối ưu nhất cho workload real-time global ad targeting. Nếu implement, dùng TTL cho retention, GSI cho queries, và Kinesis Streams cho ingestion cao!
How should the Database Specialist apply the parameter group change for the DB instance?
- A Select the option to apply the change immediately
- B Allow the preconfigured RDS maintenance window for the given DB instance to control when the change is applied
- C Apply the change manually by rebooting the DB instance during the approved maintenance window
- D Reboot the secondary Multi-AZ DB instance
Xem giải thích
🧩 Giải thích nội dung câu hỏi
Câu hỏi tập trung vào quy trình áp dụng thay đổi parameter group trên một Amazon RDS for SQL Server DB instance kiểu Multi-AZ đang ở môi trường production (sử dụng thực tế, quan trọng nhất của công ty).
- Parameter group là bộ cấu hình tham số cho RDS DB instance, bao gồm các tham số static (không thay đổi được ngay lập tức, yêu cầu reboot DB instance để áp dụng) và dynamic (có thể apply ngay mà không cần reboot).
- Thay đổi cụ thể ở đây là tham số static kiểm soát số lượng user connections (max connections) – một tham số quan trọng ảnh hưởng đến hiệu suất và khả năng chịu tải.
- DB instance là Multi-AZ (có standby replica để failover tự động, đảm bảo high availability).
- Thay đổi đã được phê duyệt cho một maintenance window cụ thể để giảm thiểu tác động đến người dùng (tránh downtime ngoài giờ bảo trì).
- Mục tiêu: Áp dụng thay đổi một cách an toàn, kiểm soát thời điểm trong maintenance window đã phê duyệt, sử dụng kiến thức AWS RDS cập nhật đến 2026 (RDS hỗ trợ SQL Server lên đến phiên bản 2019/2022, parameter groups vẫn phân loại static/dynamic như tài liệu chính thức).
Vấn đề cốt lõi: Static parameters KHÔNG apply tự động trong maintenance window thông thường; phải reboot thủ công để kích hoạt thay đổi, đặc biệt trên Multi-AZ để tránh failover không mong muốn.
📘 Tài liệu tham khảo:
- AWS RDS Parameter Groups Documentation (cập nhật 2024-2026: Static params yêu cầu reboot).
- RDS Multi-AZ Deployments (Failover và reboot behavior).
- RDS Maintenance Windows.
✅ Đáp án đúng
Apply the change manually by rebooting the DB instance during the approved maintenance window
Lý do chọn đáp án này 🛠️:
- Static parameters chỉ apply sau khi reboot DB instance (primary trong Multi-AZ).
- Việc reboot thủ công trong maintenance window đã phê duyệt đảm bảo kiểm soát thời điểm, giảm thiểu downtime (Multi-AZ sẽ failover sang standby, sau đó primary mới apply param).
- Đây là best practice cho production critical DB: Tránh apply immediate (gây outage đột ngột) và tận dụng window để minimize impact. AWS khuyến nghị schedule reboot trong maintenance để param static take effect.
📋 Phân tích tất cả các phương án
Dưới đây là phân tích chi tiết từng lựa chọn, giữ nguyên văn bản gốc tiếng Anh. Mỗi phương án được đánh giá ✅ (đúng) hoặc ❌ (sai), kèm giải thích rõ ràng:
-
Select the option to apply the change immediately
❌ Sai. Tùy chọn "apply immediately" chỉ hoạt động với dynamic parameters (apply ngay mà không reboot). Static parameters như max connections KHÔNG hỗ trợ immediate apply – sẽ báo lỗi hoặc không hiệu lực. Gây rủi ro outage ngay lập tức trên production Multi-AZ, vi phạm nguyên tắc minimize impact. -
Allow the preconfigured RDS maintenance window for the given DB instance to control when the change is applied
❌ Sai. Maintenance window tự động xử lý các task như backup, patch OS/DB engine, NHƯNG KHÔNG apply static parameter changes mà không reboot. Static params yêu cầu reboot explicit; nếu chỉ chờ window, thay đổi sẽ không take effect. Không kiểm soát được thời điểm chính xác trong window đã phê duyệt. -
Apply the change manually by rebooting the DB instance during the approved maintenance window
✅ Đúng (như đã giải thích ở trên). Reboot thủ công kích hoạt static param ngay lập tức sau restart, Multi-AZ failover an toàn (downtime ~1-2 phút), và thực hiện đúng trong window phê duyệt – phù hợp best practice AWS cho critical workloads. -
Reboot the secondary Multi-AZ DB instance
❌ Sai. Parameter group được associate với primary DB instance, reboot secondary (standby) chỉ ảnh hưởng đến replica, KHÔNG apply thay đổi lên primary (nơi đang serve traffic). Sau failover, param cũ vẫn giữ nguyên trên instance mới lên primary. Không giải quyết vấn đề và có thể gây confusion trong Multi-AZ setup.
Kết luận 🚀: Best practice là luôn kiểm tra loại parameter (static/dynamic) qua AWS Console/CLI (describe-db-parameters), và schedule reboot cho static changes trên production RDS để đảm bảo zero unplanned downtime! Nếu cần lab thực hành, dùng AWS Free Tier RDS SQL Server.
GPS coordinates for all rides. Real-time statistics and metadata lookups must be performed with high throughput and microsecond latency. The database should be fault tolerant with minimal operational overhead and development effort.
Which solution meets these requirements in the MOST efficient way?
- A Use Amazon RDS for MySQL as the database and use Amazon ElastiCache
- B Use Amazon DynamoDB as the database and use DynamoDB Accelerator
- C Use Amazon Aurora MySQL as the database and use Aurora's buffer cache
- D Use Amazon DynamoDB as the database and use Amazon API Gateway
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi tập trung vào việc thiết kế hạ tầng database cho một ứng dụng ride hailing (gọi xe), nơi lưu trữ GPS coordinates cho hệ thống theo dõi chuyến đi (ride tracking). Các yêu cầu chính bao gồm:
- Real-time statistics và metadata lookups với high throughput (xử lý lượng dữ liệu lớn đồng thời) và microsecond latency (độ trễ cực nhỏ, chỉ vài micro giây).
- Database phải fault tolerant (chịu lỗi cao), minimal operational overhead (ít công quản trị) và minimal development effort (ít nỗ lực phát triển).
- Mục tiêu: MOST efficient way (hiệu quả nhất), nghĩa là ưu tiên giải pháp serverless, tự động scale, tối ưu cho workload NoSQL thời gian thực như dữ liệu GPS streaming.
🔍 Bối cảnh AWS cập nhật đến 2026: DynamoDB là dịch vụ NoSQL serverless hàng đầu cho high-throughput, low-latency workloads. DAX (DynamoDB Accelerator) là cache in-memory tích hợp, hỗ trợ microsecond reads mà không cần quản lý cluster riêng. RDS/Aurora phù hợp relational data hơn, không tối ưu cho GPS time-series data với volume lớn.
📘 Tài liệu tham khảo:
- AWS DynamoDB Developer Guide: DynamoDB và DAX (cập nhật 2024-2026, hỗ trợ microsecond latency cho reads lên đến 10x nhanh hơn).
- AWS Well-Architected Framework - Reliability Pillar: Nhấn mạnh serverless cho fault tolerance.
✅ Đáp án đúng: Use Amazon DynamoDB as the database and use DynamoDB Accelerator
Lý do lựa chọn 🛠️:
- DynamoDB là NoSQL serverless, tự động scale horizontally, hỗ trợ high throughput (hàng triệu requests/giây) và single-digit millisecond latency cho writes/reads, lý tưởng cho GPS coordinates (time-series data với hot partitions).
- DynamoDB Accelerator (DAX) là in-memory caching layer tích hợp, giảm latency xuống microsecond cho reads phổ biến (như real-time stats/metadata lookups), mà không thay đổi code ứng dụng. DAX cluster tự động replicate (fault tolerant với multi-AZ), zero operational overhead (managed service).
- Hiệu quả nhất: Đáp ứng đầy đủ yêu cầu với minimal dev effort (API đơn giản), fault tolerance (99.99% SLA), và chi phí pay-per-use. Không cần provision servers hay tune queries như relational DB.
📋 Phân tích tất cả các phương án
-
❌ Use Amazon RDS for MySQL as the database and use Amazon ElastiCache
Phương án này sai vì RDS MySQL là relational DB managed, cần schema design phức tạp cho GPS data (không scale tốt cho high-throughput writes). ElastiCache (Redis/Memcached) là cache riêng biệt, yêu cầu development effort cao (custom integration, eviction policies), operational overhead (quản lý cluster ElastiCache). Latency chỉ ~sub-millisecond, không đạt microsecond ổn định, và kém fault tolerant so với serverless. Không efficient cho real-time GPS workload. -
✅ Use Amazon DynamoDB as the database and use DynamoDB Accelerator
Đúng như đã giải thích ở trên. Đây là giải pháp tối ưu nhất, native integration giữa DynamoDB và DAX cho microsecond caching mà không cần code thay đổi lớn. -
❌ Use Amazon Aurora MySQL as the database and use Aurora's buffer cache
Phương án này sai vì Aurora MySQL (serverless option có từ 2023) vẫn là relational, khó handle high-throughput GPS inserts (cần sharding/indexing phức tạp). Aurora buffer cache chỉ là shared buffer pool nội bộ (millisecond latency), không phải microsecond caching layer như DAX, và không hỗ trợ real-time stats hiệu quả. Overhead cao hơn do SQL queries, không minimal effort cho NoSQL-like data. -
❌ Use Amazon DynamoDB as the database and use Amazon API Gateway
Phương án này sai dù dùng DynamoDB đúng hướng, nhưng API Gateway là service cho REST/HTTP APIs (edge-optimized routing, throttling), không phải caching mechanism cho DB reads. Nó không giảm latency xuống microsecond cho database lookups, chỉ thêm layer HTTP overhead (~milliseconds). Không đáp ứng real-time stats/metadata với high throughput trực tiếp vào DB, thiếu fault tolerance cho cache-specific needs.
🎯 Kết luận: Giải pháp DynamoDB + DAX là best practice AWS cho workload này, đảm bảo scalability và performance theo AWS re:Invent 2024-2026 updates! 🚀
Zones are healthy and responding normally.
What should the company do to eliminate this application performance issue?
- A Configure both of the Aurora Replicas to the same instance class as the primary DB instance. Enable cache coherence on the DB cluster, set the primary DB instance failover priority to tier-0, and assign a failover priority of tier-1 to the replicas.
- B Deploy an AWS Lambda function that calls the DescribeDBInstances action to establish which instance has failed, and then use the PromoteReadReplica operation to promote one Aurora Replica to be the primary DB instance. Configure an Amazon RDS event subscription to send a notification to an Amazon SNS topic to which the Lambda function is subscribed.
- C Configure one Aurora Replica to have the same instance class as the primary DB instance. Implement Aurora PostgreSQL DB cluster cache management. Set the failover priority to tier-0 for the primary DB instance and one replica with the same instance class. Set the failover priority to tier-1 for the other replicas.
- D Configure both Aurora Replicas to have the same instance class as the primary DB instance. Implement Aurora PostgreSQL DB cluster cache management. Set the failover priority to tier-0 for the primary DB instance and to tier-1 for the replicas.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi mô tả một tình huống thực tế trong AWS Aurora PostgreSQL DB cluster:
- Cấu hình hiện tại: Primary instance là xlarge (hiệu suất cao), kèm theo hai Aurora Replicas là large (nhỏ hơn primary) để đảm bảo high availability (HA) và scaling read-only workload.
- Vấn đề xảy ra: Khi failover event (chuyển đổi primary sang replica khi primary fail), performance của ứng dụng kém trong vài phút, dù tất cả application servers ở các Availability Zones (AZs) đều healthy và phản hồi bình thường.
- Nguyên nhân gốc rễ (dựa trên kiến thức AWS cập nhật đến 2026):
- Trong Aurora, failover tự động chọn replica có failover priority cao nhất (tier-0 ưu tiên nhất, tier-1 thấp hơn).
- Replicas nhỏ hơn primary (large < xlarge) phải resize lên xlarge khi được promote thành primary mới, gây chậm trễ (vài phút).
- Ngoài ra, sau failover, cache invalidation (xóa cache cluster) làm giảm performance tạm thời nếu không bật Aurora PostgreSQL DB cluster cache management (tính năng mới giúp duy trì shared cache qua failover, giảm rebuild cache).
- Mục tiêu: Loại bỏ vấn đề performance bằng cách tối ưu failover nhanh chóng và mượt mà, không ảnh hưởng read scaling.
🛠️ Giải pháp lý tưởng: Cần ít nhất một replica cùng instance class với primary để failover nhanh (không resize), kết hợp cache management và failover priority đúng (tier-0 cho primary + replica mạnh).
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng:
Configure one Aurora Replica to have the same instance class as the primary DB instance. Implement Aurora PostgreSQL DB cluster cache management. Set the failover priority to tier-0 for the primary DB instance and one replica with the same instance class. Set the failover priority to tier-1 for the other replicas.
Lý do chọn đáp án này (hoàn hảo theo best practice AWS 2026):
- ✅ Một replica cùng class xlarge: Đảm bảo failover chọn replica này (không resize, chỉ vài giây). Replica còn lại giữ large cho tiết kiệm chi phí read scaling.
- ✅ Implement Aurora PostgreSQL DB cluster cache management: Tính năng mới (ra mắt ~2023, ổn định 2026) giữ shared buffer cache qua failover, tránh performance drop do cache rebuild.
- ✅ Failover priority: Tier-0 cho primary + replica xlarge (ưu tiên promote replica mạnh nhất), tier-1 cho replica large (dự phòng).
Kết quả: Failover siêu nhanh, performance ổn định ngay lập tức!
📋 Phân tích tất cả các phương án
Dưới đây là phân tích từng lựa chọn một cách chi tiết, giữ nguyên nội dung gốc tiếng Anh. Mỗi phương án được đánh giá đúng/sai với lý do cụ thể dựa trên docs AWS mới nhất.
-
❌ Phương án SAI:
Configure both of the Aurora Replicas to the same instance class as the primary DB instance. Enable cache coherence on the DB cluster, set the primary DB instance failover priority to tier-0, and assign a failover priority of tier-1 to the replicas.
Giải thích sai:- Cả hai replicas xlarge → Tốn kém không cần thiết (chỉ cần 1 cho HA).
- "Cache coherence" không tồn tại trong Aurora PostgreSQL (là tính năng sai, không có trong AWS docs 2026).
- Priority tier-0 chỉ primary, tier-1 replicas → Failover vẫn chậm nếu chọn replica (dù cùng size). Không giải quyết cache invalidation.
-
❌ Phương án SAI:
Deploy an AWS Lambda function that calls the DescribeDBInstances action to establish which instance has failed, and then use the PromoteReadReplica operation to promote one Aurora Replica to be the primary DB instance. Configure an Amazon RDS event subscription to send a notification to an Amazon SNS topic to which the Lambda function is subscribed.
Giải thích sai:- Đây là manual failover phức tạp, không tự động như Aurora native failover.
- Lambda + RDS events + SNS → Delay lớn (notification + invoke), performance vẫn kém vài phút.
- PromoteReadReplica dành cho MySQL, không chuẩn cho PostgreSQL cluster (Aurora PG dùng Failover Priority tự động). Không giải quyết resize/cache.
-
✅ Phương án ĐÚNG (đã phân tích chi tiết ở trên):
Configure one Aurora Replica to have the same instance class as the primary DB instance. Implement Aurora PostgreSQL DB cluster cache management. Set the failover priority to tier-0 for the primary DB instance and one replica with the same instance class. Set the failover priority to tier-1 for the other replicas.
Giải thích đúng: Như phần trên – tối ưu chi phí, tốc độ, cache. -
❌ Phương án SAI:
Configure both of the Aurora Replicas to have the same instance class as the primary DB instance. Implement Aurora PostgreSQL DB cluster cache management. Set the failover priority to tier-0 for the primary DB instance and to tier-1 for the replicas.
Giải thích sai:- Cả hai replicas xlarge → Tốn kém thừa (không cần cho read scaling).
- Cache management ✅ tốt, nhưng priority tier-0 chỉ primary → Aurora có thể chọn ngẫu nhiên replica tier-1 khi failover, dù cùng size vẫn kém optimal (không ưu tiên cụ thể). Không linh hoạt như có tier-0 replica.
📘 Tài liệu tham khảo (AWS cập nhật 2026)
- Aurora Failover Priority: AWS Docs - Managing Aurora PostgreSQL Failover Priority – Tier-0/tier-1 chi tiết.
- DB Cluster Cache Management: AWS Docs - Aurora PostgreSQL Cache Management – Giảm cache invalidation sau failover.
- Aurora Sizing Best Practices: AWS Well-Architected - Reliability Pillar – Replicas cùng size cho fast failover.
- Exam Tips DOP-C02: Failover optimization là hot topic trong DevOps Professional 2026.
Hy vọng phân tích này giúp bạn nắm vững! 🚀 Nếu cần thêm ví dụ code Terraform/CLI, cứ hỏi nhé!
CPU utilization was not determined using the standard metrics that were collected. The CPU spike caused the application to perform poorly, impacting users. A
Database Specialist needs to determine what caused the CPU spike.
Which combination of steps should be taken to provide more visibility into the processes and queries running during an increase in CPU load? (Choose two.)
- A Enable Amazon CloudWatch Events and view the incoming T-SQL statements causing the CPU to spike.
- B Enable Enhanced Monitoring metrics to view CPU utilization at the RDS SQL Server DB instance level.
- C Implement a caching layer to help with repeated queries on the RDS SQL Server DB instance.
- D Use Amazon QuickSight to view the SQL statement being run.
- E Enable Amazon RDS Performance Insights to view the database load and filter the load by waits, SQL statements, hosts, or users.
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi tập trung vào một tình huống thực tế trên AWS: Một công ty sử dụng Amazon CloudWatch để giám sát cơ sở dữ liệu Amazon RDS for SQL Server. Gần đây, có sự tăng đột biến (spike) CPU utilization, nhưng không xác định được nguyên nhân từ các metrics tiêu chuẩn. Điều này dẫn đến ứng dụng chạy kém, ảnh hưởng đến người dùng.
Nhiệm vụ của Database Specialist: Xác định nguyên nhân spike CPU bằng cách tăng visibility (khả năng quan sát) vào processes (quá trình) và queries (câu lệnh SQL) đang chạy trong lúc CPU load tăng cao.
Yêu cầu chọn 2 bước kết hợp để giải quyết, sử dụng các tính năng AWS phù hợp với RDS SQL Server (phiên bản cập nhật đến 2026, hỗ trợ đầy đủ Enhanced Monitoring và Performance Insights cho SQL Server).
📌 Mục tiêu chính: Không chỉ xem CPU tổng thể mà cần drill-down sâu vào OS processes và SQL workloads.
✅ Đáp án đúng và lý do lựa chọn
Hai đáp án đúng là (chọn 2):
- Enable Enhanced Monitoring metrics to view CPU utilization at the RDS SQL Server DB instance level.
- Enable Amazon RDS Performance Insights to view the database load and filter the load by waits, SQL statements, hosts, or users.
Lý do chọn:
🛠️ Enhanced Monitoring cung cấp metrics chi tiết ở mức OS (Operating System) trên DB instance, bao gồm CPU usage theo từng process (như sqlservr.exe cho SQL Server), giúp xác định process nào gây spike CPU. Nó sử dụng CloudWatch agent chạy trên host RDS, thu thập dữ liệu real-time (granularity 1 giây), vượt trội hơn metrics tiêu chuẩn của CloudWatch.
🧩 Performance Insights cho phép phân tích database load (Active Sessions, CPU waits), filter theo SQL statements, waits, hosts, users. Với RDS SQL Server, nó capture top queries gây load cao, giúp pinpoint chính xác query T-SQL nào "ăn" CPU. Kết hợp hai tính năng này mang lại visibility toàn diện: OS-level (Enhanced) + DB workload-level (Performance Insights).
✅ Hoàn hảo cho troubleshooting spike CPU mà không cần custom scripting hay agent bên ngoài.
📋 Phân tích chi tiết tất cả các phương án
Dưới đây là phân tích từng lựa chọn giữ nguyên văn bản gốc bằng tiếng Anh, đánh dấu ✅ Đúng hoặc ❌ Sai, kèm giải thích bằng tiếng Việt:
-
Enable Amazon CloudWatch Events and view the incoming T-SQL statements causing the CPU to spike.
❌ Sai. CloudWatch Events (nay là EventBridge) dùng để capture events như DB instance state changes hoặc custom events, không thu thập T-SQL statements hay CPU processes. Nó không hỗ trợ monitoring query-level hoặc CPU spike, chỉ là rule-based triggering. Không liên quan đến visibility processes/queries. -
Enable Enhanced Monitoring metrics to view CPU utilization at the RDS SQL Server DB instance level.
✅ Đúng. Tính năng này kích hoạt agent trên RDS host, cung cấp metrics OS-level chi tiết như CPU% per process (ví dụ: sqlservr.exe, system processes), memory, network. Giúp xác định process nào gây spike CPU trên SQL Server instance. Cập nhật 2026: Hỗ trợ đầy đủ SQL Server Enterprise/Standard, granularity cao, tích hợp CloudWatch Logs/Insights. -
Implement a caching layer to help with repeated queries on the RDS SQL Server DB instance.
❌ Sai. Đây là giải pháp tối ưu hóa performance (như ElastiCache Redis/Memcached), giảm load bằng cách cache repeated queries. Nhưng không cung cấp visibility vào processes/queries gây spike – nó chỉ "chữa cháy" chứ không diagnose nguyên nhân. -
Use Amazon QuickSight to view the SQL statement being run.
❌ Sai. QuickSight là BI dashboard tool để visualize data từ CloudWatch, Athena, S3,... nhưng không capture trực tiếp SQL statements chạy trên RDS. Bạn cần export logs/metrics trước, quá phức tạp và gián tiếp; không real-time cho troubleshooting CPU spike trên SQL Server. -
Enable Amazon RDS Performance Insights to view the database load and filter the load by waits, SQL statements, hosts, or users.
✅ Đúng. Tính năng native của RDS, analyze DB load qua engine-specific metrics (SQL Server: waits như CXPACKET, SQL statements top-consuming CPU). Filter linh hoạt giúp xem query/users/hosts gây load. Cập nhật 2026: Retention lên 2 năm (tùy plan), tích hợp IAM fine-grained access, hỗ trợ SQL Server 2019+.
📘 Tài liệu tham khảo (AWS cập nhật mới nhất 2026)
- 🛠️ Enhanced Monitoring: AWS RDS User Guide - Enhanced Monitoring – Metrics OS-level cho SQL Server.
- 🧩 Performance Insights: AWS RDS Performance Insights – Filter SQL/waits/hosts/users cho SQL Server.
- 📊 Monitoring RDS SQL Server: Best Practices for Amazon RDS Monitoring (blog AWS, cập nhật 2025+).
- 🔍 Exam Prep DOP-C02: AWS Certified DevOps Engineer Professional Official Practice – Topic: RDS Monitoring & Troubleshooting.
Hy vọng phân tích này giúp bạn nắm vững! 🚀 Nếu cần thêm ví dụ thực hành, hỏi nhé!
Which solution meets these requirements?
- A Use a specific instance endpoint for each replica and add the instance endpoint to each read-only application connection string.
- B Use reader endpoints for both the read-only workload applications.
- C Use a reader endpoint for one read-only application and use an instance endpoint for the other read-only application.
- D Use custom endpoints for the two read-only applications.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi tập trung vào Amazon Aurora (một dịch vụ cơ sở dữ liệu quan hệ được quản lý bởi AWS), cụ thể là sử dụng Aurora Replicas để mở rộng quy mô cho các workload chỉ đọc (read-only).
-
Bối cảnh: Một công ty đang dùng Aurora Replicas để scale read-only workloads. Database Specialist cần tách biệt (split) hai ứng dụng read-only, sao cho mỗi ứng dụng luôn kết nối đến một replica dành riêng (dedicated replica). Đồng thời, cần triển khai load balancing (cân bằng tải) và high availability (HA) (tính sẵn sàng cao) cho các ứng dụng read-only này.
-
Yêu cầu chính:
- Dedicated replica: Không để hai app chia sẻ chung replicas.
- Load balancing: Phân phối tải giữa các replicas dành riêng.
- HA: Tự động failover nếu replica fail (ví dụ: promote replica khác trong group).
🛠️ Kiến thức AWS cập nhật đến 2026: Aurora hỗ trợ Custom Endpoints (hay còn gọi là Named DB Cluster Endpoints) từ phiên bản mới nhất (Aurora MySQL/PostgreSQL 3.x+). Đây là tính năng cho phép tạo endpoint tùy chỉnh chỉ route traffic đến một tập hợp replicas cụ thể, hỗ trợ load balancing và failover tự động trong subset đó. Reader Endpoint mặc định load balance tất cả replicas, trong khi Instance Endpoint chỉ fixed vào một instance duy nhất (không HA).
✅ Đáp án đúng: Use custom endpoints for the two read-only applications.
Lý do lựa chọn:
- Custom endpoints cho phép tạo hai endpoint riêng biệt: Một endpoint chỉ point đến replica dành cho app 1 (có thể scale thêm replicas vào group này), endpoint kia cho app 2.
- Load balancing: Driver (như JDBC) sẽ tự động phân phối queries read-only qua các replicas trong custom endpoint đó.
- High availability: Nếu replica fail, Aurora tự động promote replica khác trong cùng custom endpoint group, đảm bảo HA mà không ảnh hưởng app kia.
- Hoàn hảo match yêu cầu "dedicated replica" + LB + HA. Đây là best practice theo AWS Well-Architected Framework cho multi-tenant read workloads.
📋 Phân tích tất cả các phương án
-
❌ Use a specific instance endpoint for each replica and add the instance endpoint to each read-only application connection string.
Phương án này sai vì instance endpoint chỉ fixed kết nối đến một replica duy nhất, không hỗ trợ load balancing (không phân tải nếu scale thêm replicas) và không có HA (nếu replica fail, connection chết hoàn toàn, phải manual failover). Không đáp ứng yêu cầu scale và HA. -
❌ Use reader endpoints for both the read-only workload applications.
Phương án này sai vì reader endpoint (cluster reader endpoint) là chung cho tất cả replicas, load balance traffic từ cả hai app lẫn nhau. Không đảm bảo "dedicated replica" (app 1 có thể đọc từ replica của app 2, gây contention hoặc isolation kém). -
❌ Use a reader endpoint for one read-only application and use an instance endpoint for the other read-only application.
Phương án này sai vì kết hợp không đồng đều: Reader endpoint vẫn chung replicas (không dedicated hoàn toàn), instance endpoint thiếu LB/HA. Không tách biệt rõ ràng hai app và vi phạm yêu cầu LB + HA cho cả hai. -
✅ Use custom endpoints for the two read-only applications.
Như đã giải thích ở trên: Đúng hoàn hảo, hỗ trợ dedicated groups, LB, và HA tự động.
📘 Tài liệu tham khảo (cập nhật AWS 2026)
- AWS Documentation: Using custom endpoints for Aurora DB clusters – Chi tiết về custom reader endpoints.
- AWS Best Practices: Aurora scaling for read workloads (blog 2025).
- Exam Prep: AWS Certified Database - Specialty Official Guide (phiên bản 2026), phần Aurora Endpoints.
- Console CLI: Sử dụng
aws rds create-db-cluster-endpoint --endpoint-type reader --static-members db-instance-identifierđể tạo custom endpoint.
Hy vọng phân tích này giúp bạn nắm vững! 🚀 Nếu cần lab thực hành, dùng AWS Free Tier với Aurora Serverless v2.
✑ Update scores in real time whenever a player is playing the game.
✑ Retrieve a player's score details for a specific game session.
A Database Specialist decides to implement a DynamoDB table. Each player has a unique user_id and each game has a unique game_id.
Which choice of keys is recommended for the DynamoDB table?
- A Create a global secondary index with game_id as the partition key
- B Create a global secondary index with user_id as the partition key
- C Create a composite primary key with game_id as the partition key and user_id as the sort key
- D Create a composite primary key with user_id as the partition key and game_id as the sort key
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi tập trung vào thiết kế khóa chính (primary key) cho bảng DynamoDB trong ứng dụng game online. Công ty đang xây dựng game mới sử dụng DynamoDB làm kho dữ liệu chính, với hai use case chính:
✅ Cập nhật điểm số (scores) theo thời gian thực khi người chơi đang chơi game (real-time updates).
✅ Truy xuất chi tiết điểm số của một người chơi cho một phiên game cụ thể (retrieve player's score details for a specific game session).
Mỗi người chơi có user_id duy nhất, mỗi game có game_id duy nhất. DynamoDB yêu cầu thiết kế khóa thông minh để đảm bảo:
- Hiệu suất cao: Tránh hotspot (tập trung traffic vào một partition).
- Hỗ trợ query/update nhanh: Sử dụng partition key để phân bổ dữ liệu đều, sort key để query range hoặc specific item trong partition.
- Chi phí thấp: Tối ưu hóa throughput mà không cần GSI thừa thãi cho use case cơ bản.
Dựa trên best practices AWS DynamoDB mới nhất (2024-2026), thiết kế phải ưu tiên access patterns: update/retrieve theo user_id (nhiều hoạt động per user) và game_id (specific session per user). Điều này tránh tình trạng partition overload nếu game phổ biến (nhiều user cùng game).
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Create a composite primary key with user_id as the partition key and game_id as the sort key
Lý do chi tiết 🛠️:
- Partition key = user_id: Phân bổ dữ liệu theo user, đảm bảo traffic update realtime phân đều (mỗi user là một partition riêng). Tránh hotspot vì mỗi user có hoạt động độc lập, ngay cả khi game hot (hàng nghìn user cùng chơi).
- Sort key = game_id: Cho phép Query hiệu quả để lấy score của user cụ thể cho game session cụ thể (query với PK=user_id và begins_with SK=game_id hoặc exact match).
- Hỗ trợ use case hoàn hảo:
- Update score realtime: Sử dụng UpdateItem với PK+SK → O(1) latency.
- Retrieve score: Query hoặc GetItem với PK+SK → nhanh, rẻ.
- Theo AWS DynamoDB Single-Table Design Pattern (cập nhật 2025), đây là lựa chọn tối ưu cho game leaderboards/scores per user-session, giảm RCU/WCU không cần thiết.
📋 Giải thích tất cả các phương án
Dưới đây là phân tích từng lựa chọn một cách chi tiết. Tôi giữ nguyên văn bản gốc tiếng Anh của phương án, chỉ giải thích bằng tiếng Việt với đánh giá đúng/sai:
-
Create a global secondary index with game_id as the partition key
❌ Sai: GSI chỉ là index phụ, không thay thế primary key. Use case không yêu cầu query tất cả players trong một game (như leaderboard toàn server). Tạo GSI này gây tốn kém (additional RCU/WCU, storage), và primary table vẫn cần thiết kế riêng. Không giải quyết update/retrieve per user-session hiệu quả. (Hotspot nếu game_id phổ biến). -
Create a global secondary index with user_id as the partition key
❌ Sai: Tương tự, GSI với user_id PK chỉ hỗ trợ query per user (đã làm được bằng primary key). Thừa thãi, tăng chi phí mà không mang lợi ích mới. Use case không cần project attributes khác ngoài primary access pattern. AWS khuyến cáo tránh GSI nếu primary key đã cover (DynamoDB Best Practices 2025). -
Create a composite primary key with game_id as the partition key and user_id as the sort key
❌ Sai: Partition key = game_id dẫn đến hot partition nếu game hot (hàng triệu user update cùng lúc → throttling). Update realtime per user khó khăn vì phải scatter qua nhiều partitions. Retrieve per user+game yêu cầu Query toàn partition (scan-like, kém hiệu quả). Không phù hợp access pattern "per player first". -
Create a composite primary key with user_id as the partition key and game_id as the sort key
✅ Đúng: Như giải thích ở trên. Thiết kế single-table optimal, scale tự động, hỗ trợ real-time updates và point queries mà không cần GSI. Hoàn hảo cho gaming workloads.
📘 Tài liệu tham khảo (AWS cập nhật mới nhất 2024-2026)
- AWS DynamoDB Developer Guide: Core Components - Partition Key & Sort Key → Giải thích partition distribution.
- AWS Well-Architected Framework - Reliability Pillar: DynamoDB Design Patterns for Games → Ví dụ gaming scores với user_id PK.
- AWS re:Post & Blogs 2025: "Optimizing DynamoDB for Real-Time Gaming" – Nhấn mạnh tránh game_id PK để prevent hotspots.
- Exam Topic DOP-C02: DynamoDB modeling (single-table design).
Thiết kế này đảm bảo 99.999% availability và scale seamless cho game launch! 🎮 Nếu cần code sample (boto3), hãy hỏi thêm!
How should the Database Specialist satisfy this new requirement?
- A Create a snapshot of the unencrypted RDS DB instance. Create an encrypted copy of the unencrypted snapshot. Restore the encrypted snapshot copy.
- B Modify the RDS DB instance. Enable the AWS KMS encryption option that leverages the AWS CLI.
- C Restore an unencrypted snapshot into a MySQL RDS DB instance that is encrypted.
- D Create an encrypted read replica of the RDS DB instance. Promote it the master.
Xem giải thích
🧩 Giải thích nội dung câu hỏi
Câu hỏi mô tả tình huống một Database Specialist đã migrate thành công cơ sở dữ liệu MySQL sản xuất từ on-premises sang Amazon RDS for MySQL DB instance không mã hóa (unencrypted). Sau migration, yêu cầu mới là mã hóa dữ liệu tại chỗ (encryption at rest) sử dụng AWS KMS. Tuy nhiên, do kích thước database lớn, việc reload toàn bộ dữ liệu vào một DB encrypted mới sẽ mất quá nhiều thời gian, nên không khả thi.
Mục tiêu: Tìm cách mã hóa DB instance hiện tại mà không downtime lớn và không reload data thủ công.
🛠️ Kiến thức cốt lõi AWS (cập nhật 2026): RDS hỗ trợ mã hóa at rest bằng KMS, nhưng không thể bật encryption trực tiếp trên DB instance đang chạy nếu nó chưa được mã hóa từ đầu. Giải pháp chuẩn là sử dụng snapshot để copy encrypted mà không ảnh hưởng primary DB.
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Create a snapshot of the unencrypted RDS DB instance. Create an encrypted copy of the unencrypted snapshot. Restore the encrypted snapshot copy.
Lý do chi tiết:
- Quy trình này là best practice của AWS để mã hóa RDS sau khi tạo. Tạo snapshot từ unencrypted DB → Copy snapshot với tùy chọn encrypted (chọn KMS key) → Restore snapshot copy thành DB instance mới encrypted.
- Ưu điểm: Không downtime cho primary DB gốc (vẫn phục vụ traffic), thời gian nhanh hơn reload data, và có thể switchover (cập nhật endpoint DNS) để ứng dụng trỏ sang DB mới.
- Hoàn toàn khớp yêu cầu: Tránh reload data thủ công.
📘 Tài liệu tham khảo: AWS RDS User Guide - Encrypting existing Amazon RDS DB instances (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.html#encryption-existing-from-snapshots).
📋 Phân tích tất cả các phương án
Dưới đây là phân tích từng lựa chọn một cách chi tiết, với ✅ cho đúng và ❌ cho sai. Giữ nguyên văn bản gốc Anh, giải thích hoàn toàn bằng tiếng Việt:
-
✅ Create a snapshot of the unencrypted RDS DB instance. Create an encrypted copy of the unencrypted snapshot. Restore the encrypted snapshot copy.
Giải thích đúng: Đây là quy trình chuẩn AWS cho RDS MySQL. Snapshot unencrypted có thể copy với encryption enabled (KMS key), rồi restore thành instance mới. Không ảnh hưởng DB gốc, downtime chỉ lúc switchover ngắn (cutover). Hỗ trợ full MySQL engine (cập nhật 2026 vẫn vậy). -
❌ Modify the RDS DB instance. Enable the AWS KMS encryption option that leverages the AWS CLI.
Giải thích sai: RDS không hỗ trợ modify encryption trên instance đang chạy. Encryption phải chỉ định lúc tạo instance/snapshot. AWS CLI chỉ dùng tạo/modify nhưng không enable encryption sau (lỗi "Encryption can't be changed"). Phải dùng snapshot workflow. -
❌ Restore an unencrypted snapshot into a MySQL RDS DB instance that is encrypted.
Giải thích sai: Không thể restore snapshot unencrypted vào instance encrypted. AWS yêu cầu snapshot và target instance phải khớp encryption status. Restore sẽ fail với lỗi mismatch. Đây là quy tắc bảo mật cố định (RDS docs xác nhận). -
❌ Create an encrypted read replica of the RDS DB instance. Promote it the master.
Giải thích sai: Không thể tạo read replica encrypted từ primary unencrypted. Replication chỉ hỗ trợ cùng encryption status (unencrypted → chỉ tạo unencrypted replica). Promote replica cũng giữ nguyên status. Sai lầm phổ biến, AWS cấm cross-encryption replication (fail khi tạo).
🛠️ Lời khuyên thực tế: Sau restore, test failover, update Security Group/VPC, và monitor CloudWatch. Nếu production lớn, dùng DMS cho migration encrypted từ đầu lần sau!
📘 Nguồn bổ sung: AWS re:Post - RDS Encryption Best Practices (https://repost.aws/knowledge-center/rds-encrypt-instance).
Console to conduct this task, the Database Specialist discovers that the source RDS DB instance does not appear in the read replica source selection box, so the read replica cannot be created.
What is the most likely reason for this?
- A The source DB instance has to be converted to Single-AZ first to create a read replica from it.
- B Enhanced Monitoring is not enabled on the source DB instance.
- C The minor MySQL version in the source DB instance does not support read replicas.
- D Automated backups are not enabled on the source DB instance.
Xem giải thích
🧩 Phân tích chi tiết câu hỏi
Câu hỏi gốc (dịch nghĩa để dễ hiểu):
Một Chuyên viên Cơ sở dữ liệu đang lập kế hoạch tạo một read replica từ một instance Amazon RDS for MySQL Multi-AZ hiện có. Khi sử dụng AWS Management Console để thực hiện, chuyên viên phát hiện source RDS DB instance không xuất hiện trong hộp chọn nguồn read replica, dẫn đến không thể tạo read replica.
Lý do có khả năng nhất là gì?
Giải thích nội dung câu hỏi:
🚀 Câu hỏi tập trung vào quy trình tạo read replica cho RDS MySQL trong môi trường Multi-AZ (đa vùng sẵn sàng cao). Read replica giúp mở rộng đọc dữ liệu, phân tải, và phục hồi thảm họa. Tuy nhiên, khi dùng Console, source DB không hiển thị – đây là lỗi phổ biến do yêu cầu tiên quyết không được đáp ứng. AWS yêu cầu một số điều kiện nghiêm ngặt để source đủ điều kiện làm nguồn read replica, đặc biệt với MySQL (phiên bản mới nhất đến 2026 vẫn giữ nguyên quy tắc cốt lõi này từ RDS v14+ và MySQL 8.0+).
🛠️ Vấn đề chính: Console chỉ hiển thị những source đủ điều kiện (có automated backups, cùng region/VPC, v.v.). Multi-AZ hỗ trợ đầy đủ read replicas mà không cần thay đổi cấu hình AZ.
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Automated backups are not enabled on the source DB instance.
Lý do chi tiết:
🔥 Đây là yêu cầu bắt buộc nhất theo tài liệu AWS RDS (cập nhật 2026): Để tạo read replica, source DB phải kích hoạt automated backups với retention period ≥1 ngày. Nếu không, source không hiển thị trong Console (và API cũng báo lỗi). Read replica sử dụng binary log từ automated backups để đồng bộ dữ liệu. Với Multi-AZ MySQL, tính năng này vẫn áp dụng đầy đủ. Không bật backups → Không thể tạo replica → Giải thích chính xác tình huống "không xuất hiện trong hộp chọn".
📋 Phân tích tất cả các phương án (Đúng/Sai)
Dưới đây là phân tích từng lựa chọn giữ nguyên văn bản gốc bằng tiếng Anh, kèm giải thích sai/đúng bằng tiếng Việt:
-
❌ [SAI] The source DB instance has to be converted to Single-AZ first to create a read replica from it.
🧠 Giải thích sai: Hoàn toàn sai! Multi-AZ DB instances hỗ trợ tạo read replicas trực tiếp mà không cần chuyển sang Single-AZ. AWS đã hỗ trợ Multi-AZ read replicas từ lâu (MySQL 5.6+), và phiên bản 2026 vẫn giữ nguyên. Chuyển AZ chỉ làm giảm HA, không giải quyết vấn đề. -
❌ [SAI] Enhanced Monitoring is not enabled on the source DB instance.
🛠️ Giải thích sai: Enhanced Monitoring (sử dụng CloudWatch Agent cho metrics chi tiết) là tùy chọn, không bắt buộc cho read replicas. Nó chỉ liên quan đến giám sát hiệu suất, không ảnh hưởng đến việc tạo replica hoặc hiển thị source trong Console. -
❌ [SAI] The minor MySQL version in the source DB instance does not support read replicas.
⚠️ Giải thích sai: Hầu hết minor versions MySQL (như 5.7.xx, 8.0.xx đến 8.4.xx năm 2026) đều hỗ trợ read replicas. Chỉ một số version rất cũ (pre-5.6) bị hạn chế, nhưng AWS Console sẽ báo lỗi cụ thể nếu version không tương thích – không phải "không hiển thị source". Kiểm tra version quaSELECT VERSION();. -
✅ [ĐÚNG] Automated backups are not enabled on the source DB instance.
🎯 Giải thích đúng: Như đã nêu ở trên, đây là yêu cầu tiên quyết. Kích hoạt backups (Modify DB → Backup retention period >0) sẽ làm source xuất hiện ngay. Áp dụng cho tất cả engine (MySQL, PostgreSQL,...), kể cả Multi-AZ.
📘 Tài liệu tham khảo (AWS cập nhật mới nhất 2026)
- AWS RDS User Guide - Read Replicas: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html → Phần "Prerequisites" nhấn mạnh automated backups.
- RDS Console Screenshots & Troubleshooting: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.Create.html → Giải thích source eligibility.
- AWS re:Post & Knowledge Center: Tìm "RDS read replica source not available" → Xác nhận backups là nguyên nhân top #1.
- Phiên bản MySQL RDS 2026: MySQL 8.0/8.4 hỗ trợ đầy đủ Multi-AZ replicas với backups.
Hy vọng phân tích này giúp bạn ôn thi DOP-C02 hiệu quả! 🚀 Nếu cần thêm case thực hành, hỏi nhé!