Ngân hàng đề — AWS Certified Solutions Architect Associate

Tìm thấy 2194 câu.

Câu 1901
A company has deployed a multiplayer game for mobile devices. The game requires live location tracking of players based on latitude and longitude. The data store for the game must support rapid updates and retrieval of locations.

The game uses an Amazon RDS for PostgreSQL DB instance with read replicas to store the location data. During peak usage periods, the database is unable to maintain the performance that is needed for reading and writing updates. The game's user base is increasing rapidly.

What should a solutions architect do to improve the performance of the data tier?
  1. A Take a snapshot of the existing DB instance. Restore the snapshot with Multi-AZ enabled.
  2. B Migrate from Amazon RDS to Amazon OpenSearch Service with OpenSearch Dashboards.
  3. C Deploy Amazon DynamoDB Accelerator (DAX) in front of the existing DB instance. Modify the game to use DAX.
  4. D Deploy an Amazon ElastiCache for Redis cluster in front of the existing DB instance. Modify the game to use Redis.
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 công ty đã triển khai game multiplayer trên thiết bị di động, yêu cầu theo dõi vị trí thời gian thực (live location tracking) của người chơi dựa trên tọa độ latitude và longitude. Hệ thống lưu trữ dữ liệu vị trí phải hỗ trợ cập nhật nhanh (rapid updates) và truy xuất nhanh (rapid retrieval). Hiện tại, họ sử dụng Amazon RDS for PostgreSQL với read replicas để lưu dữ liệu vị trí. Tuy nhiên, trong giờ cao điểm (peak usage), database không duy trì được hiệu suất cần thiết cho read và write updates. Số lượng người dùng tăng nhanh chóng.

Vấn đề cốt lõi: RDS PostgreSQL là relational database truyền thống, phù hợp cho dữ liệu có cấu trúc nhưng gặp bottleneck về latency và throughput khi workload real-time cao (như location tracking). Solutions Architect cần cải thiện performance của data tier mà không thay đổi toàn bộ architecture, tập trung vào caching hoặc optimization cho hot data (dữ liệu vị trí thường xuyên truy cập).

📘 Tài liệu tham khảo: AWS Well-Architected Framework (Data Lake pillar, 2024 update); Amazon ElastiCache docs (Redis for real-time apps, version 2025); RDS performance best practices (AWS re:Invent 2025 sessions).

✅ Đáp án đúng: Deploy an Amazon ElastiCache for Redis cluster in front of the existing DB instance. Modify the game to use Redis.

Lý do lựa chọn 🛠️:

  • ElastiCache for Redis là dịch vụ in-memory caching siêu nhanh (sub-millisecond latency), lý tưởng cho real-time location tracking như game multiplayer (ví dụ: lưu vị trí người chơi, leaderboards, geospatial queries với Redis GEO commands).
  • Nó hoạt động như cache layer phía trước RDS, offload reads/writes cho dữ liệu "hot" (vị trí thường xuyên cập nhật), giảm tải cho RDS chính. RDS vẫn dùng làm persistent store cho data lâu dài.
  • Hỗ trợ cluster mode cho scalability, auto-scaling theo peak traffic, và multi-AZ cho HA. Game chỉ cần modify code để write-through/invalidate cache khi update RDS.
  • Phù hợp với user base tăng nhanh (scale horizontally dễ dàng). Đây là best practice cho gaming workloads trên AWS (theo AWS Game Tech blog 2025).

📋 Phân tích tất cả các phương án (đúng/sai)

  • ❌ [SAI] Take a snapshot of the existing DB instance. Restore the snapshot with Multi-AZ enabled.
    Phương án này chỉ kích hoạt Multi-AZ deployment (high availability với standby replica), giúp failover nhanh nhưng KHÔNG cải thiện performance read/write. Snapshot/restore không tăng throughput hay giảm latency trong peak hours. Multi-AZ chủ yếu cho durability, không giải quyết bottleneck workload real-time. (RDS docs: Multi-AZ chỉ replicate async, không scale performance).

  • ❌ [SAI] Migrate from Amazon RDS to Amazon OpenSearch Service with OpenSearch Dashboards.
    OpenSearch Service là search và analytics engine (dựa trên Elasticsearch), phù hợp cho log analysis hoặc full-text search, nhưng KHÔNG tối ưu cho rapid transactional updates như location tracking. Migrate toàn bộ sẽ phức tạp, tốn kém, mất ACID compliance của relational DB, và OpenSearch Dashboards chỉ cho visualization – không phải data store chính cho game real-time. (OpenSearch docs 2025: Không khuyến nghị cho high-write TPS).

  • ❌ [SAI] Deploy Amazon DynamoDB Accelerator (DAX) in front of the existing DB instance. Modify the game to use DAX.
    DAX là in-memory cache dành RIÊNG cho DynamoDB (NoSQL), KHÔNG tương thích với RDS PostgreSQL (relational SQL). Không thể deploy DAX trước RDS – sẽ lỗi integration. Nếu dùng DynamoDB thì ok, nhưng câu hỏi đang dùng RDS, nên sai hoàn toàn. (DynamoDB docs: DAX exclusive for DynamoDB, deprecated partial support pre-2024).

  • ✅ [ĐÚNG] Deploy an Amazon ElastiCache for Redis cluster in front of the existing DB instance. Modify the game to use Redis.
    Như giải thích ở trên: Cache layer hoàn hảo cho low-latency reads/writes, hỗ trợ geospatial data (Redis GEOHASH/GEO commands), scale dễ dàng, tích hợp seamless với RDS via SDK (Node.js/Python cho mobile game). Giảm chi phí RDS bằng cách cache 80-90% hot queries. Best practice cho gaming (AWS GameFest 2025).

🔥 Kết luận: Giải pháp này tuân thủ AWS best practices for gaming (real-time + scale), giữ nguyên RDS làm backend persistent! 🚀

Câu 1902
A company stores critical data in Amazon DynamoDB tables in the company's AWS account. An IT administrator accidentally deleted a DynamoDB table. The deletion caused a significant loss of data and disrupted the company's operations. The company wants to prevent this type of disruption in the future.

