Ngân hàng đề — AWS Certified Solutions Architect Associate
Tìm thấy 2194 câu.
Which solution will meet these requirements with the LEAST amount of effort?
- A Create a new S3 bucket. Turn on the default encryption settings for the new S3 bucket. Download all existing objects to temporary local storage. Upload the objects to the new S3 bucket.
- B Turn on the default encryption settings for the S3 bucket. Use the S3 Inventory feature to create a .csv file that lists the unencrypted objects. Run an S3 Batch Operations job that uses the copy command to encrypt those objects.
- C Create a new encryption key by using AWS Key Management Service (AWS KMS). Change the settings on the S3 bucket to use server-side encryption with AWS KMS managed encryption keys (SSE-KMS). Turn on versioning for the S3 bucket.
- D Navigate to Amazon S3 in the AWS Management Console. Browse the S3 bucket’s objects. Sort by the encryption field. Select each unencrypted object. Use the Modify button to apply default encryption settings to every unencrypted object in the 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 xoay quanh một website serverless sử dụng Amazon S3 bucket làm nguồn gốc (origin) cho Amazon CloudFront distribution, với hàng triệu objects đã được tải lên mà không có encryption từ trước. Yêu cầu của solutions architect là kích hoạt encryption cho tất cả objects hiện có (existing) và tất cả objects mới thêm vào tương lai, đồng thời phải đạt ít nỗ lực nhất (LEAST amount of effort).
🔍 Các điểm chính cần lưu ý:
- S3 hỗ trợ server-side encryption (SSE) tự động qua default encryption (SSE-S3 hoặc SSE-KMS), áp dụng cho objects mới.
- Với existing objects (hàng triệu cái), không thể thay đổi trực tiếp mà cần re-encrypt bằng cách copy in-place (sao chép object lên chính nó với encryption mới).
- CloudFront làm origin không ảnh hưởng lớn, vì encryption ở S3 layer.
- Giải pháp phải scaleable, tự động hóa, tránh manual hoặc di chuyển dữ liệu lớn (downtime cao, chi phí cao).
- Kiến thức cập nhật AWS 2026: S3 Batch Operations (tích hợp chặt chẽ với S3 Inventory), hỗ trợ Copy operations cho re-encryption hiệu quả, không cần AWS CLI thủ công.
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Turn on the default encryption settings for the S3 bucket. Use the S3 Inventory feature to create a .csv file that lists the unencrypted objects. Run an S3 Batch Operations job that uses the copy command to encrypt those objects.
Lý do chọn đáp án này 🛠️:
- Bật default encryption (SSE-S3 mặc định) đảm bảo future objects tự động encrypted với zero effort thêm.
- S3 Inventory tạo báo cáo CSV liệt kê objects unencrypted (dựa trên Server-side encryption status), scale tốt cho millions objects (chạy hàng ngày/tuần).
- S3 Batch Operations (manifest từ Inventory CSV) dùng lệnh Copy để re-encrypt existing objects in-place (copy object lên chính vị trí cũ với encryption mới), không di chuyển dữ liệu, chi phí thấp, tự động hóa hoàn toàn.
- Least effort: Không manual, không tạo bucket mới, xử lý hàng triệu objects dễ dàng. Thời gian: Inventory ~24h, Batch Ops chạy async.
📋 Giải thích tất cả các phương án (đúng/sai)
-
✅ Phương án ĐÚNG (như trên):
Turn on the default encryption settings for the S3 bucket. Use the S3 Inventory feature to create a .csv file that lists the unencrypted objects. Run an S3 Batch Operations job that uses the copy command to encrypt those objects.
Giải thích: Đây là giải pháp chuẩn AWS best practice cho re-encrypt at-scale. Default encryption cover future objects. Inventory + Batch Ops xử lý existing objects hiệu quả, least operational effort (không code, UI-based). Hỗ trợ SSE-S3/KMS, idempotent (chạy lại an toàn). -
❌ Phương án SAI:
Create a new S3 bucket. Turn on the default encryption settings for the new S3 bucket. Download all existing objects to temporary local storage. Upload the objects to the new S3 bucket.
Giải thích: Effort cực cao với millions objects: Download/upload tốn bandwidth khổng lồ, chi phí Egress/Ingestion cao, cần temporary storage lớn (EC2/FSx), downtime CloudFront khi switch origin. Không scale, rủi ro data loss/corruption. -
❌ Phương án SAI:
Create a new encryption key by using AWS Key Management Service (AWS KMS). Change the settings on the S3 bucket to use server-side encryption with AWS KMS managed encryption keys (SSE-KMS). Turn on versioning for the S3 bucket.
Giải thích: Chỉ encrypt future objects (default encryption chỉ áp dụng mới), không touch existing objects. Tạo KMS key mới + SSE-KMS ok nhưng versioning vô ích (không re-encrypt old versions). Phải dùng Batch Ops riêng, effort hơn đáp án đúng. -
❌ Phương án SAI:
Navigate to Amazon S3 in the AWS Management Console. Browse the S3 bucket’s objects. Sort by the encryption field. Select each unencrypted object. Use the Modify button to apply default encryption settings to every unencrypted object in the S3 bucket.
Giải thích: Manual hoàn toàn, không khả thi với millions objects (Console giới hạn select ~1000 objects/batch, timeout, không sort/filter full encryption status). Default encryption không apply retroactively. Effort "khủng khiếp", dễ lỗi người dùng.
📘 Tài liệu tham khảo (AWS cập nhật 2026)
- S3 Default Encryption: docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html – Áp dụng SSE-S3/KMS cho new objects.
- S3 Inventory: docs.aws.amazon.com/AmazonS3/latest/userguide/storage-inventory.html – Liệt kê encryption status (SSEAlgorithm).
- S3 Batch Operations: docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops.html – Copy job cho re-encrypt (ví dụ:
s3://bucket/key -> s3://bucket/keyvới--sse). - Best Practices Re-encrypt: AWS Well-Architected Framework > Reliability Pillar (S3 encryption migration).
- CloudFront + S3 Origin: Không thay đổi, vì viewer/protocol policy ở CF không ảnh hưởng S3-side encryption.
🛡️ Lời khuyên DevOps: Test trên staging bucket nhỏ trước khi run production. Monitor Batch job qua S3 EventBridge/CloudWatch. Chi phí ~$0.0025/1M objects cho Batch Ops!
What should a solutions architect do to meet these requirements?
- A Deploy the application with the required infrastructure elements in place. Use Amazon Route 53 to configure active-passive failover. Create an Aurora Replica in a second AWS Region.
- B Host a scaled-down deployment of the application in a second AWS Region. Use Amazon Route 53 to configure active-active failover. Create an Aurora Replica in the second Region.
- C Replicate the primary infrastructure in a second AWS Region. Use Amazon Route 53 to configure active-active failover. Create an Aurora database that is restored from the latest snapshot.
- D Back up data with AWS Backup. Use the backup to create the required infrastructure in a second AWS Region. Use Amazon Route 53 to configure active-passive failover. Create an Aurora second primary instance in the second Region.
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 chạy ứng dụng web toàn cầu trên Amazon EC2 instances phía sau Application Load Balancer (ALB), với dữ liệu lưu trữ trong Amazon Aurora. Họ cần xây dựng giải pháp khôi phục thảm họa (Disaster Recovery - DR) với các yêu cầu cụ thể:
- Chịu được tối đa 30 phút downtime (Recovery Time Objective - RTO ≤ 30 phút).
- Chấp nhận mất dữ liệu tiềm năng (Recovery Point Objective - RPO không phải zero, tức là có thể mất dữ liệu gần nhất).
- Giải pháp KHÔNG cần xử lý tải (load) khi hạ tầng chính (primary) đang khỏe mạnh → Nghĩa là secondary chỉ làm standby (passive), không chia sẻ traffic/load thường xuyên.
Mục tiêu là thiết kế DR active-passive (chỉ failover khi primary fail), sử dụng cross-region để tránh single Region outage. Kiến thức cập nhật đến 2026: Aurora hỗ trợ cross-Region read replicas (async replication, lag ~vài giây đến phút, phù hợp RPO linh hoạt), Route 53 hỗ trợ active-passive failover với health checks nhanh (RTO ~1-2 phút + promote DB).
📘 Tài liệu tham khảo:
- AWS Well-Architected Framework: Disaster Recovery (Pilot Light strategy cho active-passive).
- Amazon Route 53 Failover Routing.
- Amazon Aurora Cross-Region Replication (với promote replica nhanh <5 phút).
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Deploy the application with the required infrastructure elements in place. Use Amazon Route 53 to configure active-passive failover. Create an Aurora Replica in a second AWS Region.
Lý do 🛠️:
- Triển khai đầy đủ hạ tầng (EC2 + ALB) ở Region 2 ở trạng thái sẵn sàng (in place) nhưng passive → Phù hợp "Pilot Light" strategy (chi phí thấp, scale nhanh khi failover).
- Route 53 active-passive failover: Health check primary → Tự động switch DNS sang secondary khi fail (RTO <30 phút, thường ~2-5 phút).
- Aurora Replica cross-Region: Async replication → RPO chấp nhận data loss nhỏ (lag phút), promote replica thành primary nhanh (RTO <5 phút).
- Hoàn hảo khớp yêu cầu: Không handle load primary healthy (passive), RTO/RPO phù hợp, chi phí tối ưu (replica chỉ read).
📋 Giải thích chi tiết tất cả các phương án
Dưới đây là phân tích từng lựa chọn giữ nguyên văn bản gốc tiếng Anh, với đánh giá đúng/sai và lý do bằng tiếng Việt:
-
✅ Deploy the application with the required infrastructure elements in place. Use Amazon Route 53 to configure active-passive failover. Create an Aurora Replica in a second AWS Region.
Đúng 🟢: Như phân tích trên, đây là giải pháp active-passive chuẩn với Pilot Light (infra sẵn sàng), Route 53 failover routing, và Aurora cross-Region replica (async, RTO/RPO khớp). Không lãng phí load sharing. -
❌ Host a scaled-down deployment of the application in a second AWS Region. Use Amazon Route 53 to configure active-active failover. Create an Aurora Replica in the second Region.
Sai 🔴: Active-active (cả hai Region nhận traffic) vi phạm yêu cầu "không cần handle load khi primary healthy" → Secondary scaled-down vẫn chia traffic, tốn chi phí không cần. Active-active dùng latency/weighted routing, không phải failover thuần. -
❌ Replicate the primary infrastructure in a second AWS Region. Use Amazon Route 53 to configure active-active failover. Create an Aurora database that is restored from the latest snapshot.
Sai 🔴: Active-active lại sai (như trên). Restore từ snapshot → RPO lớn (mất dữ liệu từ snapshot gần nhất, có thể >30 phút), RTO chậm (restore + sync >30 phút). Replicate full infra → Chi phí cao "Warm Standby" không cần thiết. -
❌ Back up data with AWS Backup. Use the backup to create the required infrastructure in a second AWS Region. Use Amazon Route 53 to configure active-passive failover. Create an Aurora second primary instance in a second Region.
Sai 🔴: AWS Backup restore chậm (có thể >30 phút cho large DB), RPO/RTO không đảm bảo. Aurora second primary không tồn tại (Aurora dùng cluster/replica, không "second primary"; global database mới hỗ trợ nhưng sync zero-RPO, không khớp "potential data loss"). Xây infra từ backup → Không "in place", delay lớn.
Which combination of steps will accomplish this task? (Choose two.)
- A Create a security group with a rule to allow TCP port 443 from source 0.0.0.0/0.
- B Create a security group with a rule to allow TCP port 443 to destination 0.0.0.0/0.
- C Update the network ACL to allow TCP port 443 from source 0.0.0.0/0.
- D Update the network ACL to allow inbound/outbound TCP port 443 from source 0.0.0.0/0 and to destination 0.0.0.0/0.
- E Update the network ACL to allow inbound TCP port 443 from source 0.0.0.0/0 and outbound TCP port 32768-65535 to destination 0.0.0.0/0.
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi mô tả một tình huống thực tế trên AWS VPC:
- Một web server chạy trên Amazon EC2 instance nằm trong public subnet (có route table trỏ về Internet Gateway - IGW), và instance có Elastic IP (EIP) để địa chỉ public cố định.
- Instance đang sử dụng default security group (SG): SG mặc định chỉ cho phép traffic inbound/outbound giữa các instance cùng SG trên tất cả port, nhưng không cho phép traffic từ internet bên ngoài (0.0.0.0/0) trừ khi có rule rõ ràng.
- Default Network ACL (NACL) đã bị sửa đổi để block all traffic (stateless firewall, chặn cả inbound và outbound).
- Yêu cầu: Làm cho web server accessible từ everywhere (0.0.0.0/0) trên port 443 (HTTPS).
🔑 Vấn đề cốt lõi: Traffic phải vượt qua hai lớp bảo mật:
- Security Group (stateful): Chỉ cần rule inbound TCP 443 từ 0.0.0.0/0 (outbound mặc định allow all).
- Network ACL (stateless): Phải cho phép inbound TCP 443 từ 0.0.0.0/0 VÀ outbound ephemeral ports (thường 32768-65535 theo khuyến nghị AWS cho EC2 responses) đến 0.0.0.0/0.
Câu hỏi yêu cầu chọn TWO steps để hoàn thành (kết hợp SG và NACL). Kiến thức dựa trên AWS VPC mới nhất (2024-2026): Không thay đổi cơ bản, ephemeral ports vẫn 1024-65535 nhưng AWS best practice là 32768-65535 cho EC2 NAT/ALB/ELB responses.
✅ Đáp án đúng (Chọn TWO)
Đáp án đúng là:
- Create a security group with a rule to allow TCP port 443 from source 0.0.0.0/0.
- Update the network ACL to allow inbound TCP port 443 from source 0.0.0.0/0 and outbound TCP port 32768-65535 to destination 0.0.0.0/0.
Lý do lựa chọn:
🛠️ Security Group: Default SG không có rule inbound 443 từ 0.0.0.0/0, nên traffic từ internet bị block. Tạo SG mới với inbound TCP 443 từ source 0.0.0.0/0 (rồi associate với instance) sẽ cho phép HTTPS vào instance. SG stateful nên response outbound tự động allow.
🛠️ Network ACL: NACL block all, stateless nên phải explicit cho inbound 443 từ 0.0.0.0/0 (request vào) VÀ outbound 32768-65535 đến 0.0.0.0/0 (response từ EC2 dùng ephemeral ports). Kết hợp hai steps này sẽ mở HTTPS public access.
✅ Kết quả: Traffic từ internet → IGW → NACL inbound → SG inbound → EC2 (port 443), response ngược lại qua NACL/SG outbound.
📋 Phân tích chi tiết tất cả các phương án
Dưới đây là phân tích từng lựa chọn (giữ nguyên văn bản gốc tiếng Anh), đánh dấu ✅ đúng hoặc ❌ sai, với giải thích bằng tiếng Việt:
-
✅ Create a security group with a rule to allow TCP port 443 from source 0.0.0.0/0.
🧩 Đúng: SG chỉ kiểm soát inbound traffic (allow FROM source TO instance). Rule này mở port 443 từ everywhere vào EC2. Sau đó associate SG mới với instance thay default SG. SG stateful, outbound tự động. Đây là bước bắt buộc cho lớp SG. -
❌ Create a security group with a rule to allow TCP port 443 to destination 0.0.0.0/0.
❌ Sai: SG inbound rules định nghĩa FROM source (ai gửi vào), không phải TO destination (ai nhận). Cú pháp sai hoàn toàn - AWS không hỗ trợ "to destination" ở SG inbound. Nếu dùng ở outbound (mặc định allow all), cũng vô nghĩa. -
❌ Update the network ACL to allow TCP port 443 from source 0.0.0.0/0.
❌ Sai: Chỉ mở inbound 443, nhưng NACL stateless nên response outbound từ EC2 (ephemeral ports 32768-65535) vẫn bị block (do NACL block all). Traffic vào được nhưng response ra không, kết nối HTTPS fail (timeout). -
❌ Update the network ACL to allow inbound/outbound TCP port 443 from source 0.0.0.0/0 and to destination 0.0.0.0/0.
❌ Sai: Inbound/outbound đều chỉ port 443 là sai. Request vào dùng 443, nhưng response từ EC2 dùng ephemeral ports (không phải 443). Outbound port 443 chỉ cho server initiate kết nối ra, không phải response. Không khớp best practice AWS. -
✅ Update the network ACL to allow inbound TCP port 443 from source 0.0.0.0/0 and outbound TCP port 32768-65535 to destination 0.0.0.0/0.
🧩 Đúng: Chính xác cho NACL stateless: Inbound 443 từ 0.0.0.0/0 (HTTPS request vào subnet), outbound 32768-65535 đến 0.0.0.0/0 (ephemeral ports cho EC2 responses theo AWS VPC best practices). Đảm bảo full bidirectional traffic.
📘 Tài liệu tham khảo (AWS docs cập nhật 2024-2026)
- Security Groups: AWS VPC Security Groups - Inbound rules from source, outbound default all.
- Network ACLs: AWS VPC NACLs - Stateless, ephemeral ports 32768-65535 cho EC2/ALB responses.
- Best Practices: EC2 Security Best Practices - Combine SG + NACL cho public access.
🔍 Kiểm tra thực tế qua AWS Console VPC > Security Groups/NACLs hoặc CLIaws ec2 describe-network-acls.
Which solution will resolve these issues in the MOST operationally efficient way?
- A Replace the EC2 instances with T3 EC2 instances that run in an Auto Scaling group. Make the changes by using the AWS Management Console.
- B Modify the CloudFormation templates to run the EC2 instances in an Auto Scaling group. Increase the desired capacity and the maximum capacity of the Auto Scaling group manually when an increase is necessary.
- C Modify the CloudFormation templates. Replace the EC2 instances with R5 EC2 instances. Use Amazon CloudWatch built-in EC2 memory metrics to track the application performance for future capacity planning.
- D Modify the CloudFormation templates. Replace the EC2 instances with R5 EC2 instances. Deploy the Amazon CloudWatch agent on the EC2 instances to generate custom application latency metrics for future capacity planning.
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 stateful (có trạng thái, cần lưu trữ dữ liệu trong bộ nhớ) đang gặp vấn đề hiệu suất trên các instance Amazon EC2 loại M5 (general-purpose, cân bằng CPU và memory). Công ty sử dụng AWS CloudFormation để triển khai hạ tầng. Khi lưu lượng truy cập (traffic) tăng, hiệu suất ứng dụng giảm sút, người dùng gặp độ trễ (delays) khi truy cập.
Vấn đề cốt lõi:
- Ứng dụng yêu cầu nhiệm vụ in-memory (xử lý trong bộ nhớ RAM), nên cần instance có memory cao hơn để tránh bottleneck.
- M5 phù hợp cho workload cân bằng, nhưng không tối ưu cho memory-intensive tasks khi traffic cao.
- Cần giải pháp MOST operationally efficient (hiệu quả vận hành nhất): Tự động hóa qua CloudFormation, cải thiện performance ngay lập tức, và theo dõi metrics để lập kế hoạch dung lượng tương lai (capacity planning).
Mục tiêu: Thay thế instance phù hợp hơn, tích hợp monitoring tốt, tránh can thiệp thủ công để giảm operational overhead. 📈
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Modify the CloudFormation templates. Replace the EC2 instances with R5 EC2 instances. Deploy the Amazon CloudWatch agent on the EC2 instances to generate custom application latency metrics for future capacity planning.
Lý do chi tiết (theo kiến thức AWS mới nhất 2026):
- R5 instances là memory-optimized (tối ưu hóa bộ nhớ), với tỷ lệ memory/CPU cao hơn M5 (ví dụ: R5 có lên đến 3.896 GiB memory/instance so với M5 chỉ 2.597 GiB tương đương), lý tưởng cho stateful in-memory tasks và xử lý traffic tăng mà không degrade performance. 🛠️
- Sửa CloudFormation templates để thay thế tự động, đảm bảo infrastructure as code (IaC), dễ deploy/repeatable, không cần can thiệp console thủ công.
- Amazon CloudWatch agent trên EC2 thu thập custom metrics như application latency (độ trễ ứng dụng), giúp theo dõi chính xác performance cho capacity planning. Lưu ý: CloudWatch basic không hỗ trợ memory/latency chi tiết cho EC2, phải dùng agent.
- Operationally efficient nhất: Kết hợp upgrade hardware + monitoring tự động qua CF, giảm toil (công việc lặp lại), phù hợp DevOps best practices. 🚀
❌ Phân tích tất cả các phương án
Dưới đây là phân tích từng lựa chọn, 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 hiệu quả vận hành, phù hợp workload, và tự động hóa.
-
❌ [SAI] Replace the EC2 instances with T3 EC2 instances that run in an Auto Scaling group. Make the changes by using the AWS Management Console.
Giải thích sai: T3 là burstable general-purpose (CPU credit-based), không phù hợp cho sustained in-memory tasks (cần CPU/memory ổn định cao), dễ hết credit dẫn đến throttling khi traffic tăng. Sử dụng AWS Console thủ công vi phạm nguyên tắc IaC (CloudFormation), tăng operational overhead, không efficient. Không giải quyết memory bottleneck. -
❌ [SAI] Modify the CloudFormation templates to run the EC2 instances in an Auto Scaling group. Increase the desired capacity and the maximum capacity of the Auto Scaling group manually when an increase is necessary.
Giải thích sai: Thêm Auto Scaling Group (ASG) qua CF là tốt cho scaling, nhưng vẫn dùng M5 (không tối ưu memory), và tăng capacity thủ công (manual scaling) không tự động, đòi hỏi con người can thiệp thường xuyên → kém efficient. Stateful app khó scale ngang hoàn hảo do session affinity. -
❌ [SAI] Modify the CloudFormation templates. Replace the EC2 instances with R5 EC2 instances. Use Amazon CloudWatch built-in EC2 memory metrics to track the application performance for future capacity planning.
Giải thích sai: Upgrade sang R5 đúng hướng (memory-optimized, giải quyết performance degrade), sửa CF tốt. Nhưng CloudWatch built-in (basic/detailed monitoring) KHÔNG hỗ trợ memory metrics cho EC2 (chỉ CPU, network, disk I/O). Không track được latency hoặc memory usage chính xác → capacity planning kém, không full solution. (Xác nhận AWS 2026: Memory cần CloudWatch agent hoặc SSM). -
✅ [ĐÚNG] Modify the CloudFormation templates. Replace the EC2 instances with R5 EC2 instances. Deploy the Amazon CloudWatch agent on the EC2 instances to generate custom application latency metrics for future capacity planning.
Giải thích đúng: Như phần trên, toàn diện: R5 fix hardware, CF tự động hóa, CloudWatch agent cung cấp custom metrics (latency, memory%) qua SSM hoặc UserData trong CF. Hỗ trợ proactive scaling, best practice DevOps. 📊
📘 Tài liệu tham khảo (AWS cập nhật 2026)
- EC2 Instance Types: AWS EC2 Instance Types Guide → So sánh M5 vs R5.
- CloudWatch Agent: Install CloudWatch Agent → Custom metrics cho EC2 memory/latency.
- CloudFormation Best Practices: AWS CloudFormation User Guide → IaC cho ASG/EC2.
- DevOps Pro Exam Guide: AWS Certified DevOps Engineer Professional → Domain 2: Implementation & Monitoring (2026 syllabus).
Giải pháp này đảm bảo high availability, scalability cho stateful app! 🔄
Which compute service should the solutions architect have the API invoke to deliver the requirements at the lowest cost?
- A An AWS Glue job
- B An AWS Lambda function
- C A containerized service hosted in Amazon Elastic Kubernetes Service (Amazon EKS)
- D A containerized service hosted in Amazon ECS with Amazon EC2
Xem giải thích
🧩 Phân tích chi tiết câu hỏi trắc nghiệm AWS
📖 Nội dung câu hỏi được giải thích rõ ràng:
Câu hỏi mô tả một solutions architect đang thiết kế một API mới sử dụng Amazon API Gateway để nhận yêu cầu từ người dùng. Đặc điểm chính:
- Lưu lượng yêu cầu biến động cao (highly variable), có thể nhiều giờ không có request nào (several hours without a single request).
- Xử lý dữ liệu diễn ra bất đồng bộ (asynchronously), nhưng phải hoàn thành trong vài giây sau khi nhận request (within a few seconds).
- Yêu cầu chọn compute service mà API Gateway sẽ invoke (gọi) để đáp ứng đúng yêu cầu, với chi phí thấp nhất (lowest cost).
Mục tiêu chính: Tìm dịch vụ compute serverless hoặc scale-to-zero (giảm về 0 khi không dùng), phù hợp traffic thấp/sporadic, xử lý nhanh async, tích hợp dễ với API Gateway, và tối ưu chi phí (không trả tiền cho idle time). 🛠️
✅ Đáp án đúng: An AWS Lambda function
Lý do lựa chọn chi tiết:
AWS Lambda là dịch vụ serverless compute lý tưởng nhất cho kịch bản này. Nó tự động scale từ 0 đến hàng nghìn instances, chỉ tính phí theo thời gian thực thi (pay-per-use, milliseconds), không tốn kém khi idle (nhiều giờ không request). Lambda tích hợp trực tiếp với API Gateway qua Lambda proxy integration hoặc request/response integration, hỗ trợ async invocation (qua EventBridge hoặc SQS nếu cần). Thời gian cold start hiện đại (2024-2026) chỉ ~100-500ms với SnapStart/ARM64, đảm bảo xử lý trong vài giây. Chi phí thấp nhất vì không cần quản lý infrastructure, phù hợp traffic biến động. 📈
🔍 Giải thích tất cả các phương án (đúng/sai):
-
❌ An AWS Glue job
Phương án sai vì AWS Glue là dịch vụ ETL batch processing cho dữ liệu lớn (big data), chạy theo job dài (phút đến giờ), không phù hợp xử lý async nhanh trong vài giây. Glue luôn yêu cầu provisioned capacity (DPUs), tốn kém nếu trigger thường xuyên dù traffic thấp. Không tối ưu cho API real-time/sporadic. -
✅ An AWS Lambda function
(Như đã giải thích ở trên: Serverless, scale-to-zero, pay-per-use, tích hợp API Gateway native, xử lý async nhanh, chi phí thấp nhất cho low/sporadic traffic). -
❌ A containerized service hosted in Amazon Elastic Kubernetes Service (Amazon EKS)
Phương án sai vì EKS là Kubernetes managed, yêu cầu cluster luôn chạy (minimum pods/nodes), tốn phí idle cao (EC2/ECS underlying). Scale chậm hơn Lambda (phút thay vì giây), phức tạp quản lý cho traffic biến động thấp. Không phải lowest cost cho kịch bản không request hàng giờ. -
❌ A containerized service hosted in Amazon ECS with Amazon EC2
Phương án sai vì ECS với EC2 yêu cầu provision EC2 instances luôn sẵn sàng, trả phí full-time dù idle (nhiều giờ không request). Scale chậm (task placement time), không serverless thực thụ, chi phí cao hơn Lambda cho workload sporadic/async nhanh.
📘 Tài liệu tham khảo (cập nhật mới nhất AWS đến 2026):
- AWS Lambda Documentation: Running Lambda functions with API Gateway (tích hợp async, SnapStart for low latency).
- AWS Well-Architected Framework - Cost Optimization Pillar: Serverless for variable workloads.
- API Gateway Integrations: Choosing between Lambda, ECS/EKS (Lambda ưu tiên cho sporadic traffic).
- AWS Pricing Calculator: Lambda ~0.00001667$/GB-second vs. EC2/ECS minimum ~$3.50/tháng/instance idle.
Phân tích dựa trên best practices AWS DevOps Professional (DOP-C02, 2024+). Lambda là lựa chọn optimal cho serverless API backend! 🚀
Which storage solution meets these requirements MOST cost-effectively?
- A Amazon Elastic Block Store (Amazon EBS)
- B Amazon Elastic File System (Amazon EFS)
- C Amazon EC2 instance store
- D Amazon S3
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 yêu cầu lưu trữ log files từ ứng dụng chạy trên các EC2 instance Amazon Linux, với các ràng buộc chính:
- Tuân thủ quy định (compliance): Phải giữ tất cả log files trong 7 năm (lưu trữ dài hạn, archival).
- Phân tích đồng thời: Tool báo cáo cần truy cập tất cả files cùng lúc (concurrently) từ nhiều nguồn.
- Tiêu chí ưu tiên: Giải pháp tiết kiệm chi phí nhất (MOST cost-effectively).
📘 Bối cảnh AWS (cập nhật 2026): AWS khuyến nghị object storage cho log archival vì khả năng scale, durability cao (99.999999999%), và lifecycle policies tự động chuyển tier rẻ tiền như S3 Glacier Deep Archive (giá ~$0.00099/GB/tháng). EC2 logs thường được đẩy lên S3 qua CloudWatch Logs hoặc agents như Filebeat.
✅ Đáp án đúng: Amazon S3
Lý do chọn đáp án này:
- 🛡️ Lưu trữ dài hạn & compliance: S3 hỗ trợ retention policies (Object Lock - WORM) để khóa files 7 năm, không thể xóa/sửa. Lifecycle rules tự động chuyển sang S3 Glacier Deep Archive (rẻ nhất cho archival, retrieval ~12 giờ).
- ⚡ Concurrent access: Hàng nghìn requests/giây, tool báo cáo truy cập qua S3 API/SDK (RESTful), hỗ trợ multi-part download cho files lớn.
- 💰 Tiết kiệm chi phí nhất: Giá thấp (~$0.023/GB/tháng Standard, giảm còn ~$0.00099/GB với Deep Archive). Không phí IOPS/provisioned như block/file storage. Tổng chi phí cho TB logs qua 7 năm rẻ hơn các option khác 5-10x.
- 🧩 Phù hợp EC2: Dễ integrate qua AWS CLI, SDK, hoặc CloudWatch Logs export.
Tài liệu tham khảo:
- AWS S3 Features (Object Lock, Lifecycle).
- S3 Storage Classes (Glacier Deep Archive - cập nhật 2025 với faster retrieval).
📋 Giải thích tất cả các phương án (đúng/sai)
-
❌ Amazon Elastic Block Store (Amazon EBS)
Phân tích sai: EBS là block storage gắn vào single EC2 instance (không share concurrent giữa nhiều instance/tool). Không phù hợp lưu 7 năm vì phải provisioned capacity, phí IOPS cao (~$0.10/GB/tháng gp3), và snapshot dài hạn đắt đỏ. Không scale cho archival lớn. -
❌ Amazon Elastic File System (Amazon EFS)
Phân tích sai: EFS là managed file system NFS, hỗ trợ concurrent access (multi-AZ), nhưng chi phí cao (~$0.30/GB/tháng Standard, IA chỉ ~$0.0125/GB - vẫn đắt hơn S3). Không tối ưu cho archival 7 năm (không có WORM native như S3), và throughput giới hạn cho petabyte-scale logs. -
❌ Amazon EC2 instance store
Phân tích sai: Instance store là ephemeral storage (dữ liệu mất khi stop/reboot instance). Không thể lưu 7 năm (không persistent), không concurrent access ngoài instance đó, và chi phí cao theo instance type. Hoàn toàn không phù hợp compliance/archival. -
✅ Amazon S3
(Đã giải thích chi tiết ở trên - lựa chọn tối ưu nhất về cost, scale, và features).
Kết luận tổng quát 🏆: S3 là "best practice" AWS cho log retention (xem AWS Well-Architected Framework - Reliability Pillar). Nếu implement, dùng S3 bucket với versioning + Object Lock cho compliance! 🚀
How should a solutions architect grant this access to the vendor?
- A Create an IAM role in the company’s account to delegate access to the vendor’s IAM role. Attach the appropriate IAM policies to the role for the permissions that the vendor requires.
- B Create an IAM user in the company’s account with a password that meets the password complexity requirements. Attach the appropriate IAM policies to the user for the permissions that the vendor requires.
- C Create an IAM group in the company’s account. Add the tool’s IAM user from the vendor account to the group. Attach the appropriate IAM policies to the group for the permissions that the vendor requires.
- D Create a new identity provider by choosing “AWS account” as the provider type in the IAM console. Supply the vendor’s AWS account ID and user name. Attach the appropriate IAM policies to the new provider for the permissions that the vendor requires.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi này xoay quanh tình huống bảo mật truy cập chéo tài khoản AWS (cross-account access) trong môi trường AWS hiện đại (cập nhật đến năm 2026). Một công ty thuê vendor bên ngoài để thực hiện công việc trong AWS account của công ty. Vendor sử dụng công cụ tự động (automated tool) được host trong AWS account riêng của vendor. Quan trọng là vendor KHÔNG có quyền IAM trực tiếp vào account của công ty.
📌 Mục tiêu chính: Solutions Architect cần grant quyền truy cập an toàn, tạm thời và không chia sẻ credentials lâu dài cho tool của vendor, tuân thủ nguyên tắc least privilege và zero trust theo best practices AWS IAM (Identity and Access Management). Phương pháp lý tưởng phải hỗ trợ role assumption qua cross-account, tránh tạo user/password cố định để giảm rủi ro bảo mật.
🛠️ Bối cảnh kỹ thuật:
- Tool tự động của vendor chạy dưới dạng IAM entity (như role hoặc EC2 instance profile) trong account vendor.
- Cần sử dụng IAM Role delegation để vendor's entity assume role tạm thời vào account công ty, chỉ cấp quyền cần thiết qua policies.
- Không dùng long-term credentials (access keys/password) vì dễ bị lộ và vi phạm AWS Well-Architected Framework (Security Pillar).
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng:
Create an IAM role in the company’s account to delegate access to the vendor’s IAM role. Attach the appropriate IAM policies to the role for the permissions that the vendor requires.
🧩 Lý do chi tiết:
- Đây là phương pháp chuẩn AWS cho cross-account role assumption (cập nhật IAM 2026). Trong account công ty, tạo IAM Role với trust policy cho phép vendor's IAM role (từ account vendor) assume role này.
- Vendor's tool sử dụng STS (Security Token Service) để AssumeRole → nhận temporary credentials → truy cập resources trong account công ty mà không cần chia sẻ access keys lâu dài.
- Ưu điểm: An toàn (temporary creds hết hạn sau 1-12 giờ), kiểm soát chi tiết qua conditions (như External ID chống confused deputy), dễ audit qua CloudTrail.
- Cách triển khai thực tế:
- Vendor tạo IAM Role trong account họ với policy cho phép
sts:AssumeRoletrên role của công ty. - Công ty attach IAM policies permission (ví dụ: S3 read/write) vào role của họ.
- Trust policy mẫu:
{"Principal": {"AWS": "arn:aws:iam::VENDOR-ACCT-ID:role/VendorToolRole"}}.
- Vendor tạo IAM Role trong account họ với policy cho phép
📘 Tài liệu tham khảo:
- AWS Docs: Delegate access across AWS accounts using IAM roles (cập nhật 2026).
- AWS Well-Architected: Security Pillar - Cross-account access.
📋 Giải thích tất cả các phương án (đúng/sai)
Dưới đây là phân tích từng phương án một cách chi tiế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 tính khả thi, bảo mật và best practices AWS IAM 2026.
-
Create an IAM role in the company’s account to delegate access to the vendor’s IAM role. Attach the appropriate IAM policies to the role for the permissions that the vendor requires.
✅ Đúng (như đã giải thích ở trên). Phương án này hoàn hảo cho automated tool cross-account, hỗ trợ MFA/conditions và tuân thủ zero-standing privileges. Không có rủi ro chia sẻ creds vĩnh viễn. -
Create an IAM user in the company’s account with a password that meets the password complexity requirements. Attach the appropriate IAM policies to the user for the permissions that the vendor requires.
❌ Sai. Tạo IAM user với password/console access KHÔNG phù hợp cho automated tool vì yêu cầu chia sẻ long-term credentials (access keys/password), dễ bị lộ và vi phạm nguyên tắc "don't use root/user creds for automation". AWS khuyến cáo loại bỏ IAM users cho workload từ 2023 (IAM Access Analyzer). Không hỗ trợ cross-account tự động, vendor phải login thủ công → không scale cho tool. -
Create an IAM group in the company’s account. Add the tool’s IAM user from the vendor account to the group. Attach the appropriate IAM policies to the group for the permissions that the vendor requires.
❌ Sai. Không thể add IAM user/group từ account khác vào IAM group của account này – IAM groups chỉ quản lý entities trong cùng account. Đây là lỗi kỹ thuật cơ bản (cross-account group membership không tồn tại trong IAM 2026). Policies trên group không ảnh hưởng đến external principals. -
Create a new identity provider by choosing “AWS account” as the provider type in the IAM console. Supply the vendor’s AWS account ID and user name. Attach the appropriate IAM policies to the new provider for the permissions that the vendor requires.
❌ Sai. IAM Identity Providers (IdP) chỉ hỗ trợ SAML 2.0, OIDC, Web Identity (như Google, Facebook) – KHÔNG có loại "AWS account" trong IAM console. Cung cấp account ID/username không tạo IdP hợp lệ; đây là nhầm lẫn với role trust policy. Policies không attach trực tiếp vào IdP (IdP chỉ authenticate, không authorize). Sử dụng sai sẽ fail validation.
🛡️ Kết luận nổi bật: Phương án đúng nhấn mạnh role-based access cross-account, giúp công ty kiểm soát chặt chẽ vendor mà không trao quyền vĩnh viễn. Luôn test với aws sts assume-role và monitor qua IAM Access Analyzer! 🚀
Which combination of steps should the solutions architect take to accomplish this goal? (Choose two.)
- A Attach an IAM role that has sufficient privileges to the EKS pod.
- B Attach an IAM user that has sufficient privileges to the EKS pod.
- C Allow outbound connectivity to the DynamoDB table through the private subnets’ network ACLs.
- D Create a VPC endpoint for DynamoDB.
- E Embed the access keys in the Java Spring Boot code.
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 triển khai ứng dụng Java Spring Boot chạy trên pod Amazon EKS (Elastic Kubernetes Service) nằm trong private subnets của VPC. 🛠️
Ứng dụng cần ghi dữ liệu vào bảng Amazon DynamoDB, nhưng yêu cầu KHÔNG expose traffic ra internet – nghĩa là toàn bộ giao tiếp phải diễn ra hoàn toàn private bên trong AWS network, tránh sử dụng public internet, NAT Gateway hoặc public endpoints.
📘 Mục tiêu chính: Solutions Architect cần chọn KẾT HỢP 2 bước (choose TWO) để pod EKS có thể truy cập DynamoDB an toàn, tuân thủ nguyên tắc least privilege và zero-trust networking.
Bối cảnh kỹ thuật (cập nhật AWS 2026): EKS pods trong private subnets không có public IP, nên cần VPC Endpoint để route traffic private đến DynamoDB (sử dụng AWS PrivateLink). Đồng thời, xác thực phải dùng IAM Roles for Service Accounts (IRSA) thay vì access keys. Không dùng NAT Gateway vì sẽ expose traffic ra internet gián tiếp.
✅ Đáp án đúng (Chọn TWO)
Hai bước đúng là:
- Attach an IAM role that has sufficient privileges to the EKS pod.
- Create a VPC endpoint for DynamoDB.
Lý do lựa chọn 🏆:
- Kết hợp này đảm bảo private connectivity và secure authentication. VPC Endpoint (interface endpoint cho DynamoDB) cho phép traffic từ private subnets đến DynamoDB endpoint qua AWS backbone network, không đi qua internet (tiết kiệm chi phí NAT Gateway).
- IAM Role gắn vào pod (qua IRSA) cung cấp temporary credentials tự động cho ứng dụng Java Spring Boot sử dụng AWS SDK, tuân thủ best practices bảo mật (không hardcode keys).
✅ Kết quả: Pod có quyền write vào DynamoDB table mà traffic 100% private, theo AWS Well-Architected Framework (Security Pillar).
📋 Giải thích TẤT CẢ các phương án (Đúng/Sai)
-
✅ Attach an IAM role that has sufficient privileges to the EKS pod.
Đúng vì: Đây là cách chuẩn để cấp quyền IAM cho EKS workloads qua IAM Roles for Service Accounts (IRSA) – tính năng native của EKS (từ version 1.14+). Role được gắn vào Kubernetes Service Account, pod sẽ nhận temporary credentials qua metadata service. AWS SDK trong Spring Boot tự động sử dụng chúng để gọi DynamoDB API (ví dụ:DynamoDBClient). An toàn, scalable, không cần quản lý keys thủ công. Cập nhật 2026: IRSA hỗ trợ OIDC provider tự động cho EKS clusters. -
❌ Attach an IAM user that has sufficient privileges to the EKS pod.
Sai vì: IAM User không thể gắn trực tiếp vào EKS pod (pod là ephemeral, không hỗ trợ long-term credentials như IAM User). IAM User yêu cầu access keys (static, kém bảo mật), không tích hợp với IRSA. Vi phạm nguyên tắc least privilege và dễ bị lộ keys. Best practice là dùng IAM Roles thay thế. -
❌ Allow outbound connectivity to the DynamoDB table through the private subnets’ network ACLs.
Sai vì: Network ACLs (NACLs) chỉ kiểm soát traffic layer 3/4 (stateless firewall), không giải quyết routing đến DynamoDB endpoint. Private subnets vẫn cần VPC Endpoint hoặc NAT Gateway để reach public DynamoDB endpoint (dynamodb.us-east-1.amazonaws.com) – điều này expose traffic ra internet qua NAT (không đạt yêu cầu). NACLs bổ sung nhưng không thay thế endpoint. -
✅ Create a VPC endpoint for DynamoDB.
Đúng vì: VPC Interface Endpoint (powered by AWS PrivateLink) cho DynamoDB route traffic hoàn toàn private từ VPC đến service (com.amazonaws.us-east-1.dynamodb). Endpoint có DNS private (vpce-xxx.dynamodb.us-east-1.vpce-svc-xxx...), pod resolve và gọi API mà không cần internet/NAT. Cập nhật 2026: Hỗ trợ Gateway Load Balancer Endpoints cho high-throughput, nhưng Interface Endpoint là chuẩn cho DynamoDB. -
❌ Embed the access keys in the Java Spring Boot code.
Sai vì: Hardcode access keys (IAM User/Secret) vào code là anti-pattern bảo mật nghiêm trọng (dễ lộ qua Git/repo, container image). Vi phạm AWS Shared Responsibility Model và CIS Benchmarks. Thay vào đó, dùng IRSA hoặc AWS Secrets Manager + Parameter Store. Không liên quan đến private traffic.
📚 Tài liệu tham khảo (AWS Official Docs - Cập nhật 2026)
- EKS IRSA: IAM Roles for Service Accounts 🛡️
- DynamoDB VPC Endpoints: VPC Endpoints for DynamoDB 🌐
- AWS Well-Architected: Security Pillar – Private Connectivity (Well-Architected Framework)
- EKS Best Practices: Secure EKS Networking (GitHub repo AWS).
Tóm tắt: Kết hợp IAM Role + VPC Endpoint là giải pháp zero-internet, secure-by-default cho EKS private workloads! 🚀 Nếu cần demo Terraform/Helm config, hỏi thêm nhé!
Which combination of steps should the company take to meet these requirements? (Choose two.)
- A Create an Amazon Route 53 failover routing policy.
- B Create an Amazon Route 53 weighted routing policy.
- C Create an Amazon Route 53 multivalue answer routing policy.
- D Launch three EC2 instances: two instances in one Availability Zone and one instance in another Availability Zone.
- E Launch four EC2 instances: two instances in one Availability Zone and two instances in another Availability Zone.
Xem giải thích
🧩 Giải thích nội dung câu hỏi
Câu hỏi mô tả một công ty đã rehosting ứng dụng web lên Amazon EC2 trong một AWS Region duy nhất. Bây giờ, họ muốn thiết kế lại kiến trúc để đạt high availability (HA) và fault tolerant (chịu lỗi cao). Yêu cầu cụ thể: Traffic phải phân phối ngẫu nhiên (randomly) đến tất cả các EC2 instances đang chạy.
✅ Mục tiêu chính:
- HA & Fault Tolerant: Phân bố EC2 qua ít nhất 2 Availability Zones (AZs) để tránh single point of failure (nếu một AZ down, app vẫn chạy).
- Traffic random: Không dùng load balancer truyền thống (như ALB), mà dùng Route 53 để route traffic ngẫu nhiên đến tất cả instances khỏe mạnh.
🛠️ Ngữ cảnh AWS mới nhất (2026): Sử dụng Route 53 cho DNS-based routing, kết hợp multi-AZ deployment cho EC2. Không cần ELB vì câu hỏi tập trung vào Route 53 và instances.
✅ Đáp án đúng (Chọn TWO)
Hai bước đúng là:
- Create an Amazon Route 53 multivalue answer routing policy.
- Launch four EC2 instances: two instances in one Availability Zone and two instances in another Availability Zone.
Lý do chọn:
- Multivalue answer: Route 53 sẽ trả về tối đa 8 healthy endpoints ngẫu nhiên từ các records (A/AAAA) của EC2 instances, đảm bảo traffic random đến tất cả instances đang chạy (không phải failover hay weighted). Health checks tự động loại instances unhealthy.
- 4 instances (2+2 AZs): Phân bố cân bằng qua 2 AZs, chịu lỗi tốt (nếu 1 AZ down, còn 50% capacity). Hơn 3 instances (2+1) vì tránh imbalance (AZ1 down chỉ còn 33%). Theo best practice AWS Well-Architected Framework (Reliability pillar), khuyến nghị even distribution cho HA.
📘 Tài liệu tham khảo: - AWS Route 53 Multivalue Answer Routing (updated 2025).
- AWS EC2 High Availability Best Practices (Reliability Pillar 2026).
🔍 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, với ✅ đúng hoặc ❌ sai, giữ nguyên văn bản gốc:
-
❌ Create an Amazon Route 53 failover routing policy.
Sai vì: Failover chỉ route đến primary trước, nếu fail mới chuyển secondary (không random đến tất cả instances). Không phù hợp yêu cầu "traffic must reach all running EC2 instances randomly". Dùng cho disaster recovery, không phải HA thông thường. -
❌ Create an Amazon Route 53 weighted routing policy.
Sai vì: Weighted gán trọng số để phân phối theo tỷ lệ (ví dụ 70/30), không phải random đều đến tất cả instances. Phù hợp A/B testing hoặc blue-green, nhưng không đáp ứng "randomly to all running". -
✅ Create an Amazon Route 53 multivalue answer routing policy.
Đúng vì: Trả về multiple (up to 8) healthy IP addresses của EC2 ngẫu nhiên từ pool records. Tự động health check, route chỉ đến running instances. Hoàn hảo cho yêu cầu random traffic mà không cần ELB. -
❌ Launch three EC2 instances: two instances in one Availability Zone and one instance in another Availability Zone.
Sai vì: Phân bố không cân bằng (2:1), nếu AZ có 2 instances down → chỉ còn 1 instance (33% capacity). Không fault tolerant tối ưu; AWS recommend even spread cho HA (ví dụ N+1 với balance). -
✅ Launch four EC2 instances: two instances in one Availability Zone and two instances in another Availability Zone.
Đúng vì: Cân bằng 2:2 qua 2 AZs, chịu lỗi AZ down (còn 50% capacity). Đáp ứng HA/fault tolerant, kết hợp multivalue để random traffic. Scale tốt hơn option 3 instances.
🛠️ Lời khuyên triển khai: Tạo Route 53 hosted zone, thêm A records cho mỗi EC2 public IP với multivalue policy + health checks. Sử dụng Auto Scaling cho dynamic scaling (nâng cao). Kiểm tra bằng AWS Fault Injection Simulator để test fault tolerance!
Which solution will meet these requirements with the LEAST operational overhead?
- A Send activity data to an Amazon Kinesis data stream. Configure the stream to deliver the data to an Amazon S3 bucket.
- B Send activity data to an Amazon Kinesis Data Firehose delivery stream. Configure the stream to deliver the data to an Amazon Redshift cluster.
- C Place activity data in an Amazon S3 bucket. Configure Amazon S3 to run an AWS Lambda function on the data as the data arrives in the S3 bucket.
- D Create an ingestion service on Amazon EC2 instances that are spread across multiple Availability Zones. Configure the service to forward data to an Amazon RDS Multi-AZ database.
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi mô tả một công ty truyền thông đang thu thập và phân tích dữ liệu hoạt động người dùng (user activity data) trên cơ sở hạ tầng on-premises. Họ muốn di chuyển khả năng này lên AWS, với dữ liệu lưu trữ sẽ tiếp tục tăng trưởng và đạt kích thước petabytes. Yêu cầu chính bao gồm:
- Xây dựng giải pháp ingestion dữ liệu highly available (có tính sẵn sàng cao).
- Hỗ trợ on-demand analytics (phân tích theo nhu cầu) cho cả dữ liệu hiện có và dữ liệu mới bằng SQL.
- Đảm bảo LEAST operational overhead (ít công sức vận hành nhất), nghĩa là ưu tiên các dịch vụ managed/serverless để giảm thiểu việc quản lý thủ công như scaling, monitoring shards, hay quản lý instance.
📈 Thách thức chính: Dữ liệu lớn (PB-scale), cần ingestion real-time/near-real-time, lưu trữ bền vững, và query SQL nhanh chóng mà không cần quản lý phức tạp. AWS cung cấp các dịch vụ như Kinesis family (Data Streams/Firehose), S3, Redshift (data warehouse columnar hỗ trợ SQL, scale PB), Athena (query SQL on S3 serverless).
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Send activity data to an Amazon Kinesis Data Firehose delivery stream. Configure the stream to deliver the data to an Amazon Redshift cluster.
🛠️ Lý do chi tiết:
- Amazon Kinesis Data Firehose là dịch vụ fully managed (serverless), tự động scale, highly available (multi-AZ), hỗ trợ ingestion dữ liệu streaming với buffering, transformation (Lambda nếu cần), và direct delivery đến các đích như Redshift, S3 mà không cần quản lý shards hay consumers như Kinesis Data Streams.
- Amazon Redshift là data warehouse columnar, hỗ trợ SQL queries on-demand cho dữ liệu PB-scale (concurrency scaling, Redshift Spectrum cho dữ liệu external trên S3), phân tích cả dữ liệu lịch sử và streaming mới.
- Least operational overhead: Firehose xử lý toàn bộ ingestion (HA, retry, monitoring tự động), Redshift managed service với auto-scaling clusters. Không cần code custom hay manage servers.
- Phù hợp cập nhật 2026: Redshift hỗ trợ streaming ingestion từ Firehose natively (zero-ETL integration), Materialized Views cho real-time analytics.
📋 Giải thích tất cả các phương án
Dưới đây là phân tích từng lựa chọn, giữ nguyên văn bản gốc bằng tiếng Anh. Mỗi phương án được đánh giá dựa trên yêu cầu (HA ingestion, PB-scale, SQL on-demand, least overhead).
-
❌ Send activity data to an Amazon Kinesis data stream. Configure the stream to deliver the data to an Amazon S3 bucket. 🧐 Giải thích sai: Kinesis Data Streams yêu cầu quản lý shards thủ công (operational overhead cao), cần consumer apps (EC2/Lambda/Flink) để forward dữ liệu đến S3 – không fully managed. S3 lưu trữ tốt PB-scale nhưng chỉ query SQL qua Athena (ad-hoc, không tối ưu real-time cho streaming mới), thiếu direct SQL data warehouse. Không đáp ứng least overhead và analytics mượt mà cho dữ liệu mới.
-
✅ Send activity data to an Amazon Kinesis Data Firehose delivery stream. Configure the stream to deliver the data to an Amazon Redshift cluster. 🛠️ Giải thích đúng: Như phần trên, Firehose managed ingestion HA (buffer, transform, error handling tự động), direct load vào Redshift – data warehouse SQL PB-scale với zero-ETL (2023+ features). Hỗ trợ on-demand queries trên dữ liệu cũ/mới, overhead thấp nhất (no servers to manage).
-
❌ Place activity data in an Amazon S3 bucket. Configure Amazon S3 to run an AWS Lambda function on the data as the data arrives in the S3 bucket. 🚫 Giải thích sai: Không có ingestion streaming HA thực thụ (S3 events + Lambda scale giới hạn cho PB ingestion real-time, Lambda timeout/concurrency issues). Lambda chỉ process on-arrival (batch nhỏ), không phù hợp streaming lớn; analytics SQL cần Athena thêm, overhead code custom cao. Không highly available cho ingestion continuous.
-
❌ Create an ingestion service on Amazon EC2 instances that are spread across multiple Availability Zones. Configure the service to forward data to an Amazon RDS Multi-AZ database. 🛑 Giải thích sai: EC2 tự build ingestion service (HA multi-AZ) đòi hỏi overhead lớn (manage scaling, patching, ASG, monitoring). RDS Multi-AZ chỉ scale đến vài TB (không PB), không phù hợp data warehouse analytics SQL lớn; OLTP kém hiệu suất query ad-hoc PB-scale. Overhead vận hành cao nhất (servers + DB tuning).
📘 Tài liệu tham khảo (cập nhật AWS 2026)
- AWS Kinesis Data Firehose: docs.aws.amazon.com/firehose – Fully managed delivery to Redshift/S3.
- Amazon Redshift Streaming Ingestion: docs.aws.amazon.com/redshift/latest/mgmt/streaming-ingestion.html – Zero-ETL từ Kinesis.
- AWS Well-Architected Framework - Data Analytics Lens: aws.amazon.com/architecture/well-architected – Khuyến nghị Firehose + Redshift cho PB-scale SQL.
- Exam DOP-C02 Guide (2024+): Phần Data Ingestion & Analytics nhấn mạnh managed services giảm overhead.
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ụ architecture, hãy hỏi nhé!