Ngân hàng đề — AWS Certified SysOps Administrator Associate
Tìm thấy 936 câu.
A SysOps administrator has applied tags to resources within the account to reflect the environment. The team needs a report of the breakdown of charges by environment.
What should the SysOps administrator do to meet this requirement?
- A Filter, map, and categorize resource groups in Tag Editor.
- B Ensure that the organization's service control policies (SCPs) allow access to cost allocation tags.
- C Ensure that the IAM credentials that are used to access Cost Explorer have permissions to group cost by tags.
- D Activate the tag keys for cost allocation on the organization's management account.
Xem giải thích
🧩 Giải thích nội dung câu hỏi
Câu hỏi mô tả một tình huống thực tế trong AWS Organizations: Một tài khoản AWS (member account) thuộc organization đã bật consolidated billing (hóa đơn hợp nhất). Tài khoản này chứa nhiều ứng dụng, và SysOps administrator đã thêm tags vào các resource để phân loại theo environment (ví dụ: dev, prod). Yêu cầu là tạo báo cáo phân tích chi phí (cost breakdown) theo environment bằng cách sử dụng tags này trong Cost Explorer hoặc các công cụ billing tương tự.
🛠️ Vấn đề cốt lõi: Trong AWS Organizations với consolidated billing, tags từ member accounts chỉ có thể được sử dụng để group và filter chi phí trong báo cáo billing (như Cost Explorer) nếu chúng được activate (kích hoạt) làm cost allocation tags ở management account của organization. Nếu không kích hoạt, tags không xuất hiện trong báo cáo chi phí, dù đã áp dụng lên resource.
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Activate the tag keys for cost allocation on the organization's management account.
Lý do 📈:
- Trong AWS Organizations với consolidated billing, cost allocation tags (bao gồm AWS-generated và user-defined tags) phải được kích hoạt thủ công từ management account để áp dụng cho toàn bộ organization, bao gồm tất cả member accounts.
- Tags "environment" (user-defined) đã được áp dụng lên resource ở member account, nhưng để group chi phí theo tag này trong Cost Explorer hoặc báo cáo billing, cần activate tag key (ví dụ: "environment") ở management account.
- Sau khi activate (có độ trễ lên đến 24 giờ), tag sẽ tự động hiển thị trong Cost Explorer, cho phép filter/group theo environment và tạo báo cáo breakdown chi phí chính xác.
- Đây là bước bắt buộc đầu tiên và duy nhất cần thiết theo best practice AWS (cập nhật đến 2026, không thay đổi lớn từ AWS Billing Console).
📋 Giải thích tất cả các phương án
Dưới đây là phân tích chi tiết từng lựa chọn. Tôi giữ nguyên văn bản gốc tiếng Anh của phương án, và giải thích tại sao đúng/sai bằng tiếng Việt:
-
Filter, map, and categorize resource groups in Tag Editor.
❌ Sai: Tag Editor chỉ dùng để quản lý, filter và apply tags lên resource groups (như EC2, RDS), không liên quan đến cost allocation hoặc báo cáo billing. Nó không kích hoạt tags cho Cost Explorer, nên không tạo được breakdown chi phí theo environment. Đây chỉ là công cụ quản lý tags, không phải billing. -
Ensure that the organization's service control policies (SCPs) allow access to cost allocation tags.
❌ Sai: SCPs (Service Control Policies) dùng để giới hạn quyền IAM ở organization level, nhưng không kiểm soát việc activate cost allocation tags hay truy cập billing data. SCPs không ảnh hưởng đến việc hiển thị tags trong Cost Explorer; vấn đề ở đây là tags chưa được kích hoạt, không phải quyền truy cập. -
Ensure that the IAM credentials that are used to access Cost Explorer have permissions to group cost by tags.
❌ Sai: IAM permissions (nhưce:GetCostAndUsageWithResources) cho phép group chi phí theo tags trong Cost Explorer, nhưng chỉ hoạt động nếu tags đã được activate làm cost allocation tags. Nếu chưa activate ở management account, tags không tồn tại trong dữ liệu billing, nên permissions này vô ích. -
Activate the tag keys for cost allocation on the organization's management account.
✅ Đúng: Như đã giải thích ở phần trên, đây là bước chính xác và cần thiết nhất. Chỉ management account mới có quyền activate user-defined tags cho toàn organization. Sau activate, Cost Explorer sẽ tự động hỗ trợ group/filter theo tag "environment" mà không cần thêm cấu hình (cập nhật Billing Console 2026).
📘 Tài liệu tham khảo (AWS Documentation cập nhật mới nhất đến 2026)
- AWS Cost Allocation Tags: docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html – Hướng dẫn activate tags cho billing.
- Organizations & Cost Allocation Tags: docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_cost-allocation-tags.html – Xác nhận activate ở management account cho consolidated billing.
- Cost Explorer User Guide: docs.aws.amazon.com/cost-management/latest/userguide/ce-what-is.html – Cách group chi phí theo tags sau khi activate.
- AWS Well-Architected Framework - Cost Optimization Pillar: Nhấn mạnh cost allocation tags cho tagging strategy.
💡 Lời khuyên DevOps: Luôn activate tags sớm ở management account và sử dụng AWS Cost Anomaly Detection để monitor breakdown chi phí theo environment. Nếu cần script tự động, dùng AWS CLI: aws ce create-cost-allocation-tag.
What should the SysOps administrator do to meet this requirement?
- A Add a wait condition to the template. Update the EC2 instance user data script to send a signal after the EC2 instance is started.
- B Add the DependsOn attribute to the EC2 instance resource, and provide the logical name of the RDS resource.
- C Change the order of the resources in the template so that the RDS resource is listed before the EC2 instance resource.
- D Create multiple templates. Use AWS CloudFormation StackSets to wait for one stack to complete before the second stack is created.
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi này thuộc chủ đề AWS CloudFormation – một dịch vụ IaC (Infrastructure as Code) giúp định nghĩa và provision các tài nguyên AWS một cách tự động qua template YAML/JSON.
- Tình huống: Công ty đang dùng một template CloudFormation duy nhất để tạo Amazon EC2 instance (máy ảo) và Amazon RDS DB instance (cơ sở dữ liệu quan hệ).
- Yêu cầu: SysOps administrator cần update template để RDS DB instance được tạo TRƯỚC EC2 instance, tránh tình trạng EC2 khởi chạy trước DB (có thể gây lỗi kết nối DB).
- Mục tiêu chính: Đảm bảo thứ tự tạo tài nguyên (resource dependency) trong một stack CloudFormation duy nhất, sử dụng cơ chế native của CloudFormation mà không cần workaround phức tạp.
- Phiên bản AWS cập nhật 2026: CloudFormation vẫn hỗ trợ intrinsic functions và attributes như DependsOn để quản lý dependencies (không thay đổi cơ bản từ các version trước).
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Add the DependsOn attribute to the EC2 instance resource, and provide the logical name of the RDS resource.
Lý do 🛠️:
- DependsOn là attribute built-in của CloudFormation, cho phép chỉ định explicit dependency giữa các resources trong cùng stack.
- Khi thêm
DependsOn: [LogicalNameOfRDS]vào resource EC2, CloudFormation sẽ tự động tạo RDS trước, chỉ launch EC2 sau khi RDS đạt trạng thái CREATE_COMPLETE. - Đây là cách đơn giản, hiệu quả nhất cho yêu cầu, không cần script hay tool ngoài. Hoạt động parallel cho các resource độc lập khác, tối ưu thời gian stack creation.
- Ví dụ YAML:
Resources: MyRDS: Type: AWS::RDS::DBInstance # Properties... MyEC2: Type: AWS::EC2::Instance DependsOn: MyRDS # <- Thêm dòng này # Properties...
📋 Giải thích tất cả các phương án (đúng/sai)
Dưới đây là phân tích từng lựa chọn một cách chi tiết. Giữ nguyên văn bản gốc bằng tiếng Anh, chỉ giải thích bằng tiếng Việt với emoji đánh dấu.
-
Add a wait condition to the template. Update the EC2 instance user data script to send a signal after the EC2 instance is started.
❌ SAI 🛑: WaitCondition dùng để pause stack creation chờ signal từ bên ngoài (như script), nhưng ở đây ngược logic – signal từ EC2 (sau khi start) không thể đảm bảo RDS tạo trước. Thay vào đó, nó sẽ chờ EC2 signal RDS, gây deadlock hoặc lỗi. Không phù hợp cho dependency đơn giản giữa RDS → EC2. -
Add the DependsOn attribute to the EC2 instance resource, and provide the logical name of the RDS resource.
✅ ĐÚNG 🎯: Như đã giải thích ở trên. Đây là cơ chế chuẩn của CloudFormation để enforce thứ tự tạo (sequential dependency), hỗ trợ cả implicit (ref/Fn::GetAtt) và explicit (DependsOn). Hoạt động mượt mà trên phiên bản mới nhất (2026). -
Change the order of the resources in the template so that the RDS resource is listed before the EC2 instance resource.
❌ SAI 🚫: CloudFormation không đảm bảo thứ tự dựa trên vị trí liệt kê trong template (Resources section). Nó tạo parallel tất cả resources độc lập để tối ưu tốc độ, trừ khi có dependency explicit. Thay đổi order chỉ là cosmetic, không giải quyết vấn đề. -
Create multiple templates. Use AWS CloudFormation StackSets to wait for one stack to complete before the second stack is created.
❌ SAI 🔄: Quá phức tạp và không cần thiết. StackSets dùng cho multi-account/multi-region deployment, không phải wait between stacks đơn giản. Phải tách thành 2 stack riêng (RDS trước, EC2 sau) và dùng custom script/exports để cross-stack reference – tốn kém, khó maintain so với DependsOn trong 1 template.
📘 Tài liệu tham khảo (AWS cập nhật 2026)
- AWS CloudFormation User Guide - DependsOn: docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html – Giải thích chi tiết về explicit dependencies.
- AWS Well-Architected Framework - Reliability Pillar: Nhấn mạnh dùng CloudFormation dependencies để tránh race conditions.
- Exam Prep DOP-C02 (DevOps Pro 2026): Câu hỏi tương tự thường test kiến thức về resource ordering trong single stack.
Hy vọng phân tích này giúp bạn nắm vững! 🚀 Nếu cần ví dụ code đầy đủ, hãy hỏi thêm.
The company recently uploaded an updated version of the website to Amazon S3. However, users still see the old content when they refresh the site. A SysOps administrator must make the new version of the website visible to users as soon as possible.
Which solution meets these requirements?
- A Adjust the TTL value for the DNS CNAME record that is pointing to the CloudFront distribution.
- B Create an invalidation on the CloudFront distribution for the old S3 objects.
- C Create a new CloudFront distribution. Update the DNS records to point to the new CloudFront distribution.
- D Update the DNS record for the website to point to the S3 bucket.
Xem giải thích
🧩 Giải thích nội dung câu hỏi một cách chi tiết
Câu hỏi mô tả tình huống một công ty đang lưu trữ website tĩnh (static website) trên Amazon S3, và sử dụng Amazon CloudFront làm CDN (Content Delivery Network) để phân phối nội dung với TTL mặc định là 86,400 giây (tương đương 24 giờ). Gần đây, công ty đã upload phiên bản mới của website lên S3, nhưng người dùng vẫn thấy nội dung cũ ngay cả khi refresh trang. Nhiệm vụ của SysOps Administrator là làm cho phiên bản mới hiển thị ngay lập tức (as soon as possible).
🛠️ Vấn đề cốt lõi: CloudFront cache nội dung từ S3 tại các edge locations để tăng tốc độ và giảm tải. Với TTL cao (24 giờ), nội dung cũ vẫn được phục vụ từ cache ngay cả khi S3 đã cập nhật. Giải pháp cần xóa cache (invalidate) nhanh chóng mà không ảnh hưởng lớn đến hệ thống. Điều này dựa trên tính năng Invalidation của CloudFront (cập nhật mới nhất AWS 2024-2026 vẫn giữ nguyên cơ chế này).
📘 Tài liệu tham khảo:
- Amazon CloudFront Developer Guide - Invalidations
- AWS S3 Static Website Hosting
- CloudFront Caching Behaviors
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Create an invalidation on the CloudFront distribution for the old S3 objects.
🧩 Lý do chi tiết:
- Invalidation là tính năng chuẩn của CloudFront để xóa cache cụ thể (ví dụ: đường dẫn
/index.htmlhoặc/*cho toàn bộ). Sau invalidation, CloudFront sẽ fetch lại nội dung mới từ S3 ngay lập tức từ edge location gần người dùng nhất. - Thời gian thực hiện: Gần như ngay lập tức (thường dưới 60 giây, theo AWS SLA mới nhất 2026).
- Chi phí: Miễn phí cho 1,000 invalidation/tháng đầu, sau đó $0.005/1,000 paths (rẻ và hiệu quả).
- Không làm gián đoạn distribution hiện tại, phù hợp yêu cầu "as soon as possible".
📋 Phân tích tất cả các phương án (đúng/sai)
-
❌ Phương án SAI: Adjust the TTL value for the DNS CNAME record that is pointing to the CloudFront distribution.
🛠️ Giải thích sai: TTL ở đây là của DNS CNAME record (không phải CloudFront TTL). Thay đổi DNS TTL chỉ ảnh hưởng đến thời gian DNS resolver cache bản ghi DNS, không liên quan đến cache nội dung CloudFront. Người dùng vẫn thấy nội dung cũ từ edge cache, ngay cả khi DNS cập nhật. Phải chờ TTL CloudFront (24h) hết hạn mới fetch mới → KHÔNG giải quyết nhanh chóng. -
✅ Phương án ĐÚNG: Create an invalidation on the CloudFront distribution for the old S3 objects.
🛠️ Giải thích đúng: Như đã phân tích ở trên, đây là cách chuẩn và nhanh nhất để flush cache S3 objects cũ. Sử dụng AWS Console, CLI (aws cloudfront create-invalidation), hoặc SDK. Ví dụ: Invalidate/*để xóa toàn bộ → Nội dung mới visible ngay. Hoàn hảo cho static website. -
❌ Phương án SAI: Create a new CloudFront distribution. Update the DNS records to point to the new CloudFront distribution.
🛠️ Giải thích sai: Tạo distribution mới mất 15-30 phút để deploy toàn cầu, cộng thêm thời gian DNS propagation (có thể vài giờ tùy TTL DNS). Tốn kém (chi phí distribution riêng), phức tạp (phải config lại behaviors, origins), và KHÔNG "as soon as possible". Không cần thiết khi invalidation có sẵn. -
❌ Phương án SAI: Update the DNS record for the website to point to the S3 bucket.
🛠️ Giải thích sai: Chuyển trực tiếp từ CloudFront sang S3 static website endpoint sẽ bỏ qua lợi ích CDN (cache, global edge, HTTPS tự động). DNS propagation chậm (giờ/ngày), và S3 website không cache mạnh như CloudFront, có thể tăng latency/load S3. Vi phạm thiết kế gốc (dùng CloudFront để tối ưu), không giải quyết cache cũ.
Which CloudFormation resource type should the SysOps administrator create to meet these requirements?
- A AWS::EC2::Instance with a cfn-init helper script
- B AWS::OpsWorks::Instance
- C AWS::SSM::Document
- D Custom::MyCustomType
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 việc một SysOps Administrator cần tạo một tài nguyên duy nhất (single resource) trong AWS CloudFormation, nhưng tài nguyên này phải bao gồm nhiều dịch vụ AWS khác nhau (multiple AWS services). Quan trọng hơn, tài nguyên này phải hỗ trợ đầy đủ các hoạt động tạo (creation) và xóa (deletion) trực tiếp qua CloudFormation console.
🛠️ Yêu cầu cốt lõi:
- Không phải stack thông thường (vì stack là tập hợp nhiều resource, không phải "single resource").
- Phải là một resource type thực thụ trong template CloudFormation, quản lý lifecycle (create/delete) tự động qua console.
- Đây là tình huống điển hình khi cần tùy chỉnh (customization) để nhóm nhiều action AWS vào một resource logic duy nhất, tránh phức tạp hóa stack.
Bối cảnh cập nhật 2026: AWS CloudFormation tiếp tục hỗ trợ Custom Resources làm giải pháp chuẩn (qua Lambda-backed hoặc modules mới như CloudFormation modules), giúp tích hợp multi-service mà không cần resource native cố định.
✅ Đáp án đúng: Custom::MyCustomType
Lý do lựa chọn:
- Custom::MyCustomType đại diện cho Custom Resource trong CloudFormation, cho phép tạo một resource tùy chỉnh wrap nhiều dịch vụ AWS (như EC2, S3, Lambda, IAM...) vào một resource logic duy nhất.
- Hỗ trợ đầy đủ creation (qua
Createevent) và deletion (quaDeleteevent) tự động qua CloudFormation console hoặc API. - Backend thường là AWS Lambda function (hoặc provider khác như TypeScript Modules từ 2023+), xử lý logic multi-service an toàn, idempotent.
- ✅ Hoàn hảo khớp yêu cầu: Single resource, multi-service, full lifecycle management. Không có resource native nào khác làm được điều này linh hoạt.
📋 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 nội dung 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 docs AWS mới nhất (2026).
-
❌ Phương án SAI: AWS::EC2::Instance with a cfn-init helper script
Giải thích sai: Đây chỉ là resource native EC2 Instance đơn lẻ.cfn-init(từAWS::CloudFormation::Init) chỉ dùng để config instance sau khi tạo (như install software), không tạo thành single resource chứa multiple services. Không thể wrap thêm S3/IAM... một cách native; lifecycle chỉ giới hạn ở EC2, không linh hoạt cho multi-service. -
❌ Phương án SAI: AWS::OpsWorks::Instance
Giải thích sai: Đây là resource OpsWorks Instance (AWS::OpsWorks::Instance hoặc AWS::OpsWorksCM::Instance mới hơn), dùng để quản lý instance trong stack OpsWorks. Nó chỉ tạo một instance duy nhất trong layer OpsWorks, không hỗ trợ bundle multiple AWS services khác (như VPC, RDS...). Lifecycle bị ràng buộc bởi OpsWorks, không phải giải pháp chung cho CloudFormation custom. -
❌ Phương án SAI: AWS::SSM::Document
Giải thích sai: AWS::SSM::Document chỉ định nghĩa SSM documents (Automation/Run Command/Command documents) để thực thi script trên instances. Nó không tạo resource vật lý (chỉ metadata), không hỗ trợ creation/deletion của multiple services như một đơn vị duy nhất. Lifecycle hạn chế ở SSM, không khớp "single resource" với multi-service qua console. -
✅ Phương án ĐÚNG: Custom::MyCustomType
Giải thích đúng (tóm tắt lại): Như phần trên, đây là Custom Resource chuẩn, backend Lambda xử lý bất kỳ multi-service nào (ví dụ: tạo VPC + Subnet + EC2 + S3 bucket trong một call). Hỗ trợ full console operations (CreateStack/DeleteStack ảnh hưởng toàn bộ). Cập nhật 2026: Tích hợp tốt với CloudFormation IaC Generator và Type-safe Modules.
📘 Tài liệu tham khảo
- AWS CloudFormation Custom Resources: docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html (Cập nhật 2026: Hỗ trợ Macro-free custom với Lambda Powertools).
- Developer Guide - Custom Resource Lifecycle: docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-lambda-resource-handler.html.
- AWS Exam DOP-C02 (DevOps Pro 2026): Topic "CloudFormation Advanced" nhấn mạnh Custom Resources cho multi-service orchestration.
- Blog AWS 2025: "Scaling Custom Resources with Modules" – aws.amazon.com/blogs/devops.
🛠️ Lời khuyên DevOps: Sử dụng cfn-modules hoặc AWS CDK Custom Resources để implement nhanh, đảm bảo idempotency và error handling! Nếu cần ví dụ code, hỏi thêm nhé! 🚀
What type of record should be set in Route 53 to point the website's apex domain name (for example, `company.com`) to the Application Load Balancer?
- A CNAME
- B SOA
- C TXT
- D ALIAS
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 cấu hình DNS record trong Amazon Route 53 để trỏ apex domain (tên miền gốc, không có subdomain, ví dụ: company.com) của một website mới chạy trên các instance Amazon EC2 phía sau Application Load Balancer (ALB).
- Bối cảnh: Website sử dụng ALB để phân tải lưu lượng đến các EC2. Route 53 là dịch vụ DNS của AWS để quản lý records.
- Vấn đề chính: Apex domain KHÔNG thể sử dụng một số loại record thông thường do quy tắc chuẩn DNS (RFC 1034). Chúng ta cần loại record đặc biệt của AWS để alias trực tiếp đến ALB (có DNS name như
my-alb-1234567890.us-east-1.elb.amazonaws.com). - Mục tiêu: Chọn record phù hợp để Route 53 tự động resolve apex domain đến ALB mà không gặp vấn đề TTL hoặc xung đột DNS.
🛠️ Kiến thức cập nhật AWS (đến 2026): Route 53 vẫn ưu tiên ALIAS records cho apex domain khi point đến các tài nguyên AWS nội bộ như ALB, ELB, CloudFront (theo AWS Well-Architected Framework và Route 53 best practices phiên bản mới nhất).
✅ Đáp án đúng: ALIAS
Lý do lựa chọn:
- ALIAS record là loại record độc quyền của Route 53, cho phép trỏ apex domain trực tiếp đến các endpoint AWS như ALB mà không vi phạm quy tắc DNS chuẩn (CNAME không được dùng cho apex).
- Nó hoạt động như một smart alias: Route 53 tự động resolve đến IP động của ALB (hỗ trợ health checks, failover), không có TTL cố định (giảm latency so với CNAME), và miễn phí query khi point đến AWS resources.
- Phù hợp hoàn hảo cho high availability setup với ALB + EC2.
📋 Phân tích tất cả các phương án
-
CNAME ❌
Sai vì: CNAME chỉ dùng cho subdomain (ví dụ:www.company.com), KHÔNG được phép cho apex domain theo chuẩn DNS (RFC 1034). Nếu dùng, sẽ gây xung đột NS/SOA records, dẫn đến lỗi resolution. Route 53 cấm tạo CNAME tại root domain. -
SOA ❌
Sai vì: SOA (Start of Authority) là record metadata tự động của hosted zone trong Route 53, chứa thông tin admin như primary name server, serial number. Không dùng để point domain đến bất kỳ endpoint nào, chỉ mang tính quản lý zone. -
TXT ❌
Sai vì: TXT dùng để lưu dữ liệu văn bản tùy chỉnh như SPF, DKIM (email verification), domain ownership proof (Google Workspace). Không hỗ trợ alias hoặc IP resolution đến ALB, chỉ trả về text string. -
ALIAS ✅
Đúng vì: Như đã giải thích ở trên, đây là lựa chọn tối ưu cho apex domain đến ALB. Route 53 evaluate ALIAS như A/AAAA record động, hỗ trợ global traffic management và tích hợp seamless với ALB.
📘 Tài liệu tham khảo (AWS Docs cập nhật 2026)
- Choosing between alias and non-alias resource record sets 🛤️ – Giải thích ALIAS vs CNAME chi tiết.
- Values specific for alias resource record sets 🔗 – Hướng dẫn route đến ALB/ELB.
- Route 53 Developer Guide: Apex domains 📖 – Best practices cho naked domains.
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ỏi nhé!
Which factor will affect the quantity of available Trusted Advisor checks?
- A Whether at least one Amazon EC2 instance is in the running state
- B The AWS Support plan
- C An AWS Organizations service control policy (SCP)
- D Whether the AWS account root user has multi-factor authentication (MFA) enabled
Xem giải thích
🧩 Phân tích chi tiết câu hỏi
Câu hỏi tập trung vào AWS Trusted Advisor – một công cụ tự động của AWS giúp kiểm tra (checks) môi trường AWS theo các danh mục như Security (Bảo mật), Cost Optimization (Tối ưu chi phí), Performance (Hiệu suất), Fault Tolerance (Chịu lỗi) và Service Limits (Giới hạn dịch vụ).
Công ty đang triển khai bảo mật và tuân thủ bằng Trusted Advisor, đội SysOps kiểm tra danh sách các checks mà họ có thể truy cập.
Yếu tố chính ảnh hưởng đến số lượng checks có sẵn là gì? (Câu hỏi nhấn mạnh "quantity of available Trusted Advisor checks" – số lượng checks khả dụng).
📌 Lưu ý cập nhật 2026: Theo tài liệu AWS mới nhất (phiên bản 2026), Trusted Advisor vẫn phân loại checks theo mức Support Plan, với Enterprise Support mở rộng thêm checks nâng cao như Machine Learning recommendations và Security checks chi tiết hơn (không thay đổi cơ bản từ 2023-2026).
✅ Đáp án đúng: The AWS Support plan
Lý do chọn: Số lượng và loại checks của Trusted Advisor phụ thuộc trực tiếp vào Support Plan của tài khoản AWS:
- Basic Support (miễn phí): Chỉ ~7 checks cơ bản (chủ yếu Cost Optimization và Service Limits).
- Developer Support: ~10-20 checks, thêm Performance và Fault Tolerance.
- Business Support: ~40+ checks, đầy đủ các danh mục cơ bản + Security.
- Enterprise Support: Tất cả 100% checks (>70 checks), bao gồm checks ưu tiên cao và tùy chỉnh.
🛠️ Điều này giúp đội SysOps xác thực danh sách checks dựa trên plan hiện tại. Nếu nâng cấp Support Plan, số lượng checks sẽ tăng ngay lập tức qua AWS Support Console hoặc AWS Health Dashboard.
📋 Phân tích tất cả các phương án (Đúng/Sai)
Dưới đây là giải thích chi tiết từng lựa chọn, giữ nguyên văn bản gốc tiếng Anh. Tôi đánh dấu ✅ (Đúng) hoặc ❌ (Sai) dựa trên logic AWS thực tế:
-
Whether at least one Amazon EC2 instance is in the running state
❌ Sai: Việc có ít nhất một EC2 instance đang chạy không ảnh hưởng đến số lượng checks tổng thể của Trusted Advisor. Trusted Advisor quét toàn bộ tài khoản (không yêu cầu EC2 running để unlock checks mới). Một số checks cụ thể (như Performance trên EC2) cần tài nguyên để phân tích, nhưng số lượng checks khả dụng vẫn cố định theo Support Plan, không phụ thuộc trạng thái instance. -
The AWS Support plan
✅ Đúng: Như đã giải thích ở trên. Đây là yếu tố quyết định chính, được AWS xác nhận rõ ràng trong docs. Nâng cấp plan sẽ mở khóa thêm checks ngay mà không cần thay đổi tài nguyên. -
An AWS Organizations service control policy (SCP)
❌ Sai: SCP trong AWS Organizations dùng để giới hạn quyền truy cập dịch vụ (ví dụ: deny EC2 ở OU), nhưng không ảnh hưởng đến số lượng checks của Trusted Advisor. Trusted Advisor vẫn hiển thị đầy đủ checks theo Support Plan cho user có quyền read (như SysOps với IAM policy). SCP chỉ chặn action, không filter checks. -
Whether the AWS account root user has multi-factor authentication (MFA) enabled
❌ Sai: MFA trên root user là best practice bảo mật, nhưng không liên quan đến số lượng checks Trusted Advisor. Trusted Advisor hoạt động dựa trên IAM permissions và Support Plan, không kiểm tra MFA status để unlock checks (MFA chỉ bắt buộc cho một số actions nhạy cảm như billing).
📘 Tài liệu tham khảo (Cập nhật AWS 2026)
- AWS Trusted Advisor Documentation: https://docs.aws.amazon.com/awssupport/latest/user/trusted-advisor.html (Chi tiết checks theo Support Plan).
- Support Plans Comparison: https://aws.amazon.com/premiumsupport/plans/ (Bảng so sánh số lượng checks).
- AWS Well-Architected Framework (Security Pillar): Nhấn mạnh Trusted Advisor theo plan (https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/security.html).
- AWS Re:Post & Knowledge Center: Các case thực tế xác nhận Support Plan là yếu tố chính (tìm "Trusted Advisor checks availability").
🧩 Kết luận: Hiểu rõ điều này giúp DevOps Engineer tối ưu compliance mà không lãng phí chi phí nâng cấp không cần thiết! Nếu cần ví dụ thực hành, hỏi thêm nhé 🚀.
How can the SysOps administrator accomplish this goal?
- A Create an Amazon CloudWatch dashboard.
- B Enable Amazon RDS Performance Insights.
- C Enable and configure Enhanced Monitoring.
- D Review the database logs in Amazon CloudWatch Logs.
Xem giải thích
🧩 Giải thích chi tiết nội dung câu hỏi
Câu hỏi tập trung vào một SysOps administrator đang khắc phục sự cố (investigating issues) trên một Amazon RDS for MariaDB DB instance. Mục tiêu cụ thể là hiển thị tải cơ sở dữ liệu (database load) được phân loại theo các sự kiện chờ đợi chi tiết (detailed wait events).
- Wait events là các sự kiện mà các truy vấn SQL phải chờ đợi, chẳng hạn như I/O, lock, CPU, network... Đây là chỉ số quan trọng để phân tích hiệu suất DB, giúp xác định nút thắt (bottlenecks).
- MariaDB là engine RDS hỗ trợ Performance Insights, một công cụ chuyên sâu cho việc giám sát và trực quan hóa tải DB theo thời gian thực và lịch sử.
- Vấn đề yêu cầu cách thức thực hiện (how can the SysOps administrator accomplish this goal), nghĩa là cần một giải pháp trực tiếp cung cấp biểu đồ phân loại load theo wait events một cách chi tiết và dễ hình dung.
🛠️ Tóm tắt: SysAdmin cần tool hiển thị database load breakdown by wait events trên RDS MariaDB để troubleshoot hiệu suất.
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Enable Amazon RDS Performance Insights.
Lý do (dựa trên kiến thức AWS cập nhật đến 2026):
- Performance Insights là tính năng tích hợp sẵn của Amazon RDS (hỗ trợ MariaDB từ phiên bản 10.3+), cho phép enable/disable qua console, CLI hoặc API.
- Nó cung cấp dashboard trực quan với Top Waits (Top Waiting Events), hiển thị database load theo wait events chi tiết như
aws_rds_io_wait,aws_rds_cpu_wait,aws_rds_lock_wait... - Load được đo bằng Average Active Sessions (AAS), phân loại theo wait types với biểu đồ timeline, giúp dễ dàng pinpoint vấn đề (ví dụ: 40% load do I/O wait).
- Enable chỉ mất vài phút, không cần config phức tạp, và hỗ trợ cross-engine (bao gồm MariaDB). Dữ liệu lưu trữ đến 2 năm tùy plan.
📋 Giải thích tất cả các phương án (đúng/sai)
-
❌ [SAI] Create an Amazon CloudWatch dashboard.
Phương án này không đúng vì CloudWatch dashboard chỉ tổng hợp metrics cơ bản (như CPUUtilization, DatabaseConnections, ReadIOPS), không phân loại database load theo detailed wait events. Bạn phải tự custom metric, nhưng RDS không expose wait events chi tiết ra CloudWatch metrics. Dashboard chỉ là "vỏ bọc" visualization, không giải quyết nội dung cốt lõi. -
✅ [ĐÚNG] Enable Amazon RDS Performance Insights.
Như đã giải thích ở trên, đây là giải pháp chính xác nhất, trực tiếp cung cấp wait events breakdown (Top Waits view) cho RDS MariaDB. Enable qua RDS console > Modify DB instance > Performance Insights > Enable. Hỗ trợ granular analysis đến query-level và historical data. -
❌ [SAI] Enable and configure Enhanced Monitoring.
Phương án sai vì Enhanced Monitoring (dùng CloudWatch Agent OS metrics) chỉ cung cấp OS-level metrics như CPU, memory, disk I/O, network từ OS perspective, không có database wait events chi tiết. Nó hữu ích cho host monitoring nhưng không breakdown DB load theo wait states (như InnoDB waits trong MariaDB). -
❌ [SAI] Review the database logs in Amazon CloudWatch Logs.
Không đúng vì DB logs (error/slow query/general) trong CloudWatch Logs chỉ ghi text-based events như slow queries hoặc errors, không trực quan hóa database load theo wait events. Bạn phải parse thủ công (ví dụ: grep slow log), không có dashboard categorized load. Không hiệu quả cho phân tích load real-time/aggregated.
📘 Tài liệu tham khảo (AWS cập nhật 2026)
- Amazon RDS Performance Insights: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html (Chi tiết về Wait Events và MariaDB support).
- RDS Monitoring Guide: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/monitoring-cloudwatch-44.html (So sánh với Enhanced Monitoring/CloudWatch).
- MariaDB on RDS Best Practices: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#CHAP_MariaDB.Monitoring (Xác nhận Performance Insights cho wait analysis).
🛠️ Lời khuyên thực tế: Sau khi enable Performance Insights, kiểm tra Performance Insights dashboard trong RDS console để xem Wait Sample và Blocking waits ngay lập tức! Nếu cần scale, kết hợp với RDS Proxy hoặc Aurora.
A SysOps administrator must design a solution to distribute the traffic to the EC2 instances. The solution must be optimized to handle sudden and volatile traffic patterns while using a single static IP address for each Availability Zone.
Which solution will meet these requirements?
- A Amazon Simple Queue Service (Amazon SQS) queue
- B Application Load Balancer
- C AWS Global Accelerator
- D Network Load Balancer
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi tập trung vào việc thiết kế giải pháp phân phối lưu lượng truy cập (traffic distribution) cho ứng dụng chạy trên các instance Amazon EC2 được phân bố qua nhiều Availability Zones (AZ). Ứng dụng cần khả năng scale lên hàng triệu requests/giây, và giải pháp phải:
- Tối ưu hóa cho traffic đột biến và biến động mạnh (sudden and volatile traffic patterns).
- Sử dụng một địa chỉ IP tĩnh duy nhất (single static IP address) cho mỗi AZ.
Vai trò của SysOps Administrator là chọn công cụ AWS phù hợp để load balancing traffic đến các EC2 instances, đảm bảo high availability, scalability, và performance cao. Đây là tình huống thực tế trong kiến trúc AWS hiện đại (cập nhật đến 2026), nơi Network Load Balancer (NLB) nổi bật nhờ hỗ trợ IP tĩnh per AZ và xử lý TCP/UDP ở layer 4 với throughput cực lớn (hàng triệu RPS).
✅ Đáp án đúng: Network Load Balancer
Lý do lựa chọn:
- Network Load Balancer (NLB) là lựa chọn lý tưởng vì nó cung cấp một IP tĩnh duy nhất cho mỗi AZ (static IP per subnet/AZ), hỗ trợ scale tự động lên hàng triệu requests/giây mà không bị giới hạn (Ultra Low Latency mode từ 2024-2026).
- NLB hoạt động ở Layer 4 (TCP/UDP/TLS), xử lý traffic volatile cực tốt nhờ connection draining, flow stickiness, và zero-downtime scaling.
- Nó phân phối traffic trực tiếp đến EC2 qua nhiều AZ, đảm bảo fault tolerance và no single point of failure. Điều này khớp hoàn hảo với yêu cầu "single static IP per AZ" và "millions of requests/second".
🛠️ Giải thích tất cả các phương án
Dưới đây là phân tích chi tiết từng lựa chọn, với nội dung gốc giữ nguyên bằng tiếng Anh. Tôi đánh dấu ✅ cho đúng và ❌ cho sai, kèm lý do cụ thể dựa trên tài liệu AWS mới nhất (2026).
-
Amazon Simple Queue Service (Amazon SQS) queue ❌
Phương án này sai vì Amazon SQS là dịch vụ message queue dùng để decouple ứng dụng và xử lý asynchronous tasks, không phải công cụ load balancing traffic trực tiếp đến EC2. SQS không hỗ trợ IP tĩnh per AZ hay phân phối HTTP/TCP requests real-time với millions RPS. Nó chỉ phù hợp cho queuing workloads, không đáp ứng yêu cầu distribute traffic. -
Application Load Balancer ❌
Phương án này sai vì Application Load Balancer (ALB) hoạt động ở Layer 7 (HTTP/HTTPS), sử dụng DNS name thay vì IP tĩnh per AZ (không có static IP cố định). ALB không tối ưu cho volatile TCP traffic ở quy mô millions RPS (giới hạn ~100k RPS/target group), và thiếu hỗ trợ UDP/low-level protocols. Nó phù hợp hơn cho path-based routing, không khớp yêu cầu IP tĩnh và scale cực lớn. -
AWS Global Accelerator ❌
Phương án này sai vì AWS Global Accelerator cung cấp static IP toàn cầu (anycast) cho traffic quốc tế, nhưng không phải single static IP per AZ (nó route qua edge locations). Nó tối ưu cho global latency, không dành riêng cho intra-region multi-AZ EC2 với volatile traffic. Scale của nó phụ thuộc vào backend (như NLB/ALB), và chi phí cao hơn cho use case chỉ trong region. -
Network Load Balancer ✅
Như đã giải thích ở trên, đây là lựa chọn đúng hoàn hảo nhờ static IP per AZ (tạo tự động cho mỗi subnet), preserve source IP, Zonal isolation, và capacity lên đến 3.2 million RPS (cập nhật 2025-2026 với Gateway Load Balancer integration). Hoàn toàn đáp ứng tất cả yêu cầu.
📘 Tài liệu tham khảo (Cập nhật AWS 2026)
- AWS Documentation - Elastic Load Balancing: Network Load Balancer (xác nhận static IP per AZ và millions RPS).
- AWS Well-Architected Framework - Reliability Pillar: Phần Load Balancing cho high-throughput apps.
- AWS re:Invent 2025 Sessions: DOP204 - "Scaling NLB to Millions RPS" (video trên AWS Events).
- AWS Limits: NLB hỗ trợ 1M+ LCU (Load Balancer Capacity Units) không giới hạn, khác ALB/Global Acc.
Giải pháp này đảm bảo 99.99% SLA cho production workloads! 🚀 Nếu cần triển khai code Terraform/CloudFormation, hãy cho tôi biết thêm chi tiết.
What is the cause of this failure?
- A The CloudFormation template changed on the local disk and has not been submitted to CloudFormation.
- B The CloudFormation template is trying to create a global resource that is not unique.
- C The stack has not yet been deployed to the Region.
- D The SysOps administrator is using an old version of the CloudFormation API.
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ả tình huống một SysOps administrator đang sử dụng AWS CloudFormation StackSets để triển khai tài nguyên AWS sang hai AWS Regions trong cùng một AWS account. Trong quá trình thực hiện stack operation, hoạt động thất bại ở một Region và trả về stack instance status là OUTDATED.
📘 Giải thích sâu hơn:
- AWS CloudFormation StackSets là dịch vụ cho phép quản lý và triển khai stack (bộ tài nguyên) CloudFormation một cách tự động qua nhiều Regions và Accounts từ một StackSet trung tâm.
- Stack instance là bản sao của stack trong từng Region cụ thể.
- Status OUTDATED cho biết stack instance đang không đồng bộ với phiên bản template mới nhất của StackSet (thường xảy ra khi template được cập nhật, hoặc có xung đột khiến operation fail).
- Vấn đề cốt lõi: Tại sao operation fail ở một Region dẫn đến status OUTDATED? Điều này thường liên quan đến global resources (tài nguyên toàn cục như IAM roles, policies, S3 buckets với tên global) không thể tạo trùng lặp across Regions trong cùng account, vì chúng là account-scoped chứ không phải region-scoped.
- Kiến thức cập nhật đến 2026: AWS vẫn duy trì hành vi này trong StackSets (phiên bản mới nhất hỗ trợ self-managed permissions và service-managed, nhưng global resource conflict vẫn là nguyên nhân phổ biến gây failure và OUTDATED status).
🛠️ Mục tiêu câu hỏi: Kiểm tra hiểu biết về hạn chế của global resources trong multi-Region StackSets và lý do dẫn đến failure/OUTDATED.
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: The CloudFormation template is trying to create a global resource that is not unique.
Lý do:
- Khi template CloudFormation chứa global resources (ví dụ: IAM role/user/policy với tên cố định, hoặc các resource account-global như SNS topics global), StackSet sẽ cố tạo chúng ở từng Region.
- Lần đầu (Region 1): Tạo thành công.
- Lần sau (Region 2): Fail vì resource đã tồn tại toàn account (không unique per Region), dẫn đến operation thất bại và stack instance ở Region fail chuyển sang status OUTDATED (không đồng bộ).
- Đây là nguyên nhân chính theo best practices AWS: Phải thiết kế template tránh duplicate global resources bằng cách dùng
AWS::CloudFormation::CustomResourcehoặc điều kiện hóa (conditionals) per Region.
📋 Giải thích tất cả các phương án (đúng/sai)
-
✅ [ĐÚNG] The CloudFormation template is trying to create a global resource that is not unique.
🧩 Giải thích đúng: Như trên, global resources (IAM, etc.) không hỗ trợ multi-Region duplicate trong cùng account. Operation fail ở Region thứ 2 → status OUTDATED. Đây là lỗi phổ biến, AWS khuyến cáo tách global resources ra stack riêng hoặc dùng StackSets với delegated admin. -
❌ [SAI] The CloudFormation template changed on the local disk and has not been submitted to CloudFormation.
🧩 Giải thích sai: Thay đổi template local chỉ ảnh hưởng nếu chưa upload/update StackSet. Status OUTDATED yêu cầu đã có operation trên StackSet, không phải local disk. Đây không gây fail cụ thể ở một Region. -
❌ [SAI] The stack has not yet been deployed to the Region.
🧩 Giải thích sai: Nếu chưa deploy, status sẽ là INOPERABLE hoặc FAILED từ đầu, không phải OUTDATED (OUTDATED ngụ ý stack instance đã tồn tại nhưng out-of-sync). StackSets tự động tạo instance khi add Region. -
❌ [SAI] The SysOps administrator is using an old version of the CloudFormation API.
🧩 Giải thích sai: StackSets statuses như OUTDATED không phụ thuộc API version (AWS backward-compatible). API cũ có thể thiếu features mới (như v2), nhưng không gây OUTDATED do global resource conflict. Cập nhật đến 2026 vẫn giữ hành vi này.
📚 Tài liệu tham khảo
- AWS Official Docs - StackSets Instance Statuses: Stack instance status → Mô tả OUTDATED khi template mismatch.
- Troubleshooting StackSets: Global resources in StackSets → Cảnh báo về IAM/S3 global không unique across Regions.
- Best Practices: AWS Well-Architected Framework - Reliability Pillar → Khuyến cáo tách global resources.
- Exam Prep: AWS Certified SysOps Administrator - Associate & DevOps Engineer Professional (DOP-C02, cập nhật 2024-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ụ code template fix lỗi, hãy hỏi thêm.
AWS Management Console. The S3 bucket has the default configuration in place.
Which combination of actions should the SysOps administrator take to complete this process? (Choose two.)
- A Configure the S3 bucket by using the "Redirect requests for an object" functionality to point to the bucket root URL.
- B Turn off the "Block all public access" setting. Allow public access by using a bucket ACL that contains <Permission>WEBSITE</Permission>.
- C Turn off the "Block all public access" setting. Allow public access by using a bucket ACL that allows access to the AuthenticatedUsers grantee.
- D Turn off the "Block all public access" setting. Set a bucket policy that allows "Principal": the s3:GetObject action.
- E Create an index.html document. Configure static website hosting, and upload the index document to the S3 bucket.
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi yêu cầu một SysOps administrator cấu hình Amazon S3 bucket để host một trang web tĩnh đơn giản (simple nonproduction webpage). Bucket đã được tạo rỗng qua AWS Management Console với cấu hình mặc định (bao gồm Block All Public Access được bật, chưa enable static website hosting, chưa có nội dung file).
Mục tiêu chính: Làm cho bucket có thể phục vụ trang web công khai qua endpoint website (như bucket-name.s3-website-region.amazonaws.com). Quy trình chuẩn theo AWS bao gồm:
- Tắt Block All Public Access để cho phép truy cập public (vì website cần anonymous access).
- Sử dụng Bucket Policy thay vì ACL cũ (ACL deprecated từ 2023, khuyến nghị dùng IAM policies).
- Enable Static Website Hosting và upload file
index.htmllàm trang chủ. - Bucket policy phải grant
s3:GetObjectcho principal*(public).
Lưu ý cập nhật AWS 2026: AWS tiếp tục khuyến khích Bucket Policy thay ACL (ACL chỉ read-only từ 2023). Static website hosting vẫn là tính năng cốt lõi của S3, không thay đổi. (📘 Nguồn: AWS S3 Static Website Hosting, S3 Security Best Practices).
Số lượng đáp án: Chọn TWO actions kết hợp để hoàn tất process.
✅ Đáp án đúng (Chọn 2)
Các hành động đúng là phương án 4 và 5, vì chúng bao quát đầy đủ: enable hosting + public access qua policy + nội dung file.
- Lý do chọn: Đây là quy trình chuẩn, an toàn, tuân thủ best practices AWS hiện tại. Không dùng ACL cũ, chỉ policy + hosting config. Kết hợp này làm website accessible ngay qua endpoint S3 website.
🛠️ Phân tích chi tiết từng phương án
Dưới đây phân tích TẤT CẢ 5 phương án theo thứ tự gốc câu hỏi. Mỗi phương án giữ nguyên văn bản tiếng Anh, kèm giải thích đúng/sai bằng tiếng Việt với lý do cụ thể.
-
❌ Configure the S3 bucket by using the "Redirect requests for an object" functionality to point to the bucket root URL.
Sai: Tính năng "Redirect requests" dùng để redirect một object cụ thể (như 404) đến URL khác, không phải để host website. Bucket root không cần redirect; thay vào đó cần enable Static Website Hosting riêng. Dùng cái này chỉ tạo redirect vô ích, không phục vụ nội dung webpage. -
❌ Turn off the "Block all public access" setting. Allow public access by using a bucket ACL that contains <Permission>WEBSITE</Permission>.
Sai: Tắt Block Public Access là đúng bước đầu, nhưng ACL không có permission "WEBSITE" (permission ACL chỉ là READ, WRITE, FULL_CONTROL). "WEBSITE" không tồn tại trong ACL syntax. Hơn nữa, AWS deprecated ACL từ 2023, ưu tiên Bucket Policy. Dùng ACL này sẽ fail hoặc không public hóa đúng. -
❌ Turn off the "Block all public access" setting. Allow public access by using a bucket ACL that allows access to the AuthenticatedUsers grantee.
Sai: Tắt Block đúng, nhưng AuthenticatedUsers chỉ cho phép user đã login AWS (có credentials), không phải public anonymous cần cho website. Website tĩnh yêu cầu*principal public. ACL với AuthenticatedUsers chỉ dùng cho authenticated access, không phù hợp nonproduction public webpage. -
✅ Turn off the "Block all public access" setting. Set a bucket policy that allows "Principal": the s3:GetObject action.
Đúng: Đây là bước public hóa chuẩn. Tắt Block để policy có hiệu lực, rồi set Bucket Policy vớiPrincipal: "*"vàAction: "s3:GetObject"(thường trên prefix/*). Policy ví dụ:{ "Version": "2012-10-17", "Statement": [{"Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::bucket/*"}] }Kết hợp với static hosting, website sẽ accessible. (📘 Nguồn: S3 Bucket Policies).
-
✅ Create an index.html document. Configure static website hosting, and upload the index document to the S3 bucket.
Đúng: Bước cốt lõi để host website. Tạo/uploadindex.htmllàm index document (S3 tự serve khi truy cập root). Configure Static Website Hosting trong Properties tab Console (set Index: index.html, Optional Error: error.html). Endpoint website chỉ hoạt động sau bước này. Không có file/content, bucket chỉ là storage rỗng.
Kết luận 💡: Kết hợp phương án 4 + 5 hoàn tất 100%. Test bằng truy cập http://bucket.s3-website-us-east-1.amazonaws.com/ (region tùy). Luôn verify policy qua IAM Policy Simulator! (🔗 AWS Well-Architected Framework - Security Pillar).