Which solution will meet this requirement with the LEAST operational overhead?
  1. A Configure a trail in AWS CloudTrail. Create an Amazon EventBridge rule for delete actions. Create an AWS Lambda function to automatically restore deleted DynamoDB tables.
  2. B Create a backup and restore plan for the DynamoDB tables. Recover the DynamoDB tables manually.
  3. C Configure deletion protection on the DynamoDB tables.
  4. D Enable point-in-time recovery on the DynamoDB tables.
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi xoay quanh tình huống một công ty lưu trữ dữ liệu quan trọng trong các bảng Amazon DynamoDB thuộc tài khoản AWS của họ. Một quản trị viên IT đã xóa nhầm một bảng DynamoDB, dẫn đến mất dữ liệu lớn và gián đoạn hoạt động kinh doanh. Công ty muốn ngăn chặn tình huống tương tự trong tương lai với chi phí vận hành thấp nhất (LEAST operational overhead).

📌 Yêu cầu cốt lõi: Tìm giải pháp tự động bảo vệ bảng DynamoDB khỏi bị xóa vô tình, ưu tiên đơn giản, ít can thiệp thủ công và không phức tạp (dựa trên tính năng AWS mới nhất đến 2026, nơi DynamoDB hỗ trợ các cơ chế bảo vệ nâng cao như Deletion Protection).

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Configure deletion protection on the DynamoDB tables.

Lý do 🛠️:

  • Deletion Protection là tính năng tích hợp sẵn của DynamoDB (ra mắt từ 2022 và cập nhật ổn định đến 2026), cho phép bật bảo vệ xóa trên bảng chỉ bằng một thuộc tính boolean (DeletionProtection: true). Khi bật, không thể xóa bảng trừ khi tắt bảo vệ trước – ngăn chặn hoàn toàn xóa nhầm mà không cần code thêm hay giám sát liên tục.
  • Least operational overhead: Chỉ cần cấu hình một lần qua Console, CLI, SDK hoặc CloudFormation (ví dụ: aws dynamodb update-table --table-name MyTable --deletion-protection-enabled), tự động áp dụng mà không tốn tài nguyên runtime, không cần Lambda hay rule theo dõi.
  • Hoàn hảo cho dữ liệu critical, tránh gián đoạn ngay lập tức.

📘 Tài liệu tham khảo: AWS DynamoDB Deletion Protection.

📋 Giải thí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 một, giữ nguyên văn bản gốc tiếng Anh. Mỗi phương án được đánh giá dựa trên hiệu quả bảo vệ, operational overhead và tính phù hợp với yêu cầu (ngăn xóa nhầm tự động, ít overhead nhất).

  • Configure a trail in AWS CloudTrail. Create an Amazon EventBridge rule for delete actions. Create an AWS Lambda function to automatically restore deleted DynamoDB tables.
    ❌ Sai: Giải pháp này phát hiện sau khi xóa (qua CloudTrail log → EventBridge → Lambda khôi phục), không ngăn chặn xóa mà chỉ phục hồi sau sự cố – vẫn gây gián đoạn tạm thời. Overhead cao: Phải thiết kế, deploy, monitor Lambda/EventBridge, tốn chi phí và bảo trì liên tục (không phải "least"). Không hiệu quả cho real-time protection.

  • Create a backup and restore plan for the DynamoDB tables. Recover the DynamoDB tables manually.
    ❌ Sai: Backup plan (như on-demand backups) chỉ hỗ trợ khôi phục dữ liệu sau xóa, không ngăn chặn xóa bảng. Phải thủ công recover → overhead lớn (thời gian, nhân sự), dễ lỗi và gián đoạn kéo dài. Không tự động, vi phạm "least operational overhead".

  • Configure deletion protection on the DynamoDB tables.
    ✅ Đúng: Như giải thích ở trên, đây là giải pháp tối ưu – bật một lần, tự động chặn xóa mà zero runtime overhead. Hỗ trợ full cho global tables, on-demand capacity (cập nhật 2026). Không cần thêm service nào khác.

  • Enable point-in-time recovery on the DynamoDB tables.
    ❌ Sai: PITR cho phép khôi phục dữ liệu đến 35 ngày trước từ Continuous Backups, nhưng không bảo vệ bảng khỏi xóa – nếu bảng bị drop, PITR cũng mất (phải tạo bảng mới rồi restore). Overhead trung bình (bật PITR tốn storage ~0.2$/GB/tháng), chỉ reactive chứ không preventive. Không đáp ứng "prevent this type of disruption".

🏆 Kết luận và khuyến nghị DevOps

Giải pháp Deletion Protection là best practice cho môi trường production critical (kết hợp với IAM least-privilege và MFA Delete nếu cần). Trong thực tế DevOps, hãy tích hợp vào IaC (CloudFormation/Terraform) để tự động hóa. Nếu cần bảo vệ nâng cao hơn, xem xét AWS Backup policies cho DynamoDB (cập nhật 2026 hỗ trợ cross-region).

📘 Tài liệu bổ sung:

Câu 1903
A company has an on-premises data center that is running out of storage capacity. The company wants to migrate its storage infrastructure to AWS while minimizing bandwidth costs. The solution must allow for immediate retrieval of data at no additional cost.

How can these requirements be met?
  1. A Deploy Amazon S3 Glacier Vault and enable expedited retrieval. Enable provisioned retrieval capacity for the workload.
  2. B Deploy AWS Storage Gateway using cached volumes. Use Storage Gateway to store data in Amazon S3 while retaining copies of frequently accessed data subsets locally.
  3. C Deploy AWS Storage Gateway using stored volumes to store data locally. Use Storage Gateway to asynchronously back up point-in-time snapshots of the data to Amazon S3.
  4. D Deploy AWS Direct Connect to connect with the on-premises data center. Configure AWS Storage Gateway to store data locally. Use Storage Gateway to asynchronously back up point-in-time snapshots of the data to Amazon S3.
Xem giải thích

🧩 Phân tích nội dung câu hỏi

Câu hỏi mô tả tình huống một công ty đang gặp vấn đề hết dung lượng lưu trữ tại data center on-premises. Họ muốn migrate infrastructure lưu trữ sang AWS, với hai yêu cầu chính:
✅ Giảm thiểu chi phí bandwidth (tức hạn chế lượng dữ liệu truyền qua mạng công cộng/internet).
✅ Truy cập dữ liệu ngay lập tức (immediate retrieval) mà không tốn thêm chi phí (no additional cost).

🛠️ Giải pháp cần thiết: Phải sử dụng dịch vụ AWS hỗ trợ hybrid storage (kết hợp on-premises và cloud), lưu trữ chính trên AWS (như S3), giữ cache cục bộ cho dữ liệu thường dùng để truy cập nhanh, và tối ưu hóa truyền dữ liệu (chỉ upload dữ liệu mới/thay đổi, không full sync liên tục). Đây là chủ đề về AWS Storage Gateway trong mô hình hybrid cloud storage migration (cập nhật đến AWS 2026, Storage Gateway hỗ trợ S3 Intelligent-Tiering và Glacier Instant Retrieval cho tối ưu chi phí).

