Ngân hàng đề — AWS Certified Database Specialty

Tìm thấy 358 câu.

Câu 281
A company migrated an on-premises Oracle database to Amazon RDS for Oracle. A database specialist needs to monitor the latency of the database.

Which solution will meet this requirement with the LEAST operational overhead?
  1. A Publish RDS Performance insights metrics to Amazon CloudWatch. Add AWS CloudTrail filters to monitor database performance
  2. B Install Oracle Statspack. Enable the performance statistics feature to collect, store, and display performance data to monitor database performance.
  3. C Enable RDS Performance Insights to visualize the database load. Enable Enhanced Monitoring to view how different threads use the CPU
  4. D Create a new DB parameter group that includes the AllocatedStorage, DBInstanceClassMemory, and DBInstanceVCPU variables. Enable RDS Performance Insights
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 giám sát độ trễ (latency) của cơ sở dữ liệu Oracle trên Amazon RDS for Oracle sau khi migrate từ on-premises. Yêu cầu chính là tìm giải pháp có chi phí vận hành thấp nhất (LEAST operational overhead), nghĩa là ưu tiên các tính năng managed tự động, không cần can thiệp thủ công phức tạp như cài đặt phần mềm hoặc cấu hình tùy chỉnh nhiều.

📘 Bối cảnh AWS (cập nhật đến 2026): Amazon RDS for Oracle hỗ trợ các công cụ giám sát native như Performance Insights (hiển thị tải DB, wait events gây latency) và Enhanced Monitoring (metrics OS-level chi tiết như CPU usage theo threads). Những tính năng này được AWS quản lý hoàn toàn, thu thập dữ liệu tự động mà không yêu cầu overhead cao từ admin.

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

Đáp án đúng: Enable RDS Performance Insights to visualize the database load. Enable Enhanced Monitoring to view how different threads use the CPU

🛠️ Lý do chi tiết:

  • RDS Performance Insights ✅: Tính năng này trực tiếp visualize tải DB qua Top SQL, wait events (nguyên nhân chính gây latency như I/O waits, CPU waits), hỗ trợ Oracle đầy đủ. Dữ liệu được lưu 7 ngày (mở rộng đến 2 năm với tùy chọn), dễ dàng drill-down latency mà không cần script/custom code.
  • Enhanced Monitoring ✅: Bổ sung metrics OS chi tiết (qua CloudWatch Logs), hiển thị CPU usage theo từng thread/process, giúp xác định bottleneck cụ thể (ví dụ: thread nào gây high latency).
  • Least operational overhead 🎯: Cả hai đều là enable-only (qua console/CLI/API), AWS tự thu thập/analyze dữ liệu. Không cần install, config server, hoặc maintain tool thủ công – phù hợp nhất cho RDS managed service.
  • Theo best practices AWS DevOps (2026), combo này là standard cho Oracle RDS monitoring latency.

❌ 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 tiếng Anh. Mỗi phương án được đánh giá dựa trên tính khả thi, overhead, và relevance với monitoring latency trên RDS Oracle.

  • Publish RDS Performance insights metrics to Amazon CloudWatch. Add AWS CloudTrail filters to monitor database performance
    ❌ Sai: Performance Insights đã tự publish metrics cơ bản vào CloudWatch, nhưng CloudTrail chỉ track API calls/audit (không phải performance metrics như latency). Việc add filters CloudTrail không monitor DB load/threads, dẫn đến overhead cao (phải config trails/filters thủ công, analyze logs phức tạp). Không giải quyết trực tiếp latency.

  • Install Oracle Statspack. Enable the performance statistics feature to collect, store, and display performance data to monitor database performance.
    ❌ Sai: Statspack là tool on-premises của Oracle, không hỗ trợ install trực tiếp trên RDS (RDS là managed, không cho phép custom software/agent). Phải dùng workaround phức tạp (như custom parameter group + scripts), gây high overhead (maintenance, snapshots, downtime risk). AWS khuyến nghị dùng native tools thay thế.

  • ✅ Enable RDS Performance Insights to visualize the database load. Enable Enhanced Monitoring to view how different threads use the CPU
    ✅ Đúng (như giải thích ở trên). Combo managed, zero-config sâu, trực tiếp target latency qua waits/threads. Overhead thấp nhất! 🏆

  • Create a new DB parameter group that includes the AllocatedStorage, DBInstanceClassMemory, and DBInstanceVCPU variables. Enable RDS Performance Insights
    ❌ Sai: Các parameter AllocatedStorage, DBInstanceClassMemory, DBInstanceVCPU chỉ liên quan sizing instance (storage/memory/CPU allocation), không monitor latency (chúng là static vars, không dynamic tracking). Tạo parameter group mới + apply gây overhead (test/reboot DB, risk downtime). Performance Insights enable là tốt, nhưng phần đầu thừa/unnecessary.

📘 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 DOP-C02 hiệu quả! 🚀 Nếu cần thêm case study, hỏi nhé!

Câu 282
A database administrator is working on transferring data from an on-premises Oracle instance to an Amazon RDS for Oracle DB instance through an AWS Database Migration Service (AWS DMS) task with ongoing replication only. The database administrator noticed that the migration task failed after running successfully for some time. The logs indicate that there was generic error. The database administrator wants to know which data definition language (DDL) statement caused this issue.

What should the database administrator do to identify' this issue in the MOST operationally efficient manner?
  1. A Export AWS DMS logs to Amazon CloudWatch and identify the DDL statement from the AWS Management Console
  2. B Turn on logging for the AWS DMS task by setting the TARGET_LOAD action with the level of severity set to LOGGER_SEVERITY_DETAILED_DEBUG
  3. C Turn on DDL activity tracing in the RDS for Oracle DB instance parameter group
  4. D Turn on logging for the AWS DMS task by setting the TARGET_APPLY action with the level of severity' set to LOGGER_SEVERITY_DETAILED_DEBUG
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 quản trị viên cơ sở dữ liệu (DBA) đang sử dụng AWS Database Migration Service (AWS DMS) để thực hiện ongoing replication only (chỉ sao chép thay đổi liên tục, không bao gồm full load ban đầu) từ Oracle on-premises sang Amazon RDS for Oracle. Nhiệm vụ DMS chạy thành công một thời gian nhưng sau đó thất bại với lỗi generic trong logs. DBA cần xác định chính xác DDL statement (Data Definition Language - câu lệnh định nghĩa dữ liệu như CREATE, ALTER, DROP) nào gây ra vấn đề một cách hiệu quả vận hành nhất (MOST operationally efficient).

