Skip to main content

Last updated: May 2026

Practice Exam

SAP-C02AWS Certified Solutions Architect – Professional

Test your knowledge with official exam-style questions

Questions25Passing750Exam time

Questions and options are shuffled each attempt

AWS Certified Solutions Architect – ProfessionalPractice Set 1: All Questions & Explanations

Full question text, answer options, and explanations for this practice set — a spoiler-free alternative is the interactive quiz above for scored, shuffled practice.

  1. . A global enterprise operates across 12 AWS accounts within an AWS Organizations structure. Each account belongs to one of three organizational units (OUs): Production, Development, and Sandbox. The security team requires that all Production accounts must: (1) never allow EC2 instances with public IP addresses, (2) block creation of IAM users (only IAM Identity Center users are permitted), and (3) prevent deletion of AWS CloudTrail trails. These guardrails must be enforced centrally and cannot be overridden by individual account administrators. Sandbox accounts must have no restrictions. Development accounts need restriction (3) only. The company wants to apply these controls with the LEAST administrative overhead. Which approach BEST meets all requirements? The company currently uses AWS Config rules in each account but finds them difficult to scale. The security team wants preventive controls, not detective controls.

    • A. Create three AWS Config conformance packs — one per OU — with the required rules, and deploy them from the management account using AWS Config aggregator
    • B. Create Service Control Policies (SCPs) in AWS Organizations: attach a Production SCP denying ec2:RunInstances with a public IP, iam:CreateUser, and cloudtrail:DeleteTrail to the Production OU; attach a Development SCP denying cloudtrail:DeleteTrail to the Development OU; leave the Sandbox OU with no SCP beyond the AWS managed FullAWSAccess(correct)
    • C. Use AWS CloudFormation StackSets to deploy IAM permission boundaries and AWS Config rules to each OU, with different boundary documents per OU
    • D. Use AWS Control Tower Guardrails to apply mandatory preventive guardrails for the Production OU and an optional guardrail for the Development OU, then manage Sandbox accounts outside of Control Tower

    Explanation: AWS Organizations Service Control Policies (SCPs) are preventive controls — they deny API actions at the organizational level regardless of IAM permissions within the account. An SCP on the Production OU denying ec2:RunInstances (with a condition for public IP), iam:CreateUser, and cloudtrail:DeleteTrail enforces all three requirements and cannot be overridden by account admins. A separate SCP on the Development OU denying only cloudtrail:DeleteTrail covers requirement (3) for Development. Sandbox accounts inherit only the root FullAWSAccess SCP and are unrestricted. This requires three SCP documents and three attachments — minimal administrative overhead. Option A uses AWS Config rules, which are detective (they detect violations after the fact) not preventive (they do not block the API call). Option C uses CloudFormation StackSets to deploy IAM permission boundaries and Config rules, which are more complex to maintain and still do not provide true preventive controls. Option D AWS Control Tower Guardrails is a valid approach but requires enrolling all accounts in Control Tower (which may require migration) and has less flexibility for custom SCP conditions.

  2. . A multinational corporation manages 200 AWS accounts across five continents using AWS Organizations. The networking team needs all accounts to use a centralised, transit-based network where VPCs in any account can communicate with shared services (Active Directory, DNS resolvers, monitoring tools) hosted in a dedicated Network Services account. Each regional group of accounts must be able to communicate with each other within the region, but cross-region communication between accounts must be blocked by default. New accounts must automatically be peered to the regional transit network without manual configuration. The solution must MINIMISE cost and operational overhead. The existing network uses VPC peering between accounts, which has become unmanageable at scale. The team wants to consolidate to a hub-and-spoke model.

    • A. Deploy an AWS Transit Gateway in each region in the Network Services account, share it with all accounts in the same region using AWS Resource Access Manager (RAM), and use AWS Transit Gateway route tables to control inter-region routing. Use AWS Organizations integration with RAM to automatically share the TGW with new accounts joined to the organisation(correct)
    • B. Deploy AWS PrivateLink endpoints in the Network Services account for each shared service, and configure VPC peering between all 200 accounts in a full-mesh topology within each region
    • C. Create an AWS Direct Connect gateway associated with a virtual private gateway in each account, routing all inter-account traffic through the on-premises network as a transit hub
    • D. Use Amazon VPC Lattice to define service networks in each region, attach all account VPCs to the service network, and enforce regional segmentation using Lattice service network policies

    Explanation: AWS Transit Gateway acts as a regional hub that can connect up to 5,000 VPCs and accounts. Sharing a Transit Gateway via AWS RAM using AWS Organizations integration automatically makes it available to all existing and newly joined member accounts in the specified OU or organisation, eliminating manual peering for new accounts. Separate route tables per region (or per OU) enforce the requirement that cross-region communication is blocked by default — simply do not create cross-region TGW peering attachments, or use route table policies to block inter-region routes. Option B full-mesh VPC peering at 200 accounts within a region requires up to n*(n-1)/2 = 19,900 peering connections per region — completely unmanageable and exactly the problem being solved. Option C routing all inter-account traffic through on-premises introduces hairpin latency, bandwidth constraints, and Direct Connect cost for intra-AWS traffic. Option D Amazon VPC Lattice is designed for service-to-service communication at the application layer (HTTP/gRPC), not for low-level network transit between entire VPC address spaces.

  3. . A company with 50 AWS accounts uses AWS IAM Identity Center (formerly AWS SSO) for centralised access management. The company recently acquired another organisation that has its own Okta identity provider and 20 AWS accounts not part of the original AWS Organizations structure. The security team requires that acquired company employees must use their existing Okta credentials to access all AWS accounts (both original and acquired). The acquired company's accounts must be brought into the AWS Organizations structure. Access assignments must be auditable. The solution must NOT require employees to maintain separate AWS IAM user credentials. The company currently has a corporate Active Directory connected to IAM Identity Center. The acquired company uses Okta exclusively.

    • A. Invite the acquired accounts into the existing AWS Organizations structure, then configure IAM Identity Center with an additional external identity provider (Okta) using SAML 2.0. Create permission sets in IAM Identity Center and assign them to Okta user groups for access to both original and acquired accounts(correct)
    • B. Create IAM users in each of the 70 accounts for acquired employees, federate login through Okta using IAM SAML identity providers configured per account, and use AWS CloudTrail to audit access
    • C. Configure a cross-account IAM role in each original account that trusts the acquired company's AWS accounts, and allow Okta to assume these roles directly using SAML assertions
    • D. Merge the Okta directory with the corporate Active Directory using AD Connect, then use the existing IAM Identity Center AD connector to serve both user populations

    Explanation: AWS IAM Identity Center supports multiple identity sources including external SAML 2.0 identity providers like Okta alongside an existing Active Directory connection (though typically only one identity source is configured at a time — for mixed environments, Okta can be configured as an external IdP with SCIM provisioning, or Active Directory can federate Okta through AD). Once the acquired accounts are joined to AWS Organizations, IAM Identity Center can assign permission sets to Okta user groups across all 70 accounts centrally. All access assignments are logged in AWS CloudTrail, providing the required audit trail. No IAM users are created. Option B creates IAM users, which directly violates the requirement to not maintain separate AWS IAM user credentials. Option C cross-account IAM role trust with direct SAML from Okta requires per-account configuration across all 70 accounts and does not use IAM Identity Center's centralised assignment model. Option D merging Okta into AD is a complex directory migration that may not be feasible without disrupting acquired employees' existing access to non-AWS Okta applications.

  4. . An enterprise runs hundreds of AWS Lambda functions, Amazon EC2 instances, and Amazon ECS tasks across five production accounts. The security team has implemented AWS Security Hub with CIS AWS Foundations Benchmark controls aggregated into a central Security account using a delegated administrator. A penetration test reveals that many resources have overly permissive IAM roles. The security team wants to identify all IAM roles with administrator-level access across all accounts without manually reviewing each account. The security team needs a scalable, automated solution that runs continuously rather than as a one-time report.

    • A. Enable AWS IAM Access Analyzer in each account with an organisation-wide analyser delegated to the Security account, and configure archive rules to suppress known-good findings while alerting on new external access findings
    • B. Use AWS Config with the iam-policy-no-statements-with-admin-access managed rule deployed organisation-wide via CloudFormation StackSets, and aggregate findings into the Security account using AWS Config aggregator(correct)
    • C. Schedule a weekly Amazon Athena query against AWS CloudTrail Lake data in the Security account to identify IAM roles that have called IAM:* or *:* actions in the past 7 days
    • D. Deploy a custom AWS Lambda function that uses the IAM GenerateCredentialReport API in each account and sends results to a central Amazon S3 bucket for review

    Explanation: The AWS Config managed rule iam-policy-no-statements-with-admin-access continuously evaluates all IAM policies in an account and flags any policy containing Effect:Allow with Action:* and Resource:*. Deploying this rule to all five production accounts via CloudFormation StackSets and aggregating non-compliant findings into a central AWS Config aggregator in the Security account provides a continuously updated, centralised view of over-permissive IAM roles without manual review. Option A IAM Access Analyzer identifies external access (cross-account or public) to resources, not overly permissive internal IAM policies. Option C CloudTrail Lake querying detects IAM actions that were actually used, not IAM roles that have the permission, missing dormant over-permissive roles. Option D credential report analysis identifies dormant credentials and password age, not policy-level administrator permissions.

  5. . A company hosts a critical SaaS application used by 500 enterprise customers. Each customer requires complete data isolation — their data must be stored in separate Amazon RDS databases and separate Amazon S3 prefixes, and no customer should be able to access another customer's data even in the event of a misconfiguration. The company currently manages all customers in a single AWS account and is experiencing IAM policy management complexity. The architecture team wants to reduce the risk of cross-customer data leakage at the AWS account boundary level. Cost is a concern — the company cannot afford a completely dedicated AWS account per customer. Customer data volumes range from 10 GB to 5 TB each. The solution must support 500 customers and must scale to 2,000 customers within 18 months.

    • A. Migrate to a model where the top 50 largest customers each receive a dedicated AWS account and the remaining 450 customers share 10 accounts (45 per account), isolated by RDS database per customer and S3 prefix policies per customer within each shared account(correct)
    • B. Remain in a single account but implement AWS Resource Access Manager (RAM) to share customer-specific resources with dedicated IAM roles, and use AWS KMS with customer-specific CMKs to ensure data encryption isolation
    • C. Create a dedicated AWS account for each of the 500 customers using AWS Organizations and AWS Control Tower Account Factory. Use Amazon RDS per account and Amazon S3 per account for data isolation, and use AWS Organizations SCPs to enforce guardrails. Deploy infrastructure using Account Factory for Terraform (AFT) to scale to 2,000 accounts within 18 months
    • D. Use a single-account model with Amazon RDS row-level security and Amazon S3 bucket policy conditions based on customer tenant IDs, enforced through an API Gateway Lambda authoriser that injects session context

    Explanation: At 500–2,000 customers, a fully dedicated account per customer is operationally viable with Control Tower but may have service quota implications (e.g., default limit is 10 accounts per Organisation, raiseable but complex at 2,000). A tiered model — dedicated accounts for the highest-risk largest customers where data leakage impact is greatest, and grouped shared accounts for smaller customers with database-level and S3 prefix-level isolation — balances true account-boundary isolation for highest-risk tenants with cost efficiency for smaller ones. This is a standard SaaS tiering pattern. Option B RAM shares resources across accounts (the opposite of isolation) and KMS CMKs protect confidentiality but do not prevent a misconfigured IAM policy from giving one customer access to another's data within the same account. Option C all 500 accounts would each require their own RDS instance (minimum ~$25/month per db.t3.micro), totalling $12,500/month minimum for small customers — cost-prohibitive at scale. Option D row-level security and S3 conditions at the application layer can be bypassed by a single misconfiguration in the Lambda authoriser, and the question explicitly states the risk to be mitigated is misconfiguration.

  6. . A company uses AWS Organizations and wants all member accounts to send VPC Flow Logs, AWS CloudTrail logs, and Amazon GuardDuty findings to a centralised Security Logs account for immutable storage and SIEM ingestion. The logs must be tamper-proof even against the member account's root user. New accounts joining the organisation must automatically begin sending logs without any manual configuration by the member account team. The company has tried using CloudFormation StackSets but found that drift in member accounts resulted in some accounts stopping log delivery without alerting the security team.

    • A. Configure all logging in each member account manually, protect the CloudTrail trail with an S3 Object Lock policy in the Security Logs account, and use Amazon EventBridge rules to detect when CloudTrail logging is disabled
    • B. Use AWS Control Tower with the Security Hub multi-account configuration, delegate GuardDuty to the Security account, enable organisation-level CloudTrail through AWS Organizations (which cannot be disabled by member accounts), configure VPC Flow Logs using a Service Control Policy that denies ec2:DeleteFlowLogs, and use Amazon S3 with Object Lock in Compliance mode in the Security Logs account for immutability(correct)
    • C. Deploy an AWS Lambda function in the management account that polls each member account's CloudTrail and GuardDuty APIs nightly and copies log data to the Security Logs account S3 bucket
    • D. Use AWS Config conformance packs deployed from the management account to enforce CloudTrail and GuardDuty enablement, and use Amazon S3 Cross-Region Replication to copy logs from member accounts to the Security Logs account

    Explanation: AWS Organizations CloudTrail organisation trails can only be created and managed from the management account and cannot be disabled or modified by member accounts — even by their root users. Delegating Amazon GuardDuty to the Security account via the GuardDuty multi-account feature means member accounts cannot disable GuardDuty. An SCP denying ec2:DeleteFlowLogs prevents member accounts from disabling VPC Flow Logs. Amazon S3 Object Lock in Compliance mode prevents deletion of log objects even by the S3 bucket owner, ensuring tamper-proof storage. AWS Control Tower Account Factory automates the configuration for new accounts joining the organisation. Option A relies on manual configuration per account and EventBridge detection is reactive (detective) after the fact. Option C nightly polling is not real-time and a Lambda function cannot enforce that member accounts have logging enabled. Option D AWS Config conformance packs detect non-compliance (detective) but cannot prevent a member account from disabling CloudTrail between Config evaluations, and S3 Cross-Region Replication from member accounts can be deleted by member account admins.

  7. . A financial services company is building a real-time fraud detection system. The system must process 100,000 credit card transactions per second with end-to-end latency under 100ms from ingestion to fraud decision. Each transaction triggers a feature lookup (customer history, merchant profile) and a call to an ML inference endpoint. The architecture must be highly available across two AWS Regions with automatic failover. The solution must handle traffic spikes of up to 10x peak without pre-provisioning. The company's existing rule engine runs on Amazon EC2 and cannot meet the latency requirements at scale. The ML model is already trained and deployed. The company wants to eliminate as much server management as possible.

    • A. Use Amazon Kinesis Data Streams (with enhanced fan-out) to ingest transactions, AWS Lambda to process each transaction (feature lookup from Amazon DynamoDB global tables, ML inference via Amazon SageMaker real-time endpoint), and Amazon DynamoDB for fraud decision storage. Use Amazon Route 53 latency-based routing and AWS Lambda in two Regions for active-active failover(correct)
    • B. Use Amazon Kinesis Data Firehose to buffer transactions into Amazon S3, then trigger an AWS Glue job every minute to run batch fraud scoring, with results written to Amazon DynamoDB
    • C. Use an Amazon API Gateway REST API backed by an Amazon EC2 Auto Scaling group to process transactions synchronously, with Amazon ElastiCache for Redis for feature caching and an Amazon EC2-based ML inference server
    • D. Use Amazon MSK (Managed Streaming for Apache Kafka) to ingest transactions, Amazon EKS with Kubernetes-based microservices to process features and run ML inference, and Amazon Aurora Global Database for fraud decisions

    Explanation: This architecture is fully serverless and natively auto-scales. Amazon Kinesis Data Streams with enhanced fan-out delivers records to Lambda consumers with dedicated 2 MB/s throughput per consumer, minimising latency. AWS Lambda scales to handle 10x traffic spikes without pre-provisioning and has no servers to manage. Amazon DynamoDB global tables provide sub-millisecond feature lookups with multi-Region active-active replication for the required cross-Region HA. Amazon SageMaker real-time endpoints can be deployed in two Regions. Amazon Route 53 latency-based routing with health checks provides automatic failover. The end-to-end path (Kinesis → Lambda → DynamoDB + SageMaker → DynamoDB write) is achievable within 100ms for a well-tuned implementation. Option B uses batch processing every minute, which cannot meet the under-100ms real-time requirement. Option C EC2 Auto Scaling does not eliminate server management and cold starts during scale-out events may cause latency spikes. Option D Amazon EKS requires cluster management (nodes, control plane) and Amazon Aurora Global Database write latency is higher than DynamoDB for the feature lookup pattern.

  8. . A company wants to build a multi-tenant data sharing platform where data providers can publish datasets to a centralised catalogue and data consumers in other AWS accounts can subscribe to and query the datasets without copying the data into their own accounts. The platform must support fine-grained access control at the table and column level. Data must remain in the provider's Amazon S3 bucket and must never be physically copied to the consumer's account. The solution must scale to hundreds of providers and thousands of consumers. The company currently uses Amazon S3 cross-account bucket policies, which do not support column-level access control and are complex to manage at scale.

    • A. Use AWS Lake Formation data sharing to share AWS Glue Data Catalog databases and tables from provider accounts with consumer accounts, with column-level permissions enforced by Lake Formation. Consumers query shared tables using Amazon Athena in their own accounts without copying data(correct)
    • B. Use Amazon S3 Replication to copy data from provider S3 buckets to consumer S3 buckets in real time, and use AWS Lake Formation in each consumer account to enforce column-level permissions on the replicated data
    • C. Use AWS Data Exchange to package and publish provider datasets as data products. Consumers subscribe to the products, and AWS Data Exchange copies the data to the consumer's Amazon S3 bucket automatically
    • D. Deploy a centralised Amazon Redshift cluster in a shared account, load all provider data into separate schemas, and grant consumers schema-level SELECT permissions using Redshift's GRANT SQL statement

    Explanation: AWS Lake Formation cross-account data sharing allows provider accounts to share Data Catalog resources (databases, tables) with specific consumer accounts without moving any data. Lake Formation enforces column-level permissions — consumer queries through Amazon Athena see only the permitted columns, with all data reads going directly to the provider's S3 bucket. This is the only option that satisfies the no-data-copy requirement with column-level access control. Option B uses S3 Replication which physically copies data to consumer accounts, violating the no-copy requirement. Option C AWS Data Exchange is designed for commercial data marketplace publishing and always copies data to the consumer's S3 bucket, violating the requirement. Option D centralises all data in a single Redshift cluster (creating a data copy and a single point of failure/administration) and does not keep data in the provider's S3 bucket.

  9. . A company is re-architecting a monolithic e-commerce application into microservices. The application must handle 50,000 orders per day with peak bursts of 5,000 orders per hour during flash sales. Individual services include: Order Service, Inventory Service, Payment Service, and Notification Service. The architecture team requires: (1) each service can fail independently without affecting others, (2) payment processing must be exactly-once (no duplicate charges), (3) all events must be retained for 30 days for audit replay, and (4) the solution must require MINIMAL operational overhead. The team is choosing between an event-driven architecture using Amazon SQS and Amazon SNS fan-out versus Apache Kafka on Amazon MSK.

    • A. Use Amazon SNS to publish order events from the Order Service, with Amazon SQS standard queues subscribed per downstream service for fan-out. Use SQS FIFO queues between the Payment Service and the billing system for exactly-once payment processing. Store all events in Amazon S3 using Amazon Kinesis Data Firehose for 30-day retention and replay(correct)
    • B. Use Amazon MSK (Apache Kafka) with a single topic per event type, consumer groups per service, compacted topics for exactly-once semantics, and a 30-day retention period configured on the MSK cluster
    • C. Use Amazon EventBridge as the event bus, with rules routing order events to downstream services via AWS Lambda targets, SQS dead-letter queues for failure isolation, and an EventBridge Archive for 30-day replay
    • D. Use AWS Step Functions Express Workflows to orchestrate the entire order flow across all four services synchronously, ensuring exactly-once execution through the Step Functions idempotency token

    Explanation: This SNS + SQS fan-out pattern provides all required properties: (1) each SQS queue per service decouples failures — if Notification Service is down, its queue buffers events without affecting Payment Service; (2) SQS FIFO queues provide exactly-once message delivery using message deduplication IDs, preventing duplicate payment charges; (3) Kinesis Data Firehose delivers all events to Amazon S3 where they can be retained for 30 days and replayed through Athena queries or by reprocessing the S3 objects; (4) SNS, SQS, and Kinesis are fully managed services with zero operational overhead. Option B Amazon MSK requires cluster management (broker sizing, ZooKeeper/KRaft configuration, scaling), which is significant operational overhead. Option C Amazon EventBridge Archive supports replay but EventBridge does not natively support exactly-once delivery semantics for the payment exactly-once requirement. Option D Step Functions Express Workflows do not support exactly-once execution semantics (Standard Workflows do with idempotency tokens, but synchronous orchestration of four services eliminates the independence required by requirement (1)).

  10. . A media streaming company serves video content to 10 million users globally. The platform must deliver 4K video with sub-second start times, handle 50,000 concurrent streams during live sports events, and protect premium content from unauthorised sharing. The content library contains 2 PB of videos stored in Amazon S3. A CDN is already in use but the company wants to migrate to AWS-native services to reduce cost and improve integration with their AWS-based encoding pipeline. The company uses AWS Elemental MediaConvert for video encoding. Content protection requires DRM (Digital Rights Management). The CDN must serve content from the nearest edge location to minimise latency.

    • A. Use Amazon CloudFront as the CDN with Amazon S3 as the origin. Protect content using Amazon CloudFront signed URLs with a short expiration time and a CloudFront key group. Enable CloudFront Origin Access Control to prevent direct S3 access. Integrate AWS Elemental MediaPackage for DRM packaging using SPEKE-compliant DRM providers(correct)
    • B. Use AWS Global Accelerator to route streaming requests to the nearest AWS Region, serve video directly from Amazon S3 presigned URLs, and use client-side AES-128 encryption for content protection
    • C. Use Amazon CloudFront with Amazon EC2 origin servers in each Region that stream video from Amazon S3, and use NGINX-based token authentication for content protection
    • D. Use AWS Elemental MediaStore as the origin for live streams, Amazon CloudFront for distribution, and implement content protection using IAM resource-based policies on the MediaStore container

    Explanation: Amazon CloudFront has over 450 edge locations globally for minimal viewer latency and is deeply integrated with the AWS Elemental media stack. CloudFront signed URLs with short expiration prevent unauthorised URL sharing (link sharing protection). Origin Access Control prevents users from bypassing the CDN and accessing S3 directly. AWS Elemental MediaPackage with SPEKE (Secure Packager and Encoder Key Exchange) integration provides standards-based DRM packaging (Widevine, PlayReady, FairPlay) that is required for 4K premium content on major devices. Option B AWS Global Accelerator routes TCP/UDP traffic to AWS Regional endpoints; it is not a CDN and does not cache or serve video at the edge. S3 presigned URLs provide temporary access but do not prevent the URL from being shared before expiration. Option C EC2-based origin servers add significant operational overhead for a 2 PB content library. Option D AWS Elemental MediaStore is optimised for live video origination, not for a 2 PB VOD library stored in Amazon S3, and IAM resource-based policies do not provide user-level content protection.

  11. . A company is building a multi-Region active-active web application that must achieve an RTO of less than 1 minute and an RPO of less than 5 seconds. The application tier is stateless and runs on AWS Lambda. The data tier uses a relational database. The application serves millions of users who must be routed to the nearest healthy Region automatically. The company wants to MINIMISE the number of managed services and custom failover logic. The company has previously used Amazon RDS Multi-AZ, which provides single-Region HA but does not meet the multi-Region RPO requirement.

    • A. Use Amazon Aurora Global Database with a primary Region and a secondary Region. Configure Amazon Route 53 Application Recovery Controller (ARC) with readiness checks and routing controls for automatic failover. Use AWS Lambda in both Regions behind Amazon API Gateway. In a failure, ARC routing controls shift traffic to the secondary Region, and Aurora Global Database performs a managed failover with typical RPO of under 1 second(correct)
    • B. Use Amazon DynamoDB global tables for the data tier (with cross-Region active-active replication), AWS Lambda in both Regions, and Amazon Route 53 latency-based routing with health checks to route users to the nearest Region. Use DynamoDB transactions for strong consistency
    • C. Use Amazon RDS for PostgreSQL Multi-AZ in the primary Region with read replicas promoted manually in the secondary Region during failure, and Amazon Route 53 failover routing to redirect traffic to the secondary Region
    • D. Use Amazon Aurora Serverless v2 with a cross-Region replica and AWS Elastic Disaster Recovery (AWS DRS) to replicate the application layer, with Amazon Route 53 health checks for traffic failover

    Explanation: Amazon Aurora Global Database continuously replicates data to a secondary Region with typical replication lag under 1 second, meeting the RPO < 5 seconds requirement. Amazon Route 53 Application Recovery Controller provides automated, reliable traffic routing with readiness checks that verify the secondary Region is truly ready (database replication state, Lambda concurrency limits, etc.) before routing traffic — meeting the RTO < 1 minute requirement. Option B DynamoDB global tables provide excellent RPO (~1 second) for key-value/document workloads but DynamoDB does not support complex relational SQL queries, and the scenario implies a relational database requirement. Option C RDS cross-Region read replicas require manual promotion (RTO measured in minutes, not seconds) and are not true active-active. Option D AWS Elastic Disaster Recovery replicates application-layer servers (EC2), but the application is already Lambda-based (stateless), making DRS unnecessary; Aurora Serverless v2 cross-Region replicas require managed failover, similar to Aurora Global Database but with less Route 53 ARC integration.

  12. . A company wants to build a serverless REST API that must handle 1 million requests per day. Each request requires: authentication via JWT tokens, input validation, business logic that takes 500ms on average, and writes to an Amazon DynamoDB table. The business logic can run in parallel with no dependencies between requests. The company wants the MOST cost-effective architecture that also handles traffic spikes up to 5x the average without manual intervention. The company currently runs the API on a fleet of Amazon EC2 instances with an Application Load Balancer, paying for capacity 24/7 even though traffic is only high during business hours.

    • A. Use Amazon API Gateway (REST API) with a JWT authoriser backed by Amazon Cognito User Pools, integrated with AWS Lambda functions for business logic, and Amazon DynamoDB for storage. Enable API Gateway caching and Lambda provisioned concurrency for warm starts during peak hours
    • B. Migrate to an Amazon ECS Fargate cluster behind an Application Load Balancer with target tracking auto scaling on request count, using Amazon Cognito for JWT validation and Amazon DynamoDB for storage
    • C. Use Amazon API Gateway HTTP API (lower cost than REST API) with a JWT authoriser integrated with Amazon Cognito, AWS Lambda for business logic, and Amazon DynamoDB for storage. Use Lambda's built-in concurrency scaling to handle 5x spikes(correct)
    • D. Use AWS AppSync (GraphQL API) with a Lambda resolver and Amazon Cognito for authorisation, and Amazon DynamoDB as the data source with AppSync direct resolvers for simple operations

    Explanation: Amazon API Gateway HTTP API is significantly cheaper than REST API (up to 71% cost reduction) while supporting JWT authorisers natively, making it the MOST cost-effective API Gateway option. AWS Lambda scales automatically and nearly instantaneously to handle 5x spikes without manual intervention, and you pay only for the 500ms execution time of each invocation (not for idle capacity). Amazon DynamoDB scales on-demand with no pre-provisioning needed. Option A uses REST API instead of HTTP API, which is more expensive for this straightforward use case (REST API is needed for features like request transformation, caching, VPC links — none of which are mentioned as requirements). Option B Amazon ECS Fargate auto scaling is slower than Lambda (takes minutes to scale new tasks) and you pay for minimum running tasks during low-traffic hours. Option D AWS AppSync is purpose-built for GraphQL and real-time subscriptions — using it for a simple REST API adds unnecessary complexity and cost.

  13. . A telecommunications company is building an IoT platform for 10 million smart meters that report energy consumption every 15 minutes. Each reading is a 200-byte JSON message. The platform must: (1) ingest all readings reliably, (2) detect anomalies in real time (readings more than 3 standard deviations from the device's historical baseline), (3) store readings for 5 years for regulatory compliance at the LOWEST possible cost, and (4) allow utility analysts to run ad-hoc SQL queries against the last 90 days of data with response times under 30 seconds. The team has evaluated Amazon Kinesis Data Streams but is concerned about shard management at 10 million devices.

    • A. Use AWS IoT Core to ingest device messages, with IoT Rules routing messages to Amazon Kinesis Data Firehose (for S3 delivery) and to Amazon Kinesis Data Analytics for Apache Flink for anomaly detection. Store data in Amazon S3 with S3 Intelligent-Tiering for 5-year retention. Use Amazon Athena on the last 90 days' S3 partition for analyst queries(correct)
    • B. Use AWS IoT Core with IoT Rules routing to Amazon Kinesis Data Streams (auto scaling enabled), an AWS Lambda consumer for anomaly detection, Amazon Timestream for 90-day hot storage, and Amazon S3 Glacier for cold storage beyond 90 days
    • C. Use Amazon API Gateway as an HTTP endpoint for device readings, Amazon SQS for buffering, AWS Lambda for anomaly detection, Amazon RDS for PostgreSQL for 90-day analytics, and Amazon S3 Glacier Deep Archive for 5-year archival
    • D. Use AWS IoT Greengrass on each meter for local anomaly detection, AWS IoT Core for ingestion, Amazon DynamoDB Time to Live (TTL) for 90-day hot storage, and Amazon S3 with S3 Glacier Instant Retrieval for long-term storage

    Explanation: AWS IoT Core is purpose-built for massive IoT device ingestion with built-in MQTT support, device management, and Rules Engine — eliminating shard management concerns entirely. IoT Rules fan-out to both Kinesis Data Firehose (reliable S3 delivery for storage) and Kinesis Data Analytics for Apache Flink (real-time stream processing for anomaly detection using standard deviation functions over per-device windows). Amazon S3 with S3 Intelligent-Tiering automatically moves data to lower-cost tiers over 5 years, meeting the compliance retention requirement at the lowest cost. Amazon Athena queries S3 partitioned data by date, with columnar Parquet format easily achieving sub-30-second queries on 90 days of partitioned data. Option B Amazon Timestream provides excellent time-series query performance but is significantly more expensive than S3+Athena for 5-year retention; also Kinesis Data Streams at 10M devices generating readings every 15 min = ~11,000 msg/sec requires only ~11 shards, which is manageable. Option C Amazon API Gateway is not appropriate for MQTT-based IoT device communication, and RDS cannot scale cost-effectively for 10M devices × 5 years. Option D edge-based anomaly detection on meters adds firmware complexity and is not what the platform team controls; DynamoDB TTL for 90 days at 10M devices is expensive relative to S3+Athena.

  14. . A large enterprise is migrating 500 on-premises virtual machines (VMs) to AWS over 12 months. The VMs run a mixture of Windows Server 2019 (150 VMs), Red Hat Enterprise Linux 8 (200 VMs), and Ubuntu 20.04 (150 VMs). The migration must minimise downtime — critical production workloads must have a cutover window under 1 hour. The company has a 10 Gbps AWS Direct Connect connection. The company's data centre is being decommissioned at the end of the 12 months, so all VMs must be migrated by then. The migration team wants to minimise the need for manual VM reconfiguration after migration. The company has no prior AWS migration experience.

    • A. Use AWS Application Migration Service (AWS MGN) to continuously replicate all 500 VMs to AWS over the Direct Connect connection. Perform non-disruptive test launches in AWS before the cutover window. During the 1-hour cutover window, perform a final sync and launch the production instances. AWS MGN automatically converts VMware/Hyper-V VM formats to AWS instance types(correct)
    • B. Use AWS Server Migration Service (AWS SMS) to replicate VM snapshots to AWS incrementally, then import using VM Import/Export. Schedule cutover windows per VM group
    • C. Use AWS Database Migration Service (AWS DMS) to replicate the application databases, then manually reinstall the application software on new Amazon EC2 instances using AWS Systems Manager Run Command
    • D. Use Amazon EC2 Image Builder to create AMIs from on-premises VM templates, deploy AMIs to EC2 instances, then restore application data from backup files stored in Amazon S3

    Explanation: AWS Application Migration Service (AWS MGN) is the recommended primary migration service for lift-and-shift of servers. It installs a lightweight agent on each source VM and performs continuous block-level replication to AWS, keeping the target server continuously synchronised. This allows test launches at any time without disrupting production, and the final cutover syncs only the delta changes from the last sync — typically achievable in under 1 hour. MGN supports Windows Server, RHEL, and Ubuntu. The 10 Gbps Direct Connect connection provides ample bandwidth for 500 VMs. Option B AWS Server Migration Service (SMS) is the previous generation migration tool that AWS recommends replacing with MGN; it replicates snapshots (not continuous block-level) resulting in longer cutover windows. Option C AWS DMS is for database migration, not for whole-server/application lift-and-shift. Option D EC2 Image Builder creates images from templates and does not migrate live server state, data, or installed applications from on-premises VMs.

  15. . A company is migrating a self-managed Apache Cassandra cluster (20 nodes, 10 TB of data) from on-premises to AWS. The Cassandra cluster serves as the primary datastore for a mobile application handling 50,000 writes per second. The migration must achieve near-zero data loss and allow the mobile application to cut over to the AWS database within a 2-hour weekend maintenance window. The company wants to reduce operational overhead post-migration. The company is open to changing database technology if the replacement service is compatible with Cassandra's CQL interface.

    • A. Deploy Amazon Keyspaces (for Apache Cassandra) as the target. Use the AWS Keyspaces data migrator (an open-source Spark-based tool) to bulk-load the historical data from Amazon S3. Set up dual-write in the application to write to both Cassandra and Keyspaces during the migration period, then cutover by redirecting reads to Keyspaces(correct)
    • B. Deploy a 20-node Amazon EC2 cluster running Apache Cassandra in AWS. Use Cassandra's built-in sstableloader tool to migrate data node-by-node over the Direct Connect connection during the maintenance window
    • C. Use AWS Database Migration Service (AWS DMS) with a Cassandra source endpoint to replicate data from the on-premises cluster to Amazon DynamoDB, then update the application to use DynamoDB APIs
    • D. Snapshot the on-premises Cassandra cluster, upload snapshots to Amazon S3, restore to a new Cassandra cluster on Amazon EC2, and use Cassandra's multi-Region replication to sync from the new EC2 cluster during the maintenance window

    Explanation: Amazon Keyspaces is a fully managed, serverless Cassandra-compatible database that eliminates all operational overhead of managing Cassandra nodes. It supports CQL, so the application requires minimal code changes. The dual-write pattern (writing to both Cassandra and Keyspaces during migration) ensures near-zero data loss because all new writes are captured in Keyspaces in real time. The bulk historical data load via the Keyspaces data migrator (Spark-based) can be completed before the maintenance window. Cutover is switching reads to Keyspaces during the 2-hour window. Option B self-managed Cassandra on EC2 eliminates the operational overhead reduction goal. Option C AWS DMS does support Cassandra as a source but the target (DynamoDB) uses a completely different API than CQL, requiring significant application changes; also DynamoDB is not CQL-compatible. Option D Cassandra snapshot restore to EC2 is the same as Option B and does not reduce operational overhead; cross-cluster sync via Cassandra's native replication is complex to set up between on-premises and AWS within a 2-hour window.

  16. . A company is migrating a monolithic .NET application from on-premises to AWS. The application has three tiers: a web front end, a business logic layer, and a Microsoft SQL Server database. The migration team has three options and must evaluate them for business risk and time-to-value. The company has a strict 6-month deadline due to a data centre lease expiring. Re-architecting the application as microservices is the long-term goal but is estimated to take 18 months. The team must choose an interim migration strategy that meets the 6-month deadline and keeps the re-architecture option open.

    • A. Re-platform: migrate the .NET application to AWS Elastic Beanstalk and migrate SQL Server to Amazon RDS for SQL Server. Elastic Beanstalk handles the web and business logic tiers with managed patching, and Amazon RDS eliminates database administration. The application code is unchanged but benefits from managed infrastructure
    • B. Rehost (lift-and-shift): use AWS Application Migration Service to migrate all three tiers to Amazon EC2 instances running .NET on Windows Server and SQL Server on a dedicated EC2 instance. This is the fastest migration path(correct)
    • C. Retire the application, rebuild it as microservices on Amazon ECS with Amazon Aurora Serverless v2, and launch the new version within 6 months with a reduced feature set
    • D. Retain the application on-premises and extend the data centre lease while the re-architecture is completed over 18 months

    Explanation: When a hard 6-month deadline exists and re-architecting takes 18 months, the rehost (lift-and-shift) strategy using AWS MGN is the correct interim approach. It has the fastest time-to-value (typically weeks, not months), requires no application code changes, meets the deadline, and keeps the re-architecture option fully open on AWS after migration. Option A re-platforming to Elastic Beanstalk and RDS also meets the deadline and provides some managed-infrastructure benefits, but it requires application changes to fit Beanstalk's deployment model and database connection changes for RDS — adding risk and time compared to pure lift-and-shift. It would be a reasonable secondary choice, but rehosting is explicitly faster. Option C rebuilding as microservices in 6 months is unrealistic when the estimate is 18 months and risks delivering an incomplete product. Option D retaining on-premises and extending the lease violates the data centre decommissioning constraint.

  17. . A company needs to transfer 2 PB of archival data from on-premises tape storage to Amazon S3 Glacier Deep Archive. The data centre has a 1 Gbps internet connection that is shared with production workloads. The transfer must complete within 45 days. The company has a single AWS Direct Connect connection at 10 Gbps, but it is fully utilised by production traffic during business hours (8am–6pm). How should a solutions architect plan this data transfer?

    • A. Order multiple AWS Snowball Edge Storage Optimised devices to physically transport the data to AWS. Each device holds 80 TB. For 2 PB, approximately 26 devices are needed. Data can be loaded in parallel across multiple devices and shipped to AWS for ingest into Amazon S3, which then transitions to Glacier Deep Archive via a lifecycle policy(correct)
    • B. Use the 1 Gbps internet connection to transfer data using AWS DataSync over TLS during off-peak hours only (6pm–8am), and complete the transfer within the 45-day window
    • C. Use the AWS Direct Connect connection during off-peak hours (6pm–8am) with AWS DataSync to transfer 2 PB of data within 45 days
    • D. Use Amazon S3 Transfer Acceleration over the internet connection to increase throughput and complete the 2 PB transfer within 45 days

    Explanation: Feasibility analysis: 2 PB = 2,097,152 GB. At 1 Gbps (125 MB/s) internet connection, 2 PB would take 2,097,152 / 125 / 86,400 = ~194 days — far exceeding 45 days. Even using the 10 Gbps Direct Connect during 14 off-peak hours/day (1.25 GB/s × 14h × 45d = ~2.4 PB) is theoretically sufficient but assumes 100% utilisation of a production-critical Direct Connect link during all off-peak hours with no headroom. AWS Snowball Edge devices at 80 TB each require ~26 devices. Loading can be parallelised across devices (days to weeks), and shipping + ingest at AWS takes approximately 1–2 weeks per batch. Multiple shipment cycles within 45 days are achievable. This is the recommended AWS solution for multi-petabyte offline data migration within tight time windows. Option B at 1 Gbps off-peak only (14h/day): 0.125 GB/s × 50,400s/day × 45 days = 283 TB — far short of 2 PB. Option C at 10 Gbps off-peak (14h/day) is theoretically possible but risks production Direct Connect impact. Option D Transfer Acceleration uses the same 1 Gbps internet connection; it improves geographic routing but does not increase the available bandwidth beyond 1 Gbps.

  18. . A company runs 200 Amazon EC2 instances in production, all of which run 24/7. The workloads are predictable with consistent CPU utilisation between 40% and 60% throughout the day. The company has been using On-Demand instances and wants to SIGNIFICANTLY reduce its EC2 bill without changing the applications or instance types. The company's finance team can commit to 1-year or 3-year payment terms. The company also runs 20 Amazon EC2 instances for batch processing jobs that run sporadically and can tolerate interruption.

    • A. Purchase 1-year Convertible Reserved Instances (RIs) for the 200 production instances to maintain flexibility to change instance types, and use Amazon EC2 Spot Instances for the 20 batch processing instances
    • B. Purchase 1-year Standard Reserved Instances for the 200 production instances for the maximum savings, and switch the 20 batch instances to On-Demand with auto scaling
    • C. Purchase 3-year Compute Savings Plans for the 200 production instances for maximum flexibility across instance types, families, and Regions, and use Amazon EC2 Spot Instances for the 20 batch processing instances(correct)
    • D. Use On-Demand Capacity Reservations for all 200 production instances to guarantee capacity, and use Amazon EC2 Spot Instances for the 20 batch processing instances

    Explanation: Compute Savings Plans provide up to 66% discount versus On-Demand for any EC2 instance type, family, size, OS, Region, or tenancy — the highest flexibility of all commitment options. A 3-year term provides the maximum savings rate. For 200 instances running 24/7 with predictable utilisation, a 3-year commitment is financially sound. Amazon EC2 Spot Instances provide up to 90% discount for interruption-tolerant batch workloads. Together these two options maximise savings across all 220 instances. Option A Convertible RIs provide about 54% savings versus On-Demand (less than Compute Savings Plans) with less flexibility (limited to same Region and instance family with conversion rights). Spot for batch is correct. Option B Standard RIs provide about 72% savings but are the least flexible (locked to a specific instance type, size, OS, and Region) — the question mentions no restriction on flexibility, but Compute Savings Plans provide nearly equal savings with far greater flexibility. Option D On-Demand Capacity Reservations do not provide any discount — they simply reserve capacity at On-Demand price.

  19. . A company runs a data analytics platform on AWS that processes data from 50 different business units. Each business unit has its own AWS account under AWS Organizations. The CFO wants to understand how much each business unit is spending on AWS and allocate costs accurately. The platform uses shared services (Amazon VPC Transit Gateway, AWS Glue Data Catalog, Amazon S3 data lake) that benefit all business units but are deployed in a central platform account. How should a solutions architect implement cost allocation MOST accurately for the shared services?

    • A. Use AWS Cost Explorer with the 'Linked Account' dimension to break down costs per business unit account. For shared services in the platform account, apply AWS Cost Allocation Tags per resource (e.g., BU=finance, BU=marketing) and enable the tag in the Billing console for cost allocation reports
    • B. Enable AWS Cost Allocation Tags on all resources in all accounts and use AWS Cost and Usage Report (CUR) exported to Amazon S3, queried with Amazon Athena, to build per-business-unit cost dashboards. For shared platform resources, use tag-based chargeback rules in the CUR to distribute shared costs proportionally based on consumption metrics (e.g., bytes processed per BU)(correct)
    • C. Use AWS Budgets with per-account budget alerts to notify business unit owners when their account spending exceeds a threshold
    • D. Use AWS Trusted Advisor cost optimisation recommendations in the management account to identify underutilised resources across all business unit accounts

    Explanation: AWS Cost and Usage Report (CUR) provides the most granular billing data in AWS, including resource-level costs, usage types, and all tag dimensions. Exporting to Amazon S3 and querying with Amazon Athena allows custom SQL-based cost analysis and allocation models. For shared platform services that cannot be cleanly tagged to a single BU (e.g., Transit Gateway data processing, Glue Data Catalog API calls), consumption-based allocation — distributing shared costs proportionally by bytes processed or API calls per BU — is the most accurate chargeback method and is a common FinOps pattern. Option A Cost Explorer tags work for resources exclusively owned by one BU but shared platform resources cannot be tagged to multiple BUs simultaneously, and Cost Explorer lacks the custom SQL logic needed for proportional distribution. Option C AWS Budgets sends spending alerts but does not allocate or attribute costs to business units. Option D Trusted Advisor identifies optimisation opportunities but does not provide cost attribution or chargeback.

  20. . A company stores 5 PB of data in Amazon S3 Standard across multiple AWS accounts. A cost analysis shows that 80% of the data has not been accessed in over 90 days. The data access pattern is unknown for most objects — some data may be occasionally accessed, while other data may never be accessed again. The company wants to MINIMISE storage costs with MINIMAL operational overhead and without deleting any data. Which solution BEST meets these requirements?

    • A. Implement S3 Lifecycle policies to transition all objects to S3 Glacier Deep Archive after 90 days of no access
    • B. Enable S3 Intelligent-Tiering on the existing S3 buckets. Objects will automatically move between Frequent Access, Infrequent Access, and Archive tiers based on actual access patterns with no retrieval fees for accessed objects(correct)
    • C. Enable S3 Storage Lens to identify infrequently accessed prefixes, then write a custom AWS Lambda function to move objects to S3 Standard-IA after 90 days of no access
    • D. Use Amazon S3 Batch Operations to copy all objects to S3 One Zone-IA, then delete the originals from S3 Standard to reduce costs

    Explanation: S3 Intelligent-Tiering is purpose-built for data with unknown or unpredictable access patterns. It monitors access patterns per object and automatically moves objects between Frequent Access (same price as S3 Standard), Infrequent Access (40% cheaper), and optional Archive tiers (up to 95% cheaper), with no retrieval fees or performance impact for objects returned to Frequent Access. No lifecycle rules to write, no Lambda to maintain — minimal operational overhead. At 5 PB with 80% infrequently accessed, the expected savings are substantial. Option A S3 Glacier Deep Archive has 12-hour retrieval times and retrieval fees, which is inappropriate for data with uncertain access patterns. Option C requires building and maintaining custom Lambda automation on top of S3 Storage Lens analysis. Option D S3 One Zone-IA stores data in only one Availability Zone, reducing resilience; it also requires a Batch Operations migration job and deletion of originals, which is a one-time operation that doesn't handle future objects.

  21. . A company runs an Amazon RDS for MySQL database (db.r5.4xlarge) that serves a web application. Over the past 3 months, the database has experienced increasing read latency (P99 > 2 seconds) during peak hours. Amazon CloudWatch shows CPU at 85%, ReadIOPS at the provisioned IOPS limit, and DatabaseConnections at 900 (max is 1,000). The application uses a connection pool of 50 connections per EC2 instance, and there are currently 18 EC2 instances. Adding a read replica has already been done but has not resolved the problem. The development team has identified that 60% of all database queries are simple key-value lookups that return the same result for 5 minutes.

    • A. Upgrade the Amazon RDS instance to a db.r5.8xlarge to double the CPU and memory, and increase the Provisioned IOPS from 3,000 to 6,000 IOPS to resolve the ReadIOPS bottleneck
    • B. Implement Amazon ElastiCache for Redis (cluster mode disabled) in front of the Amazon RDS database to cache the 60% of key-value query results for 5 minutes. Use RDS Proxy to pool and multiplex database connections, reducing the active database connections from 900 to a manageable level(correct)
    • C. Enable Amazon RDS Performance Insights to identify the top SQL queries and add database indexes to the slowest queries, then increase the max_connections parameter in the RDS parameter group
    • D. Migrate the Amazon RDS for MySQL database to Amazon Aurora MySQL-Compatible Edition, which provides a faster storage subsystem and up to 15 read replicas

    Explanation: The scenario has two distinct bottlenecks that require two separate solutions. (1) 60% of queries are cacheable key-value lookups — adding Amazon ElastiCache for Redis as a read-through cache with a 5-minute TTL offloads 60% of read traffic from the database, directly reducing CPU, IOPS, and read latency. (2) 900/1,000 connections at peak means the database is near the connection limit; AWS RDS Proxy multiplexes connections from the 18 × 50 = 900 application connections down to a smaller pool of pinned database connections, providing immediate headroom. Together these address all three CloudWatch bottleneck signals. Option A upgrading the instance doubles cost and provides temporary headroom but does not address the architectural issues (cacheable queries hitting the database, connection exhaustion). Option C Performance Insights is useful for analysis but adding indexes cannot reduce latency when the bottleneck is IOPS and CPU from serving 60% unnecessary repeated queries. Option D migrating to Aurora MySQL is a valid long-term improvement but a migration introduces risk and takes weeks; it also does not solve the connection exhaustion problem.

  22. . A company runs a web application on an Auto Scaling group of Amazon EC2 instances behind an Application Load Balancer (ALB). The application is deployed in a single AWS Region. During a recent incident, an AWS Region experienced intermittent issues that caused 40% packet loss on the ALB. The company's SLA requires 99.99% availability. The team wants to add multi-Region resilience without significantly increasing operational complexity. The company's application is stateless. Sessions are stored in Amazon ElastiCache for Redis. The database is Amazon Aurora with a global cluster already configured with a secondary Region. DNS is managed in Amazon Route 53.

    • A. Deploy a second Auto Scaling group and ALB in the secondary Region. Configure Amazon Route 53 with a failover routing policy: primary record points to the primary Region ALB, and a secondary record points to the secondary Region ALB with a health check on the primary. Promote the Aurora Global Database secondary to primary during failover using a scripted runbook
    • B. Add Amazon CloudFront in front of the ALB with an origin failover configuration using two origins (primary and secondary Region ALBs). Configure CloudFront to automatically retry failed requests on the secondary origin. Use Route 53 latency-based routing to direct users to CloudFront edge locations
    • C. Use AWS Global Accelerator with two endpoints (primary and secondary Region ALBs) and configure endpoint group traffic dials to shift 100% of traffic to the secondary Region within 30 seconds of a primary Region health check failure. Promote the Aurora Global Database secondary during failover
    • D. Enable Amazon Route 53 Application Recovery Controller (ARC) with readiness checks for compute capacity, database replication lag, and ElastiCache availability in both Regions. Configure ARC routing controls to enable traffic to the secondary Region only after all readiness checks pass. Integrate ARC with CloudWatch alarms for automated failover(correct)

    Explanation: Route 53 Application Recovery Controller (ARC) is designed specifically for this use case: multi-Region failover where the secondary Region must be verified as truly ready before traffic is shifted. Readiness checks validate Aurora replication lag (ensuring the secondary database is current), EC2 Auto Scaling capacity (ensuring instances are running), and ElastiCache availability in the secondary Region — preventing a failover to a Region that is not actually ready, which would worsen availability. Routing controls enable precise, auditable traffic shifting. Option A standard Route 53 failover health checks validate only the primary ALB endpoint health, not whether the secondary Region's database and cache are ready to serve traffic, risking a failed failover. Option B CloudFront origin failover automatically retries on the secondary origin but only for cacheable content — it does not handle stateful application failover, Aurora promotion, or verify database readiness. Option C AWS Global Accelerator detects endpoint health in seconds and shifts traffic rapidly (30 seconds), which is excellent for performance-based routing but Global Accelerator health checks also do not validate database replication readiness before failover.

  23. . A company's operations team manages 500 Amazon EC2 instances across 10 AWS accounts. They spend significant time manually patching operating systems, which currently requires SSH access to each instance. The security team requires that all instances must have no direct inbound internet access (no security group rules allowing port 22 or 3389 from the internet) and that all patching must be logged and auditable. The team wants to automate patching and eliminate SSH/RDP access. The instances run a mix of Windows Server 2019 and Amazon Linux 2.

    • A. Use AWS Systems Manager Patch Manager to define patch baselines, create maintenance windows, and run the AWS-RunPatchBaseline document on all 500 instances. Use AWS Systems Manager Session Manager for any required interactive access, eliminating the need for open SSH/RDP ports. Deploy SSM Agent on all instances and grant the required IAM role (AmazonSSMManagedInstanceCore)(correct)
    • B. Create AWS Lambda functions in each account that use the EC2 Systems Manager RunCommand API to run patching scripts on each instance on a schedule, with results logged to Amazon CloudWatch Logs
    • C. Use Amazon Inspector to automatically detect missing patches on all instances and generate findings. Configure Amazon EventBridge rules to trigger AWS Systems Manager Run Command to apply patches when Inspector findings are detected
    • D. Use AWS OpsWorks for Configuration Management with a Chef recipe that applies OS patches during each deployment, triggered by AWS CodePipeline on a weekly schedule

    Explanation: AWS Systems Manager Patch Manager is purpose-built for automated OS patching across multiple instances and accounts. Patch baselines define which patches to apply (severity, classification), maintenance windows schedule patching during approved hours, and AWS-RunPatchBaseline documents apply and report compliance. SSM Session Manager provides browser-based or CLI-based shell access to instances without open inbound ports, satisfying the no-SSH requirement. All SSM actions are logged to AWS CloudTrail and optionally to Amazon S3/CloudWatch Logs for auditability. The AmazonSSMManagedInstanceCore IAM role is the only configuration needed per instance. Option B Lambda calling SSM Run Command works but adds unnecessary custom code complexity when Patch Manager already provides all required scheduling, compliance reporting, and rollback features natively. Option C Amazon Inspector is a vulnerability scanning tool that identifies missing patches but requires human review of findings; using it as an automated patching trigger is not a supported pattern. Option D AWS OpsWorks/Chef is a configuration management platform that adds significant operational complexity for patching compared to native SSM.

  24. . A company's e-commerce website experiences significant performance degradation when its Amazon DynamoDB tables are accessed during peak sales events. DynamoDB is configured with provisioned capacity. During a recent flash sale, the application logged ProvisionedThroughputExceededException errors for 15% of write requests during a 30-minute burst. The company wants to handle burst writes without errors and without significantly increasing baseline provisioned capacity costs. The writes are idempotent. The operations team wants to implement a solution that works automatically without manual intervention during future events.

    • A. Switch the DynamoDB tables to On-Demand capacity mode, which automatically scales to handle any traffic level with no provisioned capacity required
    • B. Use an Amazon SQS standard queue in front of DynamoDB to buffer write requests. An AWS Lambda function polls the SQS queue and writes to DynamoDB at a controlled rate matching the provisioned throughput. Configure Lambda concurrency and SQS visibility timeout to handle the burst window(correct)
    • C. Enable DynamoDB Auto Scaling on the tables with a target utilisation of 70% and a maximum provisioned throughput set to handle 10x the normal load
    • D. Increase the DynamoDB provisioned write capacity units (WCUs) permanently to handle the maximum expected burst load from any flash sale

    Explanation: An SQS queue acts as an elastic buffer that absorbs burst writes without any errors — the application writes to SQS (which has virtually unlimited throughput) immediately and receives a success response. The Lambda consumer reads from the queue at a controlled rate matching the DynamoDB provisioned throughput, naturally smoothing the burst over the 30-minute window. Since writes are idempotent, any SQS message reprocessed due to Lambda retries does not cause data duplication. This pattern is known as the SQS write buffer pattern for DynamoDB. Option A switching to On-Demand capacity eliminates errors but can be significantly more expensive than provisioned capacity for sustained high-throughput workloads — the question asks not to significantly increase baseline costs. Option C DynamoDB Auto Scaling reacts to sustained elevated traffic over a period of minutes; it cannot scale fast enough to prevent throttling during a 30-minute burst that starts suddenly. Option D permanently increasing WCUs for worst-case burst capacity means paying for maximum capacity 24/7, which significantly increases baseline costs.

  25. . A company has a microservices application running on Amazon ECS with AWS Fargate. Each microservice is deployed as an ECS service and communicates with other services over HTTP within the same VPC using internal DNS (Amazon Route 53 Service Discovery). The operations team is struggling to trace errors that span multiple services — when a user reports a 500 error, the team cannot easily identify which microservice caused it or measure latency per service hop. The team wants to implement distributed tracing with MINIMAL code changes and without deploying additional servers.

    • A. Enable Amazon CloudWatch Container Insights on the ECS cluster to capture per-container CPU and memory metrics, and create CloudWatch dashboards showing error counts per ECS service
    • B. Add the AWS X-Ray daemon as a sidecar container in each ECS task definition. Instrument the application code with the AWS X-Ray SDK to capture trace segments. X-Ray automatically correlates trace data across service boundaries using the X-Ray trace header, enabling end-to-end distributed trace visualisation in the X-Ray Service Map(correct)
    • C. Deploy Amazon OpenSearch Service and configure each ECS service to send structured JSON logs with correlation IDs to OpenSearch using Fluent Bit, then build Kibana dashboards to trace requests across services
    • D. Enable AWS CloudTrail for all ECS API calls and use CloudTrail Lake to query for error events and correlate them by task ID across services

    Explanation: AWS X-Ray provides distributed tracing specifically for microservices architectures. The X-Ray daemon runs as a sidecar container in each ECS Fargate task (no separate servers required), collecting trace data via UDP. The X-Ray SDK instruments the application to emit segments, and the X-Ray trace header (X-Amzn-Trace-Id) is propagated across HTTP calls between services, automatically correlating segments into a single trace. The X-Ray Service Map visualises all service dependencies and latency per hop. The code change is adding the X-Ray SDK (typically a few lines per service), which is minimal. Option A CloudWatch Container Insights provides infrastructure metrics (CPU, memory, error counts) but not request-level distributed traces showing the path of a specific failed request through multiple services. Option C structured logging with correlation IDs is a valid approach but requires each service to correctly implement and propagate correlation IDs (custom code change), plus deploying and managing Amazon OpenSearch Service. Option D CloudTrail logs ECS control plane API calls (CreateTask, StartTask) not application-level HTTP request traces.