📘 Tài liệu tham khảo:

✅ Đáp án đúng

Deploy AWS Storage Gateway using cached volumes. Use Storage Gateway to store data in Amazon S3 while retaining copies of frequently accessed data subsets locally.

Lý do chọn đáp án này 🏆:

  • Cached Volumes mode của Storage Gateway lưu trữ dữ liệu chính trên Amazon S3 (primary storage ở AWS), chỉ giữ cache cục bộ cho dữ liệu thường truy cập (frequently accessed subsets).
  • Minimize bandwidth: Upload dữ liệu ban đầu một lần (initial seed), sau đó chỉ sync thay đổi (differential sync), giảm đáng kể traffic internet. Không cần full data local nên tiết kiệm dung lượng on-premises.
  • Immediate retrieval no additional cost: Cache local cho phép đọc/ghi ngay lập tức (sub-ms latency), dữ liệu không cache sẽ fetch từ S3 Standard (immediate, không phí retrieval như Glacier).
  • Hoàn hảo cho migration: Dần dần offload storage sang AWS mà không gián đoạn. (Cập nhật 2026: Tích hợp S3 Express One Zone cho low-latency cao hơn).

📋 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/sai với lý do cụ thể:

  • ❌ [SAI] Deploy Amazon S3 Glacier Vault and enable expedited retrieval. Enable provisioned retrieval capacity for the workload.
    Giải thích sai: S3 Glacier Vault (nay là S3 Glacier Flexible Retrieval) dành cho archival dài hạn, expedited retrieval tốn phí cao (khoảng $0.03/GB + provisioned capacity phí). Không đáp ứng immediate retrieval (expedited chỉ 1-5 phút, không phải ngay lập tức) và no additional cost. Bandwidth vẫn cao nếu migrate full data. Không hybrid, chỉ pure cloud archival.

  • ✅ [ĐÚNG] Deploy AWS Storage Gateway using cached volumes. Use Storage Gateway to store data in Amazon S3 while retaining copies of frequently accessed data subsets locally.
    Giải thích đúng (như phần trên): Hoàn toàn khớp yêu cầu hybrid migration, cached mode tối ưu bandwidth + immediate local access.

  • ❌ [SAI] Deploy AWS Storage Gateway using stored volumes to store data locally. Use Storage Gateway to asynchronously back up point-in-time snapshots of the data to Amazon S3.
    Giải thích sai: Stored Volumes giữ full data local (mirror on-premises), chỉ async backup snapshots sang S3. Không migrate storage sang AWS thực sự (vẫn tốn dung lượng local), bandwidth chỉ cho snapshots (không minimize cho full migration). Immediate access OK nhưng không giải quyết hết capacity on-premises.

  • ❌ [SAI] Deploy AWS Direct Connect to connect with the on-premises data center. Configure AWS Storage Gateway to store data locally. Use Storage Gateway to asynchronously back up point-in-time snapshots of the data to Amazon S3.
    Giải thích sai: Kết hợp Direct Connect (giảm chi phí bandwidth dedicated) với Stored Volumes (lưu full local + async snapshots S3). Tương tự phương án trước, không migrate primary storage sang AWS (vẫn phụ thuộc on-premises capacity). Direct Connect giúp bandwidth nhưng không thay đổi bản chất stored mode, không immediate offload như cached.

🧠 Kết luận: Cached Volumes là lựa chọn tối ưu nhất cho hybrid storage migration với chi phí thấp và hiệu suất cao! Nếu triển khai, khuyến nghị dùng iSCSI cho volumes và monitor qua CloudWatch. 🚀

Câu 1904
A company runs a three-tier web application in a VPC across multiple Availability Zones. Amazon EC2 instances run in an Auto Scaling group for the application tier.

The company needs to make an automated scaling plan that will analyze each resource's daily and weekly historical workload trends. The configuration must scale resources appropriately according to both the forecast and live changes in utilization.

Which scaling strategy should a solutions architect recommend to meet these requirements?
  1. A Implement dynamic scaling with step scaling based on average CPU utilization from the EC2 instances.
  2. B Enable predictive scaling to forecast and scale. Configure dynamic scaling with target tracking
  3. C Create an automated scheduled scaling action based on the traffic patterns of the web application.
  4. D Set up a simple scaling policy. Increase the cooldown period based on the EC2 instance startup time.
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 đang vận hành ứng dụng web 3-tier (presentation, application, data tier) trong VPC đa Availability Zones (AZ) để đảm bảo tính sẵn sàng cao. Các instance Amazon EC2 cho tầng application được quản lý bởi Auto Scaling Group (ASG).

Yêu cầu chính là xây dựng kế hoạch scaling tự động (automated scaling plan) với các đặc điểm sau:

  • Phân tích xu hướng workload lịch sử hàng ngày và hàng tuần (daily and weekly historical workload trends).
  • Scale phù hợp dựa trên cả dự báo (forecast) và thay đổi utilization thời gian thực (live changes).

🛠️ Mục tiêu: Solutions Architect cần recommend chiến lược scaling kết hợp dự đoán dựa trên ML (cho historical trends) và phản ứng nhanh với metric real-time (như CPU, traffic). Đây là tình huống điển hình yêu cầu Predictive Scaling của AWS Auto Scaling, tích hợp machine learning để forecast và dynamic scaling để điều chỉnh live.

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Enable predictive scaling to forecast and scale. Configure dynamic scaling with target tracking

Lý do chi tiết:

  • Predictive Scaling (tính năng mới nhất AWS đến 2026) sử dụng machine learning để phân tích historical metrics (daily/weekly trends như CPU, network I/O), tạo forecast scale-in/out trước khi peak xảy ra (proactive scaling).
  • Kết hợp dynamic scaling với target tracking (target tracking scaling policy) để theo dõi metric mục tiêu (ví dụ: giữ CPU ~50%) và điều chỉnh tự động theo live changes (reactive scaling).
  • Đây là giải pháp hoàn hảo khớp yêu cầu: forecast từ history + real-time adjustment, hỗ trợ ASG EC2 multi-AZ. Không cần can thiệp thủ công, tự động 100%.