🔍 Điểm mấu chốt:

  • Ongoing replication sử dụng Change Data Capture (CDC) để áp dụng các thay đổi (bao gồm DML và DDL) từ source sang target.
  • Lỗi generic thường xảy ra ở giai đoạn apply changes (TARGET_APPLY), đặc biệt với DDL vì Oracle có quy tắc nghiêm ngặt về replication DDL.
  • Cần kích hoạt logging chi tiết cụ thể cho DMS task để capture DDL lỗi mà không ảnh hưởng hiệu suất tổng thể.

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

Đáp án đúng: Turn on logging for the AWS DMS task by setting the TARGET_APPLY action with the level of severity set to LOGGER_SEVERITY_DETAILED_DEBUG

Lý do 🛠️:

  • Trong AWS DMS (phiên bản mới nhất 2024-2026), để debug lỗi DDL trong ongoing replication (CDC phase), phải kích hoạt detailed debug logging cho TARGET_APPLY action (giai đoạn áp dụng thay đổi lên target DB).
  • Mức LOGGER_SEVERITY_DETAILED_DEBUG sẽ ghi log chi tiết DDL statement gây lỗi (như syntax sai hoặc conflict schema), giúp DBA xác định nhanh chóng mà không cần export log thủ công hay thay đổi RDS. Đây là cách hiệu quả nhất vì chỉ target đúng phase replication đang fail, giảm overhead log và dễ scale.

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

  • ❌ Export AWS DMS logs to Amazon CloudWatch and identify the DDL statement from the AWS Management Console
    Phương án này sai vì logs DMS mặc định đã được lưu vào CloudWatch Logs (từ DMS 3.4+), nhưng chỉ ở mức generic (không chi tiết DDL). Export và check console không capture được DDL cụ thể gây lỗi ở apply phase, dẫn đến mất thời gian phân tích thủ công và kém hiệu quả vận hành.

  • ❌ Turn on logging for the AWS DMS task by setting the TARGET_LOAD action with the level of severity set to LOGGER_SEVERITY_DETAILED_DEBUG
    Phương án này sai vì TARGET_LOAD chỉ áp dụng cho full load phase (tải dữ liệu ban đầu), không liên quan đến ongoing replication (CDC). Task đang fail ở replication phase, nên logging TARGET_LOAD vô ích và không capture DDL lỗi.

  • ❌ Turn on DDL activity tracing in the RDS for Oracle DB instance parameter group
    Phương án này sai vì RDS Oracle hỗ trợ DDL logging qua parameter group (như LOG_XID hoặc Unified Auditing), nhưng chỉ trace hoạt động trên RDS instance chứ không capture DDL từ DMS replication. DMS apply DDL riêng biệt, nên cách này không xác định được statement từ source gây fail.

  • ✅ Turn on logging for the AWS DMS task by setting the TARGET_APPLY action with the level of severity set to LOGGER_SEVERITY_DETAILED_DEBUG
    Phương án này đúng như đã giải thích ở trên. Đây là best practice cho debug CDC DDL errors trong DMS task settings (JSON config), giúp log chi tiết ngay lập tức mà không restart task toàn bộ.