📋 Giải thích tất cả các phương án

  • Enable predictive scaling to forecast and scale. Configure dynamic scaling with target tracking
    ✅ Đúng - Như giải thích trên, Predictive Scaling forecast dựa trên historical trends (daily/weekly), dynamic target tracking xử lý live utilization. Tích hợp seamless trong ASG, giảm thiểu over/under-provisioning.

  • Implement dynamic scaling with step scaling based on average CPU utilization from the EC2 instances.
    ❌ Sai - Chỉ dùng dynamic step scaling (dựa alarm CloudWatch CPU avg.) là reactive thuần túy, không phân tích historical trends hay forecast. Bỏ lỡ proactive scaling, có thể lag sau peak workload. Không đáp ứng "forecast and live changes".

  • Create an automated scheduled scaling action based on the traffic patterns of the web application.
    ❌ Sai - Scheduled scaling chỉ scale theo lịch cố định (dựa pattern traffic đã biết), không phân tích historical trends tự động hay forecast động. Không xử lý "live changes" bất ngờ, kém linh hoạt cho workload biến động.

  • Set up a simple scaling policy. Increase the cooldown period based on the EC2 instance startup time.
    ❌ Sai - Simple scaling (scale out/in fixed số instance khi metric vượt ngưỡng) quá cơ bản, không forecast historical data. Tăng cooldown chỉ tránh scale lặp (dựa startup time), nhưng không giải quyết yêu cầu analyze trends + forecast + live.

📘 Tài liệu tham khảo (AWS Documentation mới nhất 2026)

Hy vọng phân tích này giúp bạn ôn thi DOP-C02 hiệu quả! 🚀 Nếu cần ví dụ code CloudFormation, hãy hỏi thêm nhé!

Câu 1905
A package delivery company has an application that uses Amazon EC2 instances and an Amazon Aurora MySQL DB cluster. As the application becomes more popular, EC2 instance usage increases only slightly. DB cluster usage increases at a much faster rate.

The company adds a read replica, which reduces the DB cluster usage for a short period of time. However, the load continues to increase. The operations that cause the increase in DB cluster usage are all repeated read statements that are related to delivery details. The company needs to alleviate the effect of repeated reads on the DB cluster.

Which solution will meet these requirements MOST cost-effectively?
  1. A Implement an Amazon ElastiCache for Redis cluster between the application and the DB cluster.
  2. B Add an additional read replica to the DB cluster.
  3. C Configure Aurora Auto Scaling for the Aurora read replicas.
  4. D Modify the DB cluster to have multiple writer instances.
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 công ty giao hàng hàng hóa sử dụng ứng dụng chạy trên Amazon EC2 instances kết nối với Amazon Aurora MySQL DB cluster. Khi ứng dụng phổ biến hơn:

  • Sử dụng EC2 chỉ tăng nhẹ (không phải vấn đề chính).
  • Sử dụng DB cluster tăng mạnh, đặc biệt do các repeated read statements (các truy vấn đọc lặp lại liên quan đến chi tiết giao hàng).

Họ đã thử thêm read replica, giúp giảm tải tạm thời, nhưng load vẫn tăng. Yêu cầu: Giải pháp MOST cost-effectively (tiết kiệm chi phí nhất) để giảm tác động của repeated reads lên DB cluster.

Vấn đề cốt lõi 🛠️: Repeated reads gây tải cao trên DB (đọc lặp từ cùng dữ liệu), cần cơ chế cache dữ liệu đọc phổ biến để tránh query DB liên tục. Giải pháp phải scale reads hiệu quả, tiết kiệm hơn scale DB hardware.

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Implement an Amazon ElastiCache for Redis cluster between the application and the DB cluster.

Lý do 📈:

  • ElastiCache for Redis là dịch vụ caching in-memory siêu nhanh, lý tưởng cho repeated reads (hit cache → không query DB, giảm tải 90-99% cho queries lặp).
  • Đặt giữa app (EC2) và DB: App check cache trước → chỉ miss mới query DB → populate cache.
  • Cost-effective nhất 💰: Redis rẻ hơn scale DB replicas (pay-per-use, no storage cost như DB), tự động scale, TTL tự xóa cache cũ. Phù hợp workload read-heavy như delivery details (status, tracking).
  • Cập nhật 2026: ElastiCache hỗ trợ Serverless (từ 2022, scale auto), Multi-AZ, Data Tiering giảm chi phí lưu trữ lạnh.

🔍 Giải thích tất cả các phương án (đúng/sai)

  • ✅ Implement an Amazon ElastiCache for Redis cluster between the application and the DB cluster.
    Đúng vì: Cache repeated reads hiệu quả, giảm query DB gốc/writer/replicas. Tiết kiệm nhất (không cần thêm DB instances tốn kém). AWS khuyến nghị pattern này cho read-intensive apps.

  • ❌ Add an additional read replica to the DB cluster.
    Sai vì: Read replica chỉ offload reads từ writer, nhưng vẫn query storage layer (repeated reads vẫn tốn IOPS/CPU trên replicas). Đã thử 1 replica mà load vẫn tăng → thêm nữa chỉ tạm thời, chi phí cao hơn (mỗi replica ~50-100% giá writer, replication lag có thể xảy ra).

  • ❌ Configure Aurora Auto Scaling for the Aurora read replicas.
    Sai vì: Auto Scaling tự add/remove replicas dựa trên CPU/Connections (từ Aurora 2.07+), nhưng vẫn không giải quyết repeated reads (mỗi replica vẫn query full). Chi phí cao (scale up/down vẫn tính phí instances), kém hiệu quả hơn caching cho workload lặp.

  • ❌ Modify the DB cluster to have multiple writer instances.
    Sai vì: Aurora MySQL không hỗ trợ multiple writers trong single cluster (chỉ 1 writer primary). Multiple writers chỉ có ở Aurora Serverless v2 hoặc Global Databases (cross-region). Thay đổi này không scale reads (writers xử lý writes), và không tồn tại cho setup chuẩn → vô hiệu.

📘 Tài liệu tham khảo (AWS cập nhật 2026)

Hy vọng phân tích này giúp bạn ôn thi hiệu quả! 🚀 Nếu cần thêm case study, hỏi nhé!

Câu 1906
A company has an application that uses an Amazon DynamoDB table for storage. A solutions architect discovers that many requests to the table are not returning the latest data. The company's users have not reported any other issues with database performance. Latency is in an acceptable range.

Which design change should the solutions architect recommend?
  1. A Add read replicas to the table.
  2. B Use a global secondary index (GSI).
  3. C Request strongly consistent reads for the table.
  4. D Request eventually consistent reads for the table.
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 ứng dụng sử dụng bảng Amazon DynamoDB làm nơi lưu trữ dữ liệu. Kiến trúc sư giải pháp (solutions architect) phát hiện rằng nhiều yêu cầu đọc (requests) đến bảng không trả về dữ liệu mới nhất (stale data), nhưng người dùng công ty không báo cáo vấn đề khác về hiệu suất cơ sở dữ liệu. Độ trễ (latency) vẫn ở mức chấp nhận được.

Vấn đề cốt lõi ở đây là tính nhất quán dữ liệu (data consistency) trong DynamoDB: Theo mặc định, các thao tác đọc (read operations) sử dụng eventually consistent reads, có thể trả về dữ liệu cũ (stale) vài giây sau khi viết (write). Điều này không ảnh hưởng đến hiệu suất tổng thể (throughput, latency OK), nhưng gây ra tình trạng dữ liệu không cập nhật kịp thời. Kiến trúc sư cần đề xuất thay đổi thiết kế để đảm bảo dữ liệu đọc luôn mới nhất mà không làm suy giảm performance đáng kể.

🛠️ Bối cảnh AWS cập nhật đến 2026: DynamoDB vẫn duy trì hai mức độ nhất quán đọc chính: Eventually Consistent Reads (mặc định, nhanh hơn, tiết kiệm RCU) và Strongly Consistent Reads (đảm bảo dữ liệu mới nhất, tốn gấp đôi RCU và latency cao hơn ~2x, nhưng phù hợp khi latency đã OK). Không có thay đổi lớn về tính năng này trong các bản cập nhật gần nhất (DynamoDB Global Tables, On-Demand capacity vẫn giữ nguyên cơ chế consistency).

📘 Tài liệu tham khảo:

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Request strongly consistent reads for the table.

Lý do: DynamoDB mặc định sử dụng eventually consistent reads, dẫn đến dữ liệu có thể không cập nhật ngay lập tức (stale data trong vài giây). Việc chuyển sang strongly consistent reads (bằng cách đặt tham số ConsistentRead: true trong API calls như GetItem, Query, Scan) sẽ đảm bảo mọi yêu cầu đọc luôn trả về dữ liệu mới nhất từ tất cả các bản sao (replicas). Latency vẫn chấp nhận được (như câu hỏi nêu), và không ảnh hưởng đến write operations. Đây là thay đổi thiết kế đơn giản, hiệu quả nhất mà không cần thêm tài nguyên thừa. 💡 Tiết kiệm chi phí: Chỉ áp dụng cho các query cần dữ liệu fresh, không phải toàn bộ ứng dụng.

❌ Phân tích tất cả các phương án (đúng/sai)

  • [SAI] Add read replicas to the table.
    ❌ Sai vì: DynamoDB không hỗ trợ read replicas như RDS hay Aurora (read replicas dùng để scale reads và multi-AZ). DynamoDB tự động replicate dữ liệu qua 3 AZ với multi-leader replication, nhưng điều này không giải quyết stale data – read replicas ở RDS mới có eventually/strong consistency riêng. Thêm replicas không tồn tại và không liên quan đến consistency. (Tham khảo: DynamoDB không có khái niệm read replicas trong docs).

  • [SAI] Use a global secondary index (GSI).
    ❌ Sai vì: GSI là chỉ mục thứ cấp toàn cục để query theo thuộc tính khác (non-key), hỗ trợ projection và scale reads độc lập. Tuy nhiên, GSI cũng kế thừa eventually consistent reads mặc định, không giải quyết vấn đề stale data chính. GSI hữu ích cho access patterns khác, nhưng ở đây vấn đề là consistency trên bảng chính, không phải indexing. Latency OK nên không cần scale index.

  • [ĐÚNG] Request strongly consistent reads for the table.
    ✅ Đúng vì: Như giải thích trên, đây là cách trực tiếp nhất để khắc phục stale data bằng cách chỉ định ConsistentRead=true trong SDK/API. DynamoDB đảm bảo read từ quorum replicas mới nhất, phù hợp khi latency chấp nhận được và không cần thay đổi architecture lớn. Cập nhật 2026: Tính năng này vẫn là best practice cho ứng dụng cần strong consistency (ví dụ: financial apps).

  • [SAI] Request eventually consistent reads for the table.
    ❌ Sai vì: Đây chính là mặc định của DynamoDB (99.99% reads thành công trong 1 giây, nhưng có thể stale). Yêu cầu eventually consistent sẽ làm vấn đề tệ hơn hoặc giữ nguyên, không giải quyết được "not returning the latest data". Chỉ dùng khi ưu tiên speed/cost, nhưng câu hỏi cần dữ liệu mới nhất.

🧠 Lời khuyên DevOps: Trong code (Node.js/Python SDK), thêm ConsistentRead: true cho các GetItem/Query cần fresh data. Giám sát qua CloudWatch Metrics (ConsistentReadRequests) để tối ưu RCU. Nếu scale lớn, xem xét DynamoDB Streams + Lambda cho caching! 🚀

Câu 1907
A company has deployed its application on Amazon EC2 instances with an Amazon RDS database. The company used the principle of least privilege to configure the database access credentials. The company's security team wants to protect the application and the database from SQL injection and other web-based attacks.

Which solution will meet these requirements with the LEAST operational overhead?
  1. A Use security groups and network ACLs to secure the database and application servers.
  2. B Use AWS WAF to protect the application. Use RDS parameter groups to configure the security settings.
  3. C Use AWS Network Firewall to protect the application and the database.
  4. D Use different database accounts in the application code for different functions. Avoid granting excessive privileges to the database users.
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 bảo vệ ứng dụng chạy trên Amazon EC2 kết nối với Amazon RDS khỏi các cuộc tấn công SQL injection và các web-based attacks khác (như XSS, command injection...). Công ty đã áp dụng nguyên tắc least privilege cho credentials truy cập database, nghĩa là chỉ cấp quyền tối thiểu cần thiết. Yêu cầu chính là chọn giải pháp với LEAST operational overhead (ít tốn công vận hành nhất), tức là giải pháp tự động hóa cao, managed service từ AWS, không cần quản lý thủ công nhiều.

✅ Mục tiêu bảo vệ:

  • Ứng dụng (app layer): Chống web exploits qua input validation và rule-based filtering.
  • Database (RDS): Cấu hình parameters để tăng cường logging, auditing và mitigation attacks mà không cần thay đổi code lớn.

🛠️ Bối cảnh AWS hiện tại (cập nhật đến 2026): AWS khuyến nghị sử dụng managed services như WAF cho web protection và parameter groups cho RDS tuning, phù hợp với DevOps best practices trong DOP-C02 exam.

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Use AWS WAF to protect the application. Use RDS parameter groups to configure the security settings.