📘 Tài liệu tham khảo (AWS docs cập 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 thêm ví dụ config DMS task, hãy hỏi nhé!

Câu 283
A company is migrating its 200 GB on-premises PostgreSQL database to Amazon Aurora PostgreSQL. The original database columns include NOT NULL and foreign key constraints. A database administrator needs to complete the migration while following best practices for database migrations.

Which option meets these requirements to migrate the database to AWS?
  1. A Use the AWS Schema Conversion Tool (AWS SCT) and AWS Database Migration Service (AWS DMS) to migrate the database to an Aurora PostgreSQL DB cluster.
  2. B Create an AWS Lambda function to connect to the source database and load the data into the target Aurora PostgreSQL DB cluster.
  3. C Use the PostgreSQL tools pg_dump and pg_restore to migrate to the Aurora PostgreSQL DB cluster.
  4. D Create an Aurora PostgreSQL read replica and promote the read replica to become primary once it is synchronized.
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 di chuyển (migrate) một cơ sở dữ liệu PostgreSQL dung lượng 200 GB từ on-premises sang Amazon Aurora PostgreSQL, trong khi tuân thủ các best practices cho migration database trên AWS. Các yếu tố quan trọng bao gồm:

  • Database gốc có các ràng buộc NOT NULL và foreign key constraints (các ràng buộc này phải được bảo toàn).
  • Kích thước lớn (200 GB), nên cần phương pháp hỗ trợ minimal downtime, ongoing replication (CDC - Change Data Capture), và xử lý schema phức tạp.
  • Best practices AWS nhấn mạnh sử dụng công cụ tự động hóa để đảm bảo tính toàn vẹn dữ liệu, hỗ trợ schema conversion nếu cần, và migration không gián đoạn cho production workloads.
  • Mục tiêu: Hoàn thành migration đến Aurora PostgreSQL DB cluster một cách an toàn, hiệu quả.

🛠️ Yêu cầu chính: Phương pháp phải xử lý schema (với constraints), dữ liệu lớn, và giảm thiểu rủi ro downtime, phù hợp với quy trình AWS Database Migration Service (DMS) và Schema Conversion Tool (SCT).

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

Đáp án đúng: Use the AWS Schema Conversion Tool (AWS SCT) and AWS Database Migration Service (AWS DMS) to migrate the database to an Aurora PostgreSQL DB cluster.

Lý do chi tiết:

  • AWS SCT tự động phân tích và convert schema từ PostgreSQL on-premises sang Aurora PostgreSQL, xử lý hoàn hảo các constraints như NOT NULL và foreign key (vì cùng engine PostgreSQL, conversion gần như 100% tương thích). Nó tạo script DDL để apply lên target.
  • AWS DMS thực hiện full load dữ liệu (200 GB) + ongoing replication (CDC) để đồng bộ thay đổi real-time, đảm bảo zero/minimal downtime.
  • Đây là best practice chính thức của AWS cho homogeneous migration (cùng engine PostgreSQL), hỗ trợ large-scale DB, và tự động hóa toàn bộ quy trình. Phù hợp với kích thước 200 GB và constraints phức tạp.
  • DMS hỗ trợ Aurora PostgreSQL làm target từ phiên bản mới nhất (2024-2026), với hiệu suất cao nhờ parallel load.

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

  • ✅ Use the AWS Schema Conversion Tool (AWS SCT) and AWS Database Migration Service (AWS DMS) to migrate the database to an Aurora PostgreSQL DB cluster.
    Đúng 🟢: Như giải thích trên, đây là sự kết hợp hoàn hảo cho best practices. SCT xử lý schema + constraints, DMS lo dữ liệu + replication. Hỗ trợ 200 GB với throughput cao (lên đến TB/h), CDC cho PostgreSQL logical replication. Không cần manual intervention nhiều.

  • ❌ Create an AWS Lambda function to connect to the source database and load the data into the target Aurora PostgreSQL DB cluster.
    Sai 🔴: Lambda không phù hợp cho migration large-scale (200 GB) vì timeout 15 phút, giới hạn memory (10 GB), và không hỗ trợ CDC hay schema conversion tự động. Sẽ gây downtime dài, lỗi khi xử lý constraints, và không scalable. Không phải best practice cho DB migration.

  • ❌ Use the PostgreSQL tools pg_dump and pg_restore to migrate to the Aurora PostgreSQL DB cluster.
    Sai 🔴: pg_dump/pg_restore là công cụ native, hỗ trợ schema + data + constraints, nhưng yêu cầu full downtime (dump toàn bộ 200 GB mất hàng giờ/ngày), không có CDC cho ongoing changes. Không scalable cho large DB, dễ lỗi network/on-prem, và AWS khuyến nghị DMS thay thế cho production migrations.

  • ❌ Create an Aurora PostgreSQL read replica and promote the read replica to become primary once it is synchronized.
    Sai 🔴: Aurora không hỗ trợ cross-region hoặc on-premises read replicas trực tiếp cho PostgreSQL (chỉ intra-AWS cluster). Không thể tạo read replica từ on-premises mà không qua DMS hoặc snapshot export. Promote replica sẽ gây downtime lớn và mất dữ liệu nếu không sync hoàn hảo. Không xử lý được constraints tự động.

📘 Tài liệu tham khảo (cập nhật mới nhất AWS 2024-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 thêm ví dụ thực hành, hãy hỏi nhé!

Câu 284
A company is working on migrating a large Oracle database schema with 3,500 stored procedures to Amazon Aurora PostgreSQL. An application developer is using the AWS Schema Conversion Tool (AWS SCT) to convert code from Oracle to Aurora PostgreSQL. However, the code conversion is taking a longer time with performance issues. The application team has reached out to a database specialist to improve the performance of the AWS SCT conversion.

What should the database specialist do to resolve the performance issues?
  1. A In AWS SCT, turn on the balance speed with memory consumption performance option with the optimal memory settings on local desktop.
  2. B Provision the target Aurora PostgreSQL database with a higher instance class. In AWS SCT. turn on the balance speed with memory consumption performance option.
  3. C In AWS SCT, turn on the fast conversion with large memory consumption performance option and set the JavaOptions section to the maximum memory available.
  4. D Provision a client Amazon EC2 machine with more CPU and memory resources in the same AWS Region as the Aurora PostgreSQL database.
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 vấn đề hiệu suất chuyển đổi schema cơ sở dữ liệu lớn từ Oracle sang Amazon Aurora PostgreSQL bằng công cụ AWS Schema Conversion Tool (AWS SCT). Cụ thể:

  • Công ty đang migrate một schema Oracle lớn với 3.500 stored procedures.
  • Developer sử dụng AWS SCT để tự động chuyển đổi code (stored procedures, functions, v.v.) từ Oracle sang cú pháp PostgreSQL tương thích với Aurora.
  • Vấn đề: Quá trình conversion chậm và gặp performance issues (do schema lớn, code phức tạp).
  • Nhiệm vụ của database specialist: Tối ưu hóa hiệu suất AWS SCT để conversion nhanh hơn.

📘 Lưu ý kiến thức AWS cập nhật (đến 2026): AWS SCT là công cụ chạy trên client-side (máy local hoặc EC2), không phụ thuộc trực tiếp vào tài nguyên target DB. Hiệu suất chủ yếu phụ thuộc vào CPU, memory của máy chạy SCT, đặc biệt là Java heap memory cho xử lý code lớn. AWS khuyến nghị các tùy chọn performance như "Fast conversion" cho schema lớn (>1.000 objects), kết hợp tăng heap size lên tối đa available memory (ví dụ: -Xmx cho Java).

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

Đáp án đúng: In AWS SCT, turn on the fast conversion with large memory consumption performance option and set the JavaOptions section to the maximum memory available.

Lý do chi tiết:
🛠️ AWS SCT cung cấp các performance modes: "Balanced" (cân bằng tốc độ/memory), "Fast" (ưu tiên tốc độ, dùng nhiều memory hơn). Với schema lớn (3.500 stored procedures), cần bật "Fast conversion with large memory consumption" để tăng tốc parsing và conversion code phức tạp.
🧩 Đồng thời, chỉnh JavaOptions (trong settings SCT) để set -Xmx (max heap size) bằng maximum memory available trên máy client, giúp xử lý batch lớn mà không OOM (OutOfMemory). Đây là best practice chính thức từ AWS cho large-scale migrations, giảm thời gian conversion lên đến 50-70%.

📋 Phân tích tất cả các phương án

Dưới đây là phân tích từng phương án một cách chi tiết, dựa trên tài liệu AWS SCT mới nhấ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 dấu ✅/❌.

  • In AWS SCT, turn on the balance speed with memory consumption performance option with the optimal memory settings on local desktop.
    ❌ Phương án SAI: Mode "balance speed with memory consumption" chỉ phù hợp schema nhỏ/trung bình, không tối ưu cho 3.500 stored procedures (sẽ chậm). "Optimal memory settings on local desktop" không đủ mạnh (desktop thường <16GB RAM), dễ bottleneck. AWS khuyên tránh local desktop cho large workloads.

  • Provision the target Aurora PostgreSQL database with a higher instance class. In AWS SCT. turn on the balance speed with memory consumption performance option.
    ❌ Phương án SAI: Tăng instance class của target Aurora PostgreSQL (ví dụ db.r6g.8xlarge) chỉ cải thiện query perf sau migration, không ảnh hưởng tốc độ conversion vì SCT chạy client-side và chỉ cần kết nối schema (không load data). Mode "balance" cũng không đủ nhanh cho workload lớn.

  • In AWS SCT, turn on the fast conversion with large memory consumption performance option and set the JavaOptions section to the maximum memory available.
    ✅ Phương án ĐÚNG: Như giải thích ở trên, đây là giải pháp trực tiếp tối ưu client-side performance của SCT: "Fast mode" + max Java heap (-Xmx) xử lý hiệu quả stored procedures phức tạp, giảm thời gian đáng kể mà không cần thay đổi infra target.

  • Provision a client Amazon EC2 machine with more CPU and memory resources in the same AWS Region as the Aurora PostgreSQL database.
    ❌ Phương án SAI: Tăng CPU/memory EC2 client giúp ích nhưng không chỉ rõ cấu hình SCT (như bật Fast mode hoặc JavaOptions). Chỉ provision EC2 (ví dụ m6i.16xlarge) giảm latency network (same Region tốt), nhưng thiếu tuning SCT cụ thể nên không giải quyết root cause (memory cho Java parsing).

📚 Tài liệu tham khảo (AWS chính thức, cập 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 thêm ví dụ config JavaOptions, hãy hỏi nhé.

Câu 285
A company has a 12-node Amazon Aurora MySQL DB cluster. The company wants to use three specific Aurora Replicas to handle the workload from one of its read-only applications.

Which solution will meet this requirement with the LEAST operational overhead?
  1. A Use CNAMEs to set up DNS aliases for the three Aurora Replicas.
  2. B Configure an Aurora custom endpoint for the three Aurora Replicas.
  3. C Use the cluster reader endpoint. Configure the failover priority of the three Aurora Replicas.
  4. D Use the specific instance endpoints for each of the three Aurora Replicas.
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 một cụm Amazon Aurora MySQL DB cluster với 12 node, trong đó công ty muốn sử dụng chính xác 3 Aurora Replicas cụ thể để xử lý workload từ một ứng dụng read-only (chỉ đọc dữ liệu). Mục tiêu là tìm giải pháp ít overhead vận hành nhất (LEAST operational overhead), nghĩa là giảm thiểu công sức quản lý thủ công, tự động hóa cao, tránh can thiệp liên tục khi có sự cố như failover hoặc scale.

🛠️ Lý do quan trọng: Aurora là dịch vụ managed DB của AWS, hỗ trợ cluster endpoint (cho writer), reader endpoint (phân tải read cho tất cả replicas), và custom endpoints (tùy chỉnh nhóm replicas cụ thể). Giải pháp phải đảm bảo traffic chỉ hướng đến 3 replicas mong muốn, với khả năng tự động failover trong nhóm đó, mà không cần quản lý DNS hoặc connection strings phức tạp. Kiến thức cập nhật đến 2026: Aurora hỗ trợ custom endpoints (ra mắt từ 2021 và ổn định ở RDS Aurora MySQL 3.x/8.0), cho phép tạo endpoint riêng cho subset replicas mà không ảnh hưởng toàn cluster.

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

Đáp án đúng: Configure an Aurora custom endpoint for the three Aurora Replicas.

Lý do:

  • Custom endpoint cho phép chỉ định chính xác 3 Aurora Replicas làm pool đọc, AWS tự động quản lý load balancing, health checks, và failover trong nhóm đó (nếu 1 replica fail, traffic tự chuyển sang 2 cái còn lại).
  • Least operational overhead vì: Không cần code thay đổi (sử dụng 1 endpoint duy nhất), tự động scale/failover bởi AWS, không quản lý DNS thủ công hay priority. Phù hợp read-only app, giảm tải cho 9 replicas còn lại.
  • Theo best practice AWS (2026): Custom endpoints lý tưởng cho workload phân tách, hỗ trợ Aurora Serverless v2 và MySQL 8.0+.

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

  • ✅ Configure an Aurora custom endpoint for the three Aurora Replicas.
    Đúng 🏆: Như giải thích trên, đây là tính năng native của Aurora (tạo qua AWS Console/CLI/API), chỉ định static subset replicas. Overhead thấp nhất vì AWS handle toàn bộ: DNS resolution, LB, monitoring. Không cần app thay đổi connection string.

  • ❌ Use CNAMEs to set up DNS aliases for the three Aurora Replicas.
    Sai 🚫: CNAME alias yêu cầu quản lý DNS thủ công (qua Route 53 hoặc external DNS), phải update CNAME khi replica fail/replace (endpoint instance thay đổi). Overhead cao: Theo dõi health, TTL tuning, không tự động failover → không least overhead.

  • ❌ Use the cluster reader endpoint. Configure the failover priority of the three Aurora Replicas.
    Sai ❌: Cluster reader endpoint phân tải tất cả replicas (12 node), không thể chỉ định 3 cụ thể. Failover priority chỉ áp dụng cho writer promotion (không phải reader endpoint). Không đáp ứng "specific 3 replicas", overhead cao nếu phải config thêm proxy.

  • ❌ Use the specific instance endpoints for each of the three Aurora Replicas.
    Sai 🔧: Sử dụng instance endpoints riêng lẻ (e.g., replica1.cluster-xyz.us-east-1.rds.amazonaws.com) yêu cầu app hardcode 3 endpoints + logic connection pooling/load balancing thủ công (e.g., via ProxySQL/HAProxy). Overhead cực cao: Quản lý failover, retry logic, endpoint thay đổi khi scale/fail → không scalable cho read-only app.

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

  • AWS Docs chính thức: Using custom endpoints in Amazon Aurora – Chi tiết tạo custom endpoint cho subset readers.
  • Best Practices: Amazon Aurora Connection Management – So sánh reader/custom endpoints.
  • Exam Prep (DOP-C02): AWS re:Post và A Cloud Guru modules về Aurora scaling (2024-2026 updates hỗ trợ custom endpoints cho Serverless v2).
  • CLI Example: aws rds create-db-cluster-endpoint --db-cluster-identifier mycluster --endpoint-type READER --static-members DBInstanceIdentifier1,DBInstanceIdentifier2,DBInstanceIdentifier3.

Giải pháp này giúp tối ưu cost (chỉ load 3 replicas) và performance cho read-only workload! 🚀

Câu 286
A company uses an Amazon Aurora MySQL DB cluster with the most recent version of the MySQL database engine. The company wants all data that is transferred between clients and the DB cluster to be encrypted.

What should a database specialist do to meet this requirement?
  1. A Turn on data encryption when modifying the DB cluster by using the AWS Management Console or by using the AWS CLI to call the modify-db-cluster command.
  2. B Download the key pair for the DB instance. Reference that file from the --key-name option when connecting with a MySQL client.
  3. C Turn on data encryption by using AWS Key Management Service (AWS KMS). Use the AWS KMS key to encrypt the connections between a MySQL client and the Aurora DB cluster.
  4. D Turn on the require_secure_transport parameter in the DB cluster parameter group. Download the root certificate for the DB instance. Reference that file from the --ssl-ca option when connecting with a MySQL client.
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 MySQL DB cluster sử dụng phiên bản MySQL engine mới nhất (tính đến năm 2026, Aurora MySQL hỗ trợ lên đến MySQL 8.0 và các bản vá bảo mật mới nhất).
Công ty yêu cầu mã hóa tất cả dữ liệu truyền giữa clients và DB cluster (data in-transit encryption), nghĩa là bảo mật kết nối từ ứng dụng/client đến database qua giao thức SSL/TLS.
📌 Mục tiêu chính: Không phải mã hóa dữ liệu lưu trữ (at-rest), mà là mã hóa luồng dữ liệu đang di chuyển. Aurora hỗ trợ TLS/SSL tự nhiên cho kết nối an toàn, không yêu cầu cấu hình phức tạp như VPN hay proxy.

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

Đáp án đúng: Turn on the require_secure_transport parameter in the DB cluster parameter group. Download the root certificate for the DB instance. Reference that file from the --ssl-ca option when connecting with a MySQL client.

Lý do chi tiết:

  • Parameter require_secure_transport = ON trong DB cluster parameter group buộc tất cả kết nối phải sử dụng SSL/TLS, từ chối kết nối không mã hóa.
  • Client MySQL cần tải root CA certificate từ AWS (file như rds-ca-2019-root.pem hoặc bản mới nhất global-bundle.pem đến 2026), rồi chỉ định qua --ssl-ca khi kết nối (ví dụ: mysql -h endpoint --ssl-ca=/path/to/ca.pem --ssl-mode=REQUIRED).
  • 🛠️ Đây là cách chuẩn AWS cho Aurora MySQL, đảm bảo mã hóa end-to-end mà không ảnh hưởng hiệu suất. Áp dụng ngay cho cluster hiện có bằng ModifyDBClusterParameterGroup.

📋 Phân tích tất cả các phương án trả lời

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 đúng/sai bằng tiếng Việt:

  • Turn on data encryption when modifying the DB cluster by using the AWS Management Console or by using the AWS CLI to call the modify-db-cluster command.
    ❌ Sai: Tùy chọn này kích hoạt encryption at-rest (mã hóa dữ liệu lưu trữ bằng AWS-managed keys hoặc KMS), không liên quan đến mã hóa kết nối (in-transit). Không giải quyết yêu cầu mã hóa dữ liệu truyền giữa client và DB.

  • Download the key pair for the DB instance. Reference that file from the --key-name option when connecting with a MySQL client.
    ❌ Sai: RDS/Aurora không hỗ trợ key pair như EC2 instances. --key-name không tồn tại cho MySQL client; đây là nhầm lẫn với SSH/EC2. Không áp dụng cho kết nối database.

  • Turn on data encryption by using AWS Key Management Service (AWS KMS). Use the AWS KMS key to encrypt the connections between a MySQL client and the Aurora DB cluster.
    ❌ Sai: AWS KMS dùng cho encryption at-rest (như storage, backups), không mã hóa trực tiếp kết nối mạng. Kết nối in-transit dùng TLS certificates (không phải KMS keys). Sử dụng KMS ở đây vô hiệu và không được AWS hỗ trợ.

  • Turn on the require_secure_transport parameter in the DB cluster parameter group. Download the root certificate for the DB instance. Reference that file from the --ssl-ca option when connecting with a MySQL client.
    ✅ Đúng: Như giải thích ở trên, đây là quy trình chuẩn để bắt buộc SSL/TLS và cấu hình client xác thực certificate, đảm bảo toàn bộ dữ liệu truyền được mã hóa.

📘 Tài liệu tham khảo (phiên bản mới nhất đến 2026)

  • AWS Docs: Using SSL/TLS to encrypt a connection to a DB cluster – Chi tiết parameter require_secure_transport và certificates (cập nhật bundle CA mới nhất như rds-ca-rsa2048-g1).
  • Aurora MySQL Reference: Parameter groups – Xác nhận require_secure_transport.
  • AWS CLI: aws rds modify-db-cluster-parameter-group --parameters "ParameterName=require_secure_transport,ParameterValue=1,ApplyMethod=immediate".

🛡️ Lưu ý: Luôn kiểm tra endpoint và certificate rotation định kỳ (AWS thông báo trước 6 tháng) để tránh downtime!

Câu 287
A database specialist needs to move an Amazon RDS DB instance from one AWS account to another AWS account.

Which solution will meet this requirement with the LEAST operational effort?
  1. A Use AWS Database Migration Service (AWS DMS) to migrate the DB instance from the source AWS account to the destination AWS account.
  2. B Create a DB snapshot of the DB instance. Share the snapshot with the destination AWS account. Create a new DB instance by restoring the snapshot in the destination AWS account.
  3. C Create a Multi-AZ deployment for the DB instance. Create a read replica for the DB instance in the source AWS account. Use the read replica to replicate the data into the DB instance in the destination AWS account.
  4. D Use AWS DataSync to back up the DB instance in the source AWS account. Use AWS Resource Access Manager (AWS RAM) to restore the backup in the destination AWS account.
Xem giải thích

🧩 Giải thích nội dung câu hỏi

Câu hỏi yêu cầu một database specialist cần di chuyển một Amazon RDS DB instance từ một AWS account sang một AWS account khác (cross-account migration). Yêu cầu chính là chọn giải pháp với LEAST operational effort (ít nỗ lực vận hành nhất), nghĩa là phương pháp đơn giản, nhanh chóng, không cần cấu hình phức tạp, downtime thấp và dễ thực hiện.

Amazon RDS là dịch vụ quản lý cơ sở dữ liệu quan hệ (như MySQL, PostgreSQL, Oracle...), và việc di chuyển cross-account không hỗ trợ trực tiếp "move" instance, nên cần các phương pháp gián tiếp như snapshot, replication hoặc migration tools. Giải pháp phải đảm bảo dữ liệu toàn vẹn, hỗ trợ đa engine RDS và tuân thủ best practices AWS (cập nhật đến 2026, RDS hỗ trợ snapshot sharing cross-account với encryption KMS).

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

Đáp án đúng: Create a DB snapshot of the DB instance. Share the snapshot with the destination AWS account. Create a new DB instance by restoring the snapshot in the destination AWS account.

Lý do:

  • Đây là phương pháp chính thức, đơn giản nhất của AWS để migrate RDS cross-account với least operational effort 🛠️.
  • Quy trình chỉ cần: Tạo snapshot (crash-consistent hoặc automated), share snapshot với account đích (qua console/CLI/API, hỗ trợ private/public/encrypted), rồi restore thành instance mới ở account đích.
  • Không downtime dài (snapshot nhanh), hỗ trợ tất cả DB engine, multi-AZ, và encryption. Sau restore, xóa snapshot nguồn nếu cần.
  • Theo AWS docs (2026): Snapshot sharing cross-account là recommended cho one-time migration, ít bước hơn DMS/replication.

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

📋 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 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 tính khả thi, effort và best practices AWS.

  • Use AWS Database Migration Service (AWS DMS) to migrate the DB instance from the source AWS account to the destination AWS account.
    ❌ Sai: AWS DMS dùng cho ongoing replication/migration live (full load + CDC), cần setup endpoints cross-account (IAM roles, security groups, VPC peering), replication instance, tasks... Effort cao hơn nhiều (multi-step, monitoring, potential downtime). Không phải least effort cho one-time move. DMS phù hợp migrate on-prem/heterogeneous DB, không optimal cho RDS-to-RDS cross-account.

  • Create a DB snapshot of the DB instance. Share the snapshot with the destination AWS account. Create a new DB instance by restoring the snapshot in the destination AWS account.
    ✅ Đúng: Như giải thích trên, đây là giải pháp tiêu chuẩn với ít effort nhất 🛠️. Hỗ trợ encrypted snapshots (KMS cross-account), restore giữ nguyên engine/version, chỉ 3-4 bước CLI đơn giản. Không cần tool ngoài.

  • Create a Multi-AZ deployment for the DB instance. Create a read replica for the DB instance in the source AWS account. Use the read replica to replicate the data into the DB instance in the destination AWS account.
    ❌ Sai: Read replica không hỗ trợ cross-account trực tiếp (phải cùng account/region). Multi-AZ chỉ HA trong account, không giúp migrate. Để cross-account, cần DMS hoặc snapshot; cách này không khả thi, effort cao (setup replica rồi manual sync, promotion phức tạp). AWS docs cấm read replica cross-account.

  • Use AWS DataSync to back up the DB instance in the source AWS account. Use AWS Resource Access Manager (AWS RAM) to restore the backup in the destination AWS account.
    ❌ Sai: AWS DataSync dùng cho file/system storage (EFS/S3), không hỗ trợ RDS DB instance (DB là block-level, cần DB-aware tools). RAM share resources như Transit Gateway/VPC, không phải DB backup/snapshot. Không khả thi, effort vô ích và fail. Dùng sai service hoàn toàn.

🛠️ Lời khuyên thực tế: Sau migration, verify data integrity (checksum), update app connection strings, và enable automated backups ở instance mới. Nếu DB lớn (>TB), dùng parallel snapshot cho tốc độ cao hơn (RDS feature 2023+).

Câu 288
A company uses Amazon DynamoDB as a data store for multi-tenant data. Approximately 70% of the reads by the company's application are strongly consistent. The current key schema for the DynamoDB table is as follows:

Partition key: OrgID -

Sort key: TenantID#Version -

Due to a change in design and access patterns, the company needs to support strongly consistent lookups based on the new schema below:

Partition key: OrgID#TenantID -

Sort key: Version -

How can the database specialist implement this change?
  1. A Create a global secondary index (GSI) on the existing table with the specified partition and sort key.
  2. B Create a local secondary index (LSI) on the existing table with the specified partition and sort key.
  3. C Create a new table with the specified partition and sort key. Create an AWS Glue ETL job to perform the transformation and write the transformed data to the new table.
  4. D Create a new table with the specified partition and sort key. Use AWS Database Migration Service (AWS DMS) to migrate the data to the new table.
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 việc thay đổi schema khóa chính (key schema) của bảng Amazon DynamoDB trong một ứng dụng multi-tenant. Hiện tại:

  • Partition key (PK): OrgID (phân vùng dữ liệu theo tổ chức).
  • Sort key (SK): TenantID#Version (sắp xếp theo tenant và version, kết hợp dạng composite).

Do thay đổi thiết kế và access patterns, công ty cần hỗ trợ strongly consistent lookups (tra cứu nhất quán mạnh) dựa trên schema mới:

  • PK mới: OrgID#TenantID (kết hợp OrgID và TenantID để phân vùng tốt hơn cho multi-tenant).
  • SK mới: Version (chỉ version thuần).

Thách thức chính:

  • Khoảng 70% reads cần strongly consistent (đọc dữ liệu mới nhất, chính xác 100%, không cache).
  • DynamoDB không cho phép thay đổi key schema sau khi tạo bảng (immutable).
  • Strongly consistent reads chỉ hỗ trợ trên base table (primary index), KHÔNG hỗ trợ trên secondary indexes (GSI/LSI) – đây là quy tắc cốt lõi của DynamoDB (cập nhật đến 2026, vẫn giữ nguyên).
  • Cần transform dữ liệu (tách TenantID#Version thành OrgID#TenantID và Version) và migrate sang bảng mới để đảm bảo hiệu suất và consistency.

Mục tiêu: Triển khai thay đổi an toàn, scalable, hỗ trợ strongly consistent reads với schema mới.

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

Đáp án đúng: Create a new table with the specified partition and sort key. Create an AWS Glue ETL job to perform the transformation and write the transformed data to the new table.

Lý do 🛠️:

  • Tạo bảng mới với schema chính xác để hỗ trợ strongly consistent reads trực tiếp trên primary index.
  • AWS Glue ETL lý tưởng cho data transformation phức tạp (parse TenantID#Version thành OrgID#TenantID và Version), serverless, scalable, tích hợp DynamoDB connector (Spark jobs).
  • Quy trình: Export data từ bảng cũ → Transform (ETL job) → Load vào bảng mới. Sau đó, switch traffic (update app config), backfill ongoing data bằng Lambda/Stream.
  • Phù hợp multi-tenant (70% strongly consistent), tránh downtime với blue-green deployment.
  • Cập nhật AWS 2026: Glue hỗ trợ DynamoDB connector v2.0+, optimized cho schema migration.

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

  • ✅ [ĐÚNG] Create a new table with the specified partition and sort key. Create an AWS Glue ETL job to perform the transformation and write the transformed data to the new table.
    🛠️ Đúng vì: Như giải thích trên, đây là cách chuẩn AWS recommend cho schema change yêu cầu strongly consistent reads. Glue xử lý transform hiệu quả (parse string keys), không downtime, cost-effective. Lý tưởng cho dữ liệu lớn/multi-tenant.

  • ❌ [SAI] Create a global secondary index (GSI) on the existing table with the specified partition and sort key.
    🚫 Sai vì: GSI cho phép PK/SK mới, nhưng reads từ GSI chỉ eventually consistent (không hỗ trợ strongly consistent – vi phạm yêu cầu 70% reads). GSI cũng tốn RCU/WCU riêng, projected attributes hạn chế, không transform keys tự động.

  • ❌ [SAI] Create a local secondary index (LSI) on the existing table with the specified partition and sort key.
    🚫 Sai vì: LSI bắt buộc same PK với base table (OrgID), không thể dùng PK mới (OrgID#TenantID). Phải tạo lúc build table, max 20 LSI/table, reads LSI cũng chỉ eventually consistent (không strongly).

  • ❌ [SAI] Create a new table with the specified partition and sort key. Use AWS Database Migration Service (AWS DMS) to migrate the data to the new table.
    🚫 Sai vì: DMS hỗ trợ DynamoDB (full load/CDC via Kinesis/DynamoDB streams), nhưng không mạnh transform schema phức tạp như parse composite keys (TenantID#Version). DMS chủ yếu copy-as-is, schema mismatch gây lỗi. Glue linh hoạt hơn cho ETL custom (UDFs). DMS phù hợp homogeneous migrations, không ideal cho DynamoDB key redesign.

📘 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 DOP-C02 hiệu quả! 🚀 Nếu cần ví dụ code Glue job, hỏi thêm nhé!

Câu 289
A company is using Amazon Aurora with Aurora Replicas. A database specialist needs to split up two read-only applications so that each application connects to a different set of DB instances. The database specialist wants to implement load balancing and high availability for the read-only applications.

Which solution meets these requirements?
  1. A Use a different instance endpoint for each application.
  2. B Use the reader endpoint for both applications.
  3. C Use the reader endpoint for one application and an instance endpoint for the other application.
  4. D Use different custom endpoints for each application.
Xem giải thích

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

Câu hỏi xoay quanh Amazon Aurora (một dịch vụ cơ sở dữ liệu quan hệ tương thích với MySQL/PostgreSQL trên AWS), cụ thể là việc sử dụng Aurora Replicas (các bản sao chỉ đọc - read replicas).

  • Yêu cầu chính: Một chuyên gia database cần tách biệt hai ứng dụng chỉ đọc (read-only applications) để mỗi ứng dụng kết nối đến một tập DB instances khác nhau (không cùng replicas). Đồng thời, phải đảm bảo load balancing (phân tải) và high availability (HA) (tính sẵn sàng cao) cho cả hai ứng dụng.

  • Thách thức: Aurora có các endpoint mặc định như cluster endpoint (cho writer), reader endpoint (load balance tất cả replicas), và instance endpoint (cho từng instance cụ thể). Nhưng chúng không cho phép tách subset replicas một cách linh hoạt mà vẫn giữ load balancing + HA.

  • Mục tiêu: Tìm giải pháp tối ưu, hỗ trợ failover tự động (khi replica fail) và phân tải chỉ trên subset replicas riêng cho từng app, theo best practices AWS mới nhất (Aurora Serverless v2 và multi-AZ clusters đến 2026).

✅ Đáp án đúng: Use different custom endpoints for each application

Lý do lựa chọn:

  • Custom endpoints (endpoint tùy chỉnh) là tính năng mạnh mẽ của Aurora (từ MySQL 5.6+ và PostgreSQL 10+), cho phép tạo nhiều endpoint riêng biệt, mỗi cái chỉ định subset cụ thể của reader endpoints (tập replicas con).
  • ✅ Mỗi app kết nối endpoint riêng → tách biệt tập instances (ví dụ: App1 dùng Replicas A+B, App2 dùng Replicas C+D).
  • ✅ Load balancing: Tự động phân tải TCP qua các replicas trong subset.
  • ✅ High availability: Hỗ trợ failover tự động (Aurora tự promote replica khỏe mạnh khi fail), multi-AZ deployment, và dynamic scaling (thêm/xóa replicas mà endpoint vẫn ổn định).
  • 🛠️ Cập nhật 2026: Tích hợp hoàn hảo với Aurora I/O-Optimized và Global Databases, không bị deprecated.

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

  • ❌ Use a different instance endpoint for each application.
    Sai vì: Instance endpoint chỉ trỏ đến một DB instance cụ thể, không hỗ trợ load balancing (không phân tải) và không có HA (nếu instance fail, app mất kết nối hoàn toàn). Không tách subset replicas động, vi phạm yêu cầu "load balancing và high availability".

  • ❌ Use the reader endpoint for both applications.
    Sai vì: Reader endpoint mặc định load balance tất cả replicas trong cluster. Hai app sẽ dùng cùng một tập instances, không tách biệt được (cả hai cùng chia sẻ replicas), dẫn đến traffic contention (tranh chấp tải) và không đáp ứng "each application connects to a different set".

  • ❌ Use the reader endpoint for one application and an instance endpoint for the other application.
    Sai vì: App1 (reader endpoint) có load balancing nhưng dùng toàn bộ replicas. App2 (instance endpoint) không có load balancing/HA. Không đồng đều, không tách subset riêng biệt, và app2 dễ fail → không đảm bảo HA cho cả hai.

  • ✅ Use different custom endpoints for each application.
    Đúng vì: Như giải thích trên, đây là giải pháp chính xác nhất theo AWS best practices. Tạo custom endpoint qua AWS Console/CLI/API: aws rds create-db-cluster-endpoint --db-cluster-identifier mycluster --endpoint-type reader --static-members db-instance1 db-instance2. Hỗ trợ promotion tier cho failover ưu tiên.

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

Giải pháp này scale tốt, zero-downtime khi scale replicas! 🚀

Câu 290
A company uses an Amazon DynamoDB table to store data for an application. The application requires full access to the table. Some employees receive direct access to the table, but a security policy restricts their access to only certain fields. The company wants to begin using a DynamoDB Accelerator (DAX) cluster on top of the DynamoDB table.

How can the company ensure that the security policy is maintained after the implementation of the DAX cluster?
  1. A Modify the IAM policies for the employees. Implement user-level separation that allows the employees to access the DAX cluster.
  2. B Modify the IAM policies for the IAM service role of the DAX cluster. Implement user-level separation to allow access to DynamoDB.
  3. C Modify the IAM policies for the employees. Allow the employees to access the DAX cluster without allowing the employees to access the DynamoDB table.
  4. D Modify the IAM policies for the employees. Allow the employees to access the DynamoDB table without allowing the employees to access the DAX cluster.
Xem giải thích

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

Câu hỏi xoay quanh việc triển khai DynamoDB Accelerator (DAX) – một lớp cache in-memory tốc độ cao cho Amazon DynamoDB – trong khi vẫn phải duy trì chính sách bảo mật (security policy) hạn chế một số nhân viên chỉ truy cập được một số trường dữ liệu cụ thể (certain fields) trên bảng DynamoDB.

  • Bối cảnh: Ứng dụng cần full access đến bảng DynamoDB. Một số nhân viên có quyền truy cập trực tiếp (direct access) nhưng bị giới hạn chỉ đọc/ghi field-level (sử dụng Fine-Grained Access Control - FGAC qua IAM policies trên DynamoDB).
  • Thách thức: Khi thêm DAX cluster, làm thế nào để duy trì chính sách bảo mật này? DAX hoạt động như một proxy cache, client kết nối đến DAX endpoint thay vì trực tiếp đến DynamoDB. Tuy nhiên, DAX không hỗ trợ field-level permissions (FGAC); nó chỉ kiểm tra IAM authentication cơ bản và forward requests đến DynamoDB với credentials của DAX service role, dẫn đến full access nếu authenticated.
  • Mục tiêu: Đảm bảo nhân viên bị hạn chế vẫn chỉ truy cập được fields được phép, ngay cả sau khi DAX được triển khai (dựa trên tài liệu AWS cập nhật đến 2026, DAX v2.0+ vẫn giữ nguyên hạn chế này).

📘 Kiến thức cốt lõi: DynamoDB hỗ trợ FGAC từ 2019 (IAM policy với dynamodb:Attributes condition), nhưng DAX bypass FGAC vì cache layer không enforce attribute-level controls. Giải pháp là tách biệt: App/full users dùng DAX cho tốc độ cao; restricted users bypass DAX, kết nối trực tiếp DynamoDB.

✅ Đáp án đúng

Modify the IAM policies for the employees. Allow the employees to access the DynamoDB table without allowing the employees to access the DAX cluster.

Lý do chọn đáp án đúng 🛠️:

  • Điều chỉnh IAM policies của nhân viên để cho phép truy cập trực tiếp DynamoDB table (với FGAC restrict fields qua condition keys như "dynamodb:Attributes": ["field1", "field2"]), nhưng cấm truy cập DAX cluster (deny IAM actions như dax:* hoặc endpoint access).
  • Kết quả: Nhân viên duy trì security policy (chỉ certain fields), app vẫn dùng DAX cho full access/low latency. Đây là best practice AWS khuyến nghị cho hybrid access (DAX cho performance, direct DynamoDB cho compliance/FGAC).
  • Không vi phạm chính sách vì DAX service role tự quản lý full access đến DynamoDB backend.

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

  • [SAI] Modify the IAM policies for the employees. Implement user-level separation that allows the employees to access the DAX cluster.
    Giải thích sai: Việc cho phép nhân viên truy cập DAX sẽ bỏ qua FGAC của DynamoDB, vì DAX chỉ authenticate IAM rồi cache/forward full data. Không duy trì được restrict fields, vi phạm security policy. User-level separation không giải quyết được vấn đề field-level.

  • [SAI] Modify the IAM policies for the IAM service role of the DAX cluster. Implement user-level separation to allow access to DynamoDB.
    Giải thích sai: IAM service role của DAX dùng để DAX tự access DynamoDB (full permissions cần thiết cho cache). Sửa role này không ảnh hưởng đến nhân viên; họ vẫn cần policies riêng. User-level separation ở đây vô nghĩa vì DAX role là cluster-level, không control end-user fields.

  • [SAI] Modify the IAM policies for the employees. Allow the employees to access the DAX cluster without allowing the employees to access the DynamoDB table.
    Giải thích sai: Nếu nhân viên chỉ access DAX (không direct DynamoDB), họ sẽ nhận full data từ DAX cache mà không có FGAC enforce, phá vỡ security policy restrict fields. DAX không filter attributes, dẫn đến data leak.

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

Hy vọng phân tích này giúp bạn ôn thi hiệu quả! 🚀 Nếu cần ví dụ IAM policy JSON, hãy hỏi thêm.