Lý do chọn:

  • AWS WAF (Web Application Firewall) là dịch vụ managed hoàn toàn, tích hợp dễ dàng với ALB/NLB/CloudFront/ API Gateway trước EC2, sử dụng managed rules (như AWS Managed Rules for SQLi, XSS) để chặn SQL injection và web attacks ngay tại edge mà không cần code thay đổi lớn. Operational overhead thấp vì rules tự động update (core rule set cập nhật liên tục đến 2026).
  • RDS parameter groups cho phép cấu hình parameters như log_statement = 'all', log_min_duration_statement, hoặc enable advanced logging/auditing để detect SQLi attempts, kết hợp IAM auth/encryption. Đây là cách zero-downtime tuning với low overhead, không cần restart DB thường xuyên.
  • Least overhead: Cả hai đều serverless/managed, deploy qua console/CLI/Terraform, phù hợp least privilege đã áp dụng.

📋 Giải thích tất cả các phương án (đúng/sai)

  • ✅ [ĐÚNG] Use AWS WAF to protect the application. Use RDS parameter groups to configure the security settings.
    Như đã giải thích trên: WAF chặn attacks tại app layer (SQLi qua HTTP), RDS params tăng security mà không tốn overhead quản lý firewall thủ công hay code refactor. Hoàn hảo cho EC2+RDS setup.

  • ❌ [SAI] Use security groups and network ACLs to secure the database and application servers.
    Security Groups (SG) và Network ACLs (NACL) chỉ bảo vệ network layer (L3/L4) như IP/port access, không detect/chặn SQL injection hay web exploits (app layer L7). Overhead thấp nhưng không meet yêu cầu bảo vệ cụ thể, chỉ là baseline security.

  • ❌ [SAI] Use AWS Network Firewall to protect the application and the database.
    AWS Network Firewall là stateful L3/L7 firewall với intrusion prevention (IPS), nhưng tập trung vào network traffic/deep packet inspection, không chuyên sâu cho web app attacks như SQLi (WAF tốt hơn). Overhead cao hơn vì cần endpoints/VPC deployment, ruleset custom, không managed như WAF cho web.

  • ❌ [SAI] Use different database accounts in the application code for different functions. Avoid granting excessive privileges to the database users.
    Đây là least privilege extension, giúp limit damage nếu breach, nhưng không ngăn SQLi (attacker inject qua input sanitized kém, bypass auth). Yêu cầu thay đổi code/app logic, tăng overhead maintainability, không giải quyết web attacks gốc.

📘 Tài liệu tham khảo (AWS Docs cập nhật 2026)

🛡️ Khuyến nghị DevOps: Kết hợp với IAM roles for EC2-RDS, CloudTrail audit để full coverage!

Câu 1908
An ecommerce company runs applications in AWS accounts that are part of an organization in AWS Organizations. The applications run on Amazon Aurora PostgreSQL databases across all the accounts. The company needs to prevent malicious activity and must identify abnormal failed and incomplete login attempts to the databases.

Which solution will meet these requirements in the MOST operationally efficient way?
  1. A Attach service control policies (SCPs) to the root of the organization to identity the failed login attempts.
  2. B Enable the Amazon RDS Protection feature in Amazon GuardDuty for the member accounts of the organization.
  3. C Publish the Aurora general logs to a log group in Amazon CloudWatch Logs. Export the log data to a central Amazon S3 bucket.
  4. D Publish all the Aurora PostgreSQL database events in AWS CloudTrail to a central Amazon S3 bucket.
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 một công ty thương mại điện tử (ecommerce) đang chạy các ứng dụng trên các AWS accounts thuộc một AWS Organizations. Các ứng dụng sử dụng Amazon Aurora PostgreSQL databases trải rộng trên tất cả các accounts này.
Yêu cầu chính:

  • Prevent malicious activity (ngăn chặn hoạt động độc hại).
  • Identify abnormal failed and incomplete login attempts (phát hiện các lần đăng nhập thất bại hoặc không hoàn tất bất thường) vào các databases.
    Tiêu chí chọn giải pháp: Phải là cách MOST operationally efficient (hiệu quả vận hành nhất), nghĩa là tự động hóa cao, dễ quản lý ở quy mô multi-account, không cần can thiệp thủ công nhiều, và tận dụng các dịch vụ AWS native để phát hiện threat intelligence mà không tốn kém.

Vấn đề cốt lõi là cần một giải pháp tự động phát hiện và cảnh báo các hành vi đáng ngờ như brute-force attacks hoặc failed logins vào Aurora PostgreSQL, trong môi trường multi-account Organizations. ✅

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Enable the Amazon RDS Protection feature in Amazon GuardDuty for the member accounts of the organization.

Lý do:
🛡️ Amazon GuardDuty RDS Protection (tính năng được AWS cập nhật và mở rộng đến năm 2026) là giải pháp tích hợp sẵn threat detection chuyên biệt cho RDS/Aurora, tự động phân tích login attempts thất bại hoặc không hoàn tất từ database proxy logs và performance logs. Nó sử dụng machine learning và threat intelligence từ AWS để phát hiện abnormal patterns (như brute-force, reconnaissance), đồng thời prevent malicious activity bằng cách tạo findings/alerts realtime.
🔄 Hỗ trợ Organizations: Có thể enable delegated admin cho GuardDuty ở management account, tự động cover tất cả member accounts mà không cần config thủ công từng account – rất efficient ở quy mô lớn.
📈 Ưu điểm vận hành: Zero-config sau enable, tích hợp với EventBridge/CloudWatch/Slack cho alerting, và chi phí dựa trên findings (pay-as-you-go). Không cần export logs hay phân tích thủ công. Đây là giải pháp best practice theo AWS Well-Architected Framework (Security Pillar).

📋 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 nội dung gốc bằng tiếng Anh. Mỗi phương án được đánh giá đúng/sai với lý do chi tiết bằng tiếng Việt:

  • Attach service control policies (SCPs) to the root of the organization to identity the failed login attempts.
    ❌ SAI: SCPs chỉ dùng để giới hạn permissions (deny/allow actions) ở mức organization-wide, không có khả năng monitor hoặc identify logs/login attempts. SCP không thu thập dữ liệu database logs, chỉ là policy kiểm soát IAM – không giải quyết được phát hiện abnormal failed logins. Hơn nữa, attach SCP ở root không efficient cho monitoring realtime.

  • Enable the Amazon RDS Protection feature in Amazon GuardDuty for the member accounts of the organization.
    ✅ ĐÚNG: Như đã giải thích ở trên. Đây là giải pháp native, automated, và scalable nhất cho RDS/Aurora login threats trong Organizations. GuardDuty RDS Protection (cập nhật 2024-2026) phân tích logs trực tiếp từ RDS mà không cần export, detect failed logins với ML-based anomaly detection. Hoàn hảo cho multi-account.

  • Publish the Aurora general logs to a log group in Amazon CloudWatch Logs. Export the log data to a central Amazon S3 bucket.
    ❌ SAI: Aurora general logs có thể ghi lại login attempts, nhưng việc publish thủ công và export to S3 đòi hỏi config parameter group ở từng DB instance/account, sau đó dùng Athena/CloudWatch Logs Insights để query – không automated detection, dễ miss abnormal patterns mà không có ML. Không efficient ở multi-account (cần script/Lambda để centralize), tốn chi phí storage/query cao, và không prevent malicious activity trực tiếp.

  • Publish all the Aurora PostgreSQL database events in AWS CloudTrail to a central Amazon S3 bucket.
    ❌ SAI: CloudTrail chỉ ghi API calls (như ModifyDBInstance), không capture database-level events như login attempts vào PostgreSQL (đó là internal DB logs, không phải AWS API). Không thể identify failed logins qua CloudTrail. Central S3 chỉ lưu trữ, vẫn cần tool bên thứ 3 để analyze – không efficient và không đúng mục tiêu.

📘 Tài liệu tham khảo (cập nhật AWS đến 2026)

🛠️ Kết luận: GuardDuty RDS Protection là lựa chọn optimal cho DevOps Engineer, giảm operational overhead xuống mức thấp nhất! Nếu cần config demo, hãy hỏi thêm nhé! 🚀

Câu 1909
A company has an AWS Direct Connect connection from its corporate data center to its VPC in the us-east-1 Region. The company recently acquired a corporation that has several VPCs and a Direct Connect connection between its on-premises data center and the eu-west-2 Region. The CIDR blocks for the VPCs of the company and the corporation do not overlap. The company requires connectivity between two Regions and the data centers. The company needs a solution that is scalable while reducing operational overhead.

What should a solutions architect do to meet these requirements?
  1. A Set up inter-Region VPC peering between the VPC in us-east-1 and the VPCs in eu-west-2.
  2. B Create private virtual interfaces from the Direct Connect connection in us-east-1 to the VPCs in eu-west-2.
  3. C Establish VPN appliances in a fully meshed VPN network hosted by Amazon EC2. Use AWS VPN CloudHub to send and receive data between the data centers and each VPC.
  4. D Connect the existing Direct Connect connection to a Direct Connect gateway. Route traffic from the virtual private gateways of the VPCs in each Region to the Direct Connect gateway.
Xem giải thích

🧩 Phân tích nội dung câu hỏi

Câu hỏi mô tả tình huống một công ty có kết nối AWS Direct Connect từ data center nội bộ (on-premises) đến VPC ở vùng us-east-1. Sau khi mua lại một công ty khác, họ có thêm các VPC ở vùng eu-west-2 với kết nối Direct Connect riêng từ data center nội bộ của công ty đó. Các khối CIDR của các VPC không chồng chéo (non-overlapping). Yêu cầu là thiết lập kết nối giữa hai Regions (us-east-1 và eu-west-2) cũng như giữa các data center nội bộ, với giải pháp phải scalable (mở rộng được) và giảm operational overhead (giảm chi phí vận hành).

📌 Mục tiêu chính: Kết nối on-premises → VPC us-east-1 ↔ VPC eu-west-2 ↔ on-premises (của cả hai công ty), tận dụng Direct Connect hiện có, tránh phức tạp và chi phí cao. Giải pháp cần hỗ trợ multi-region, multi-VPC mà không cần quản lý nhiều kết nối riêng lẻ (theo tài liệu AWS cập nhật 2024-2026).

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Connect the existing Direct Connect connection to a Direct Connect gateway. Route traffic from the virtual private gateways of the VPCs in each Region to the Direct Connect gateway.

Lý do chọn đáp án này 🛠️:

  • Direct Connect Gateway (DX Gateway) là dịch vụ AWS (cập nhật mới nhất 2026) cho phép một kết nối Direct Connect duy nhất từ on-premises kết nối đến nhiều VPC ở nhiều Regions thông qua Virtual Private Gateway (VGW) của từng VPC.
  • Scalable: Hỗ trợ lên đến 10,000 prefixes/BGP routes, dễ mở rộng mà không cần tạo VIF riêng cho từng VPC/Region.
  • Giảm overhead: Chỉ cần associate DX Gateway với các VGW, route traffic tự động propagate qua BGP, không cần quản lý peering hay appliance thủ công.
  • Hoạt động: Kết nối DX us-east-1 → DX Gateway → VGW us-east-1 & VGW eu-west-2 → traffic on-premises ↔ VPCs đa vùng.
  • Nguồn tham khảo: AWS Direct Connect Gateway Documentation & AWS Well-Architected Framework - Networking Pillar (2024).

📋 Giải thí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 bằng tiếng Anh. Mỗi phương án được đánh giá đúng/sai với lý do cụ thể dựa trên best practices AWS mới nhất.

  • Set up inter-Region VPC peering between the VPC in us-east-1 and the VPCs in eu-west-2.
    ❌ Sai vì: Inter-Region VPC Peering tồn tại nhưng không hỗ trợ transit traffic từ on-premises qua Direct Connect hiệu quả. Peering chỉ kết nối trực tiếp VPC-to-VPC (latency cao giữa regions, giới hạn 100 peering/VPC), không tích hợp native với Direct Connect. Không scalable cho multi-VPC/on-prem, tăng overhead route management thủ công. Không đáp ứng yêu cầu kết nối data centers.

  • Create private virtual interfaces from the Direct Connect connection in us-east-1 to the VPCs in eu-west-2.
    ❌ Sai vì: Private Virtual Interface (Private VIF) là regional, chỉ attach vào VGW trong cùng Region (us-east-1 không thể tạo VIF trực tiếp đến eu-west-2). Không hỗ trợ cross-region VIF từ một DX connection. Scalability kém (giới hạn 4 VIF/link), overhead cao khi cần nhiều VIF cho multi-VPC. Vi phạm nguyên tắc AWS DX architecture.

  • Establish VPN appliances in a fully meshed VPN network hosted by Amazon EC2. Use AWS VPN CloudHub to send and receive data between the data centers and each VPC.
    ❌ Sai vì: VPN CloudHub (legacy, nay khuyến nghị Transit Gateway) yêu cầu EC2 appliances fully-meshed, tốn kém (EC2 instances, bandwidth), latency cao, không scalable (giới hạn tunnels). Overhead lớn: Quản lý EC2, BGP/IPsec, không tận dụng Direct Connect native. Không phải giải pháp low-overhead cho hybrid multi-region.

Tóm tắt lợi ích DX Gateway 🌟: Giải pháp native AWS, high-throughput (100 Gbps+), secure (private), auto-scale với Jumbo Frames (9001 MTU từ 2024). Hoàn hảo cho enterprise hybrid connectivity!

Câu 1910
A company is developing a mobile game that streams score updates to a backend processor and then posts results on a leaderboard. A solutions architect needs to design a solution that can handle large traffic spikes, process the mobile game updates in order of receipt, and store the processed updates in a highly available database. The company also wants to minimize the management overhead required to maintain the solution.

What should the solutions architect do to meet these requirements?
  1. A Push score updates to Amazon Kinesis Data Streams. Process the updates in Kinesis Data Streams with AWS Lambda. Store the processed updates in Amazon DynamoDB.
  2. B Push score updates to Amazon Kinesis Data Streams. Process the updates with a fleet of Amazon EC2 instances set up for Auto Scaling. Store the processed updates in Amazon Redshift.
  3. C Push score updates to an Amazon Simple Notification Service (Amazon SNS) topic. Subscribe an AWS Lambda function to the SNS topic to process the updates. Store the processed updates in a SQL database running on Amazon EC2.
  4. D Push score updates to an Amazon Simple Queue Service (Amazon SQS) queue. Use a fleet of Amazon EC2 instances with Auto Scaling to process the updates in the SQS queue. Store the processed updates in an Amazon RDS Multi-AZ DB instance.
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 đang phát triển trò chơi di động cần stream các cập nhật điểm số từ người chơi đến backend để xử lý và đăng kết quả lên bảng xếp hạng (leaderboard). Kiến trúc sư giải pháp (solutions architect) phải thiết kế hệ thống đáp ứng các yêu cầu sau:
✅ Xử lý các đỉnh traffic lớn (large traffic spikes) – hệ thống phải scale tự động và chịu tải cao.
✅ Xử lý cập nhật theo đúng thứ tự nhận được (process in order of receipt) – đảm bảo thứ tự FIFO (First In First Out).
✅ Lưu trữ dữ liệu đã xử lý vào cơ sở dữ liệu highly available (chịu lỗi cao, sẵn sàng cao).
✅ Giảm thiểu overhead quản lý (minimize management overhead) – ưu tiên serverless, không cần quản lý server thủ công.

Đây là tình huống real-time streaming với dữ liệu lớn từ mobile game, cần độ tin cậy cao và chi phí thấp. 🛠️ Kiến thức AWS cập nhật đến 2026: Amazon Kinesis Data Streams hỗ trợ exactly-once processing với enhanced fan-out và Lambda integration; DynamoDB với global tables và on-demand capacity cho scale tự động.

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Push score updates to Amazon Kinesis Data Streams. Process the updates in Kinesis Data Streams with AWS Lambda. Store the processed updates in Amazon DynamoDB.

Lý do:

  • Kinesis Data Streams lý tưởng cho streaming real-time, xử lý spikes lớn (hàng triệu records/giây), và đảm bảo thứ tự theo shard (ordered processing).
  • AWS Lambda tích hợp trực tiếp với Kinesis (event source mapping), xử lý serverless theo batch, exactly-once semantics (không duplicate), không cần quản lý fleet.
  • Amazon DynamoDB là NoSQL DB fully managed, highly available (multi-AZ, global tables), scale on-demand, phù hợp leaderboard (high read/write throughput).
    Toàn bộ giải pháp serverless, giảm overhead tối đa. 📘 (Nguồn: AWS Kinesis Docs 2024-2026: https://docs.aws.amazon.com/streams/latest/dev/introduction.html; DynamoDB Best Practices).

📋 Giải thí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, với ✅ đúng hoặc ❌ sai, giữ nguyên văn bản gốc:

  • ✅ Push score updates to Amazon Kinesis Data Streams. Process the updates in Kinesis Data Streams with AWS Lambda. Store the processed updates in Amazon DynamoDB.
    🟢 Đúng hoàn toàn: Như giải thích trên, đáp ứng đầy đủ ordered processing (Kinesis shards), scale spikes (Kinesis + Lambda), highly available storage (DynamoDB), và serverless (zero management). Hoàn hảo cho mobile game leaderboard.

  • ❌ Push score updates to Amazon Kinesis Data Streams. Process the updates with a fleet of Amazon EC2 instances set up for Auto Scaling. Store the processed updates in Amazon Redshift.
    🔴 Sai: Kinesis tốt cho streaming và order, Auto Scaling EC2 xử lý được spikes nhưng tăng overhead quản lý (patching, scaling groups, AMI). Redshift là data warehouse cho analytics (batch ETL), không phù hợp real-time leaderboard (latency cao, chi phí lưu trữ lớn, không highly available cho writes nhanh).

  • ❌ Push score updates to an Amazon Simple Notification Service (Amazon SNS) topic. Subscribe an AWS Lambda function to the SNS topic to process the updates. Store the processed updates in a SQL database running on Amazon EC2.
    🔴 Sai: SNS là pub/sub cho fan-out, không đảm bảo thứ tự (at-least-once, có thể disorder). Lambda + SNS ok serverless nhưng fail ordered req. SQL DB trên EC2 tự quản lý, không highly available (cần Multi-AZ thủ công), overhead cao, không scale tự động như DynamoDB.

  • ❌ Push score updates to an Amazon Simple Queue Service (Amazon SQS) queue. Use a fleet of Amazon EC2 instances with Auto Scaling to process the updates in the SQS queue. Store the processed updates in an Amazon RDS Multi-AZ DB instance.
    🔴 Sai: SQS standard queue không guarantee order (random delivery); dù có FIFO queue (ordered) nhưng câu hỏi dùng "SQS queue" mặc định standard. EC2 fleet overhead lớn (quản lý instances). RDS Multi-AZ highly available nhưng relational SQL kém hiệu suất cho leaderboard high-throughput so với NoSQL, vẫn cần quản lý DB instances.

📘 Tài liệu tham khảo chính (cập nhật AWS 2026)

Giải pháp đúng giúp hệ thống scale mượt mà cho game spikes! 🎮🛡️