AWS Certified Solutions Architect Professional Practice Test (SAP-C02)
Use the form below to configure your AWS Certified Solutions Architect Professional Practice Test (SAP-C02). The practice test can be configured to only include certain exam objectives and domains. You can choose between 5-100 questions and set a time limit.

AWS Certified Solutions Architect Professional SAP-C02 Information
The AWS Certified Solutions Architect – Professional (SAP-C02) exam is a test for people who want to show advanced skills in cloud design using Amazon Web Services. It proves that you can handle large, complex systems and design solutions that are secure, reliable, and meet business needs. Passing this exam shows a higher level of knowledge than the associate-level test and is often needed for senior cloud roles.
This exam includes multiple-choice and multiple-response questions. It covers areas like designing for high availability, choosing the right storage and compute services, planning for cost, and managing security at scale. You will also need to understand how to migrate big applications to the cloud, design hybrid systems, and use automation tools to keep environments efficient and safe.
AWS suggests having at least two years of real-world experience before taking this test. The SAP-C02 exam takes 180 minutes, includes about 75 questions, and requires a scaled score of 750 out of 1000 to pass. Preparing usually means lots of practice with AWS services, using study guides, and trying practice exams. For many professionals, this certification is an important milestone toward becoming a cloud architect or senior cloud engineer.

Free AWS Certified Solutions Architect Professional SAP-C02 Practice Test
- 20 Questions
- Unlimited
- Design Solutions for Organizational ComplexityDesign for New SolutionsContinuous Improvement for Existing SolutionsAccelerate Workload Migration and Modernization
A global corporation is adopting a multi-VPC architecture on AWS, with numerous VPCs spread across several AWS Regions. They also maintain a significant on-premises data center connected to AWS via AWS Direct Connect. The key requirements are to enable seamless, transitive communication between all VPCs (inter-VPC) and between the on-premises network and all VPCs. The solution must be highly scalable, centrally managed, and minimize operational overhead. A solutions architect needs to design the optimal network topology. Which approach best meets these requirements?
Use an AWS Direct Connect Gateway and associate it with a Virtual Private Gateway (VGW) in each VPC. This will provide connectivity from on-premises to all VPCs and enable inter-VPC communication through the Direct Connect Gateway.
Create a full mesh of VPC peering connections between all VPCs. Establish a separate AWS Direct Connect private virtual interface (VIF) from the on-premises network to each individual VPC.
Designate one VPC as a 'transit hub'. Use VPC peering to connect all other 'spoke' VPCs to this hub VPC. Establish a Direct Connect connection to the hub VPC and configure routing instances within it to forward traffic.
Deploy an AWS Transit Gateway in each region. Peer the Transit Gateways across regions and create attachments for each VPC. Connect the on-premises data center to a Transit Gateway via a Direct Connect Gateway attachment.
Answer Description
The correct answer is to use AWS Transit Gateway. AWS Transit Gateway acts as a cloud router and is specifically designed to simplify network connectivity at scale. By creating a Transit Gateway in each region, attaching all the VPCs in that region, and then peering the Transit Gateways, you create a global network that allows for transitive routing. This means a resource in any connected network (VPC or on-premises) can communicate with a resource in any other connected network through the Transit Gateway hub-and-spoke model. Connecting the on-premises network via a Direct Connect Gateway to a Transit Gateway integrates the hybrid connectivity seamlessly into this architecture. This solution is scalable to thousands of VPCs, centralizes network management, and reduces the operational overhead of managing complex peering relationships.
Creating a full mesh of VPC peering connections is incorrect because it is not scalable. The number of peering connections grows quadratically with the number of VPCs, leading to significant management complexity and being limited to 125 peers per VPC. This approach is not centrally managed.
Using a designated 'transit hub' VPC with routing instances is an outdated pattern known as a 'Transit VPC'. While it can provide transitive routing, it relies on self-managed EC2 instances, which introduces bottlenecks, single points of failure, and high operational overhead for maintenance and scaling compared to the fully managed Transit Gateway service.
Using a Direct Connect Gateway associated with a Virtual Private Gateway (VGW) in each VPC is incorrect. Although a Direct Connect Gateway connects an on-premises site to multiple VPCs, it does not support transitive routing between those VPCs. Traffic cannot flow from one VPC to another through the Direct Connect Gateway, failing a key requirement.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is AWS Transit Gateway and how does it simplify network connectivity?
What is the difference between a Direct Connect Gateway and a Transit Gateway?
Why is a full mesh of VPC peering connections not scalable?
A company operates its production workload in the us-east-1 Region. The stack consists of an Auto Scaling group of Amazon EC2 instances behind an Application Load Balancer and an Amazon RDS for MySQL DB instance that is already configured for Multi-AZ high availability.
Management has mandated a cross-Region disaster-recovery (DR) strategy so the workload can continue running from the us-west-2 Region if a full regional outage occurs. Business continuity requirements are:
- Recovery point objective (RPO) must be no greater than 5 minutes.
- Recovery time objective (RTO) must be no greater than 15 minutes.
- Ongoing infrastructure cost in the DR Region must be kept to a minimum.
- Wherever possible, managed AWS services should be used to reduce operational overhead.
Which approach meets these requirements MOST cost-effectively?
Deploy a pilot-light environment in us-west-2 with an identical Auto Scaling group set to a desired capacity of 1 and a Multi-AZ RDS instance. Use AWS Database Migration Service for ongoing replication. Place both Application Load Balancers behind Route 53 latency-based routing to direct users automatically.
Configure AWS Backup to copy daily Amazon EBS and RDS snapshots to us-west-2. Store a CloudFormation template for the entire stack in an S3 bucket in us-west-2. During an outage, deploy the template, restore the latest snapshots, and update Route 53 to point to the new Application Load Balancer.
Use CloudEndure Migration to replicate EC2 instances and their EBS volumes to us-west-2. Schedule an AWS Lambda function to take encrypted RDS snapshots every 5 minutes and copy them to us-west-2. Configure Route 53 geolocation routing to send traffic to us-west-2 if health checks fail.
Use AWS Elastic Disaster Recovery (AWS DRS) to continuously replicate the EC2 instances to a staging area in us-west-2. Create a cross-Region read replica of the RDS DB instance in us-west-2. During a failover, launch recovery EC2 instances from DRS, promote the RDS read replica, and update an Amazon Route 53 failover record to direct traffic to the Application Load Balancer in us-west-2.
Answer Description
AWS Elastic Disaster Recovery (AWS DRS) meets the sub-5-minute RPO requirement through continuous, block-level replication of the EC2 instances to a low-cost staging area. For the database, an Amazon RDS cross-Region read replica's asynchronous replication lag is typically within seconds or a few minutes, satisfying the RPO. During a disaster, recovery instances can be launched from DRS and the read replica can be promoted to a standalone, writable instance in minutes. An Amazon Route 53 failover record set can then be updated to redirect traffic. This entire process meets the 15-minute RTO requirement. This solution is the most cost-effective as it avoids running idle compute capacity and uses a low-cost staging area and a single read replica during normal operations.
A backup-and-restore strategy involving daily snapshots has an RPO of up to 24 hours and an RTO of potentially several hours, failing to meet the requirements. A pilot-light or warm-standby approach with a running Multi-AZ RDS instance in the DR region would be significantly more expensive and is not the most cost-effective option. Using CloudEndure Migration is not ideal as the service is being phased out in favor of AWS DRS, and relying on snapshot copies for the database cannot meet both the RPO and RTO.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is AWS Elastic Disaster Recovery (AWS DRS) and how does it work?
What is the difference between RPO (Recovery Point Objective) and RTO (Recovery Time Objective)?
Why is an RDS cross-Region read replica suitable for disaster recovery in this case?
A company runs a latency-sensitive SaaS application that streams real-time market data to customers over WebSocket connections. All traffic is routed through an internet-facing Application Load Balancer (ALB) in us-east-1. Performance reports show a 95th-percentile round-trip latency of about 400 ms for users in Singapore and Sydney. The operations team must reduce latency for those users as quickly as possible, keep the workload in a single AWS Region, and avoid any application code changes. Which solution will most effectively meet these requirements?
Provision a second ALB in ap-southeast-1 and use Amazon Route 53 latency-based DNS records to direct users.
Place an Amazon CloudFront distribution in front of the ALB, forward all viewer headers, and disable caching.
Configure AWS Global Accelerator and add the existing ALB as a standard accelerator endpoint.
Deploy reverse-proxy EC2 instances in Regions closest to users that tunnel traffic back to the ALB.
Answer Description
AWS Global Accelerator lets clients enter the AWS network at the nearest edge location and then routes traffic over AWS's private backbone to the ALB endpoint, reducing internet hops and TCP handshake time without requiring changes to the application code or additional Regional infrastructure. CloudFront can improve some dynamic traffic but is optimized for caching and still requires header configuration; it offers less benefit for purely uncached WebSocket streams. Adding a second Regional ALB with Route 53 latency-based routing breaks the single-Region constraint and introduces data-consistency challenges. Deploying custom reverse-proxy EC2 instances adds operational overhead and does not provide the global, anycast entry points or health-based routing that Global Accelerator offers.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
How does AWS Global Accelerator reduce latency for latency-sensitive applications?
Why is AWS Global Accelerator more effective for WebSocket traffic compared to Amazon CloudFront?
What makes a single AWS Region constraint important in this scenario?
Your organization must migrate approximately 120 TB of on-premises scientific data to Amazon S3 within the next 10 calendar days. The research facility is located in a rural area with a maximum outbound WAN bandwidth of 50 Mbps, and the connection is shared with production workloads. All data must remain protected by FIPS 140-2 validated encryption modules during transit and while at rest. Which AWS service or combination of services will meet the schedule with the LEAST disruption to the existing network?
Request an AWS Snowball Edge Compute Optimized device, install the AWS DataSync agent on it, and copy the data over the WAN link into S3.
Request two AWS Snowball Edge Storage Optimized (80 TB) devices, copy the data across both appliances, and ship them back to AWS for import into S3.
Order a single AWS Snowball Edge Storage Optimized (210 TB) device, copy the data to its NFS or S3-compatible endpoint, and return the appliance for automatic import into the target S3 bucket.
Deploy AWS DataSync on-premises and throttle the transfer to 50 Mbps over the existing VPN to upload the data directly to Amazon S3.
Answer Description
A single Snowball Edge Storage Optimized device provides 210 TB of usable storage capacity-enough to hold the 120-TB dataset on a single appliance. Because the device is loaded locally, the customer avoids sending 120 TB across the 50-Mbps link, a transfer that would otherwise require months. Snowball jobs use 256-bit encryption, and the service offers FIPS 140-2 validated hardware, satisfying the security requirement. The DataSync options rely on the constrained WAN link and would fail to meet the deadline. Using multiple smaller devices would introduce unnecessary operational overhead compared to using a single, appropriately-sized appliance.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is an AWS Snowball Edge Storage Optimized device?
Why is DataSync not suitable for this scenario?
What is FIPS 140-2 and why is it important in this context?
A global enterprise has 250 AWS accounts that are organized into multiple organizational units (OUs) in AWS Organizations. Security policy mandates that every Amazon EC2 instance must automatically install any Critical or Important operating-system security patch within 24 hours of its release. The solution must provide a single place to configure and report patch compliance for all accounts and Regions, use only the existing SSM Agent, remediate non-compliant instances automatically, and impose the least possible operational overhead on the central cloud-operations team.
Which approach best meets these requirements?
Enable Amazon Inspector across the organization by delegating administration to a central account, then configure Amazon EventBridge rules that match Inspector EC2 vulnerability findings with a CVSS score of 7.0 or higher and start an SSM Automation runbook that executes AWS-RunPatchBaseline on the affected instances. Use the Inspector console for compliance visibility.
Create an AWS Config conformance pack that contains the managed rule EC2_MANAGEDINSTANCE_PATCH_COMPLIANCE_STATUS_CHECK and attach an auto-remediation action that invokes the AWS-RunPatchBaseline Automation runbook on every NON_COMPLIANT instance. Run the rule once every 24 hours and aggregate the results in the management account.
From the management account, deploy an AWS Systems Manager Quick Setup Patch Manager policy to the entire organization. Configure a custom patch baseline with a 0-day auto-approval rule for Critical and Important patches, select the Scan and install operation, and schedule the State Manager association to run daily. Quick Setup propagates the baseline, schedule, and compliance reporting across all member accounts and Regions by using the existing SSM Agent.
Use AWS CloudFormation StackSets to deploy identical custom patch baselines, nightly maintenance windows, and AWS-RunPatchBaseline Run Command tasks in every account and Region. Tag each instance with its patch group and build a cross-account CloudWatch dashboard to display patch compliance.
Answer Description
AWS Systems Manager Quick Setup can create a single Patch Manager policy that targets every account and Region in an organization. In the wizard the operations team chooses Scan and install, sets a daily installation schedule, and selects a custom patch baseline whose auto-approval delay is set to 0 days for Critical and Important updates. Quick Setup then uses CloudFormation StackSets to deploy a State Manager association that runs AWS-RunPatchBaselineAssociation on each managed node and continually heals configuration drift. Compliance data is aggregated automatically in Patch Manager and no additional agents are required, so day-to-day maintenance is minimal.
The Config-based alternative first detects non-compliance and then runs an Automation document for every instance, which adds rule management, remediation configuration, and periodic evaluations in every account. The Inspector-based proposal only identifies vulnerabilities; it still needs custom EventBridge and Automation logic for patching and introduces an extra paid service. Building and managing StackSets, maintenance windows, and dashboards in every account provides the same technical result but requires significantly more manual coordination and ongoing upkeep. Therefore, the Quick Setup patch policy is the most operationally efficient way to satisfy the 24-hour patching requirement.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is AWS Systems Manager Quick Setup and how does it help in this scenario?
What is the purpose of a custom patch baseline with a 0-day auto-approval rule?
How does AWS Patch Manager ensure compliance reporting across all accounts and Regions?
Your company replicates its on-premises application servers to AWS by using AWS Elastic Disaster Recovery (AWS DRS). Continuous block-level replication is already configured and the servers appear as Ready for recovery in the AWS DRS console for the us-west-2 Region. Management now mandates a warm standby disaster-recovery strategy so the DR Region can immediately process a small amount of user traffic while keeping monthly operating costs low. You must meet an RTO of 15 minutes and an RPO of seconds.
Which approach will satisfy these requirements?
Keep the default AWS DRS configuration, which maintains switched-off resources in the staging area and launches production-sized instances only when a recovery job starts.
Replace AWS DRS with cross-Region backups managed by AWS Backup and restore the servers with AWS CloudFormation during a disaster drill; route traffic to the DR Region by changing Route 53 weights.
Enable instance-type right-sizing in the AWS DRS launch template so that matching C5 instances are chosen automatically; do not keep any recovery instances running before a disaster.
Launch the recovery instances once, keep them running on smaller EC2 instance types behind an Application Load Balancer, and use Auto Scaling policies to resize the fleet to production sizes only after a failover is declared.
Answer Description
AWS DRS on its own implements a pilot-light pattern: it keeps data and conversion resources in a staging area and launches EC2 instances only when you start a recovery job. A warm-standby pattern, by contrast, requires a scaled-down but running copy of the workload that can accept traffic immediately. The correct approach therefore launches the recovery instances once (for example during a drill), keeps them running on cost-optimized instance types behind a load balancer, and relies on Auto Scaling or scripted post-launch actions to resize the fleet to production capacity when failover is declared. The other options either leave all instances powered off (still pilot light), change launch-template settings without keeping servers running, or replace AWS DRS with a backup/restore process that cannot meet the 15-minute RTO.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is the difference between a pilot-light and a warm-standby disaster recovery pattern?
How does Auto Scaling contribute to a cost-efficient warm-standby strategy?
Why is continuous block-level replication important in AWS Elastic Disaster Recovery (AWS DRS)?
A financial services company is building a high-frequency trading (HFT) platform on AWS. The core trading algorithms require the absolute lowest possible latency-ideally single-digit milliseconds-to process real-time market data feeds from a major stock exchange located in the New York City (NYC) metropolitan area. The goal is to minimize the round-trip time between the AWS-hosted application and the exchange's matching engine. Which networking and infrastructure strategy should a solutions architect propose to achieve this objective?
Deploy the application in the
us-east-1(N. Virginia) Region and configure Amazon Route 53 with Geoproximity routing to the exchange.Deploy the application in the
us-east-1(N. Virginia) Region and place an AWS Global Accelerator in front of the application endpoints.Deploy the application within an AWS Local Zone located in the NYC metropolitan area (e.g.,
us-east-1-nyc-1a).Deploy the application to multiple Availability Zones in the
us-east-1(N. Virginia) Region and establish an AWS Direct Connect connection to the exchange.
Answer Description
The correct answer is to deploy the application within an AWS Local Zone in the NYC metropolitan area. AWS Local Zones are a type of infrastructure deployment that places AWS compute, storage, database, and other select services closer to large population, industry, and IT centers. This is the only option that physically places the compute resources within the same metropolitan area as the stock exchange, which is essential for achieving the single-digit millisecond latency required for HFT applications.
- Deploying in the
us-east-1Region, even with a Direct Connect, is incorrect because of the physical distance. Theus-east-1region is in Northern Virginia, and the round-trip network latency to NYC would be too high for this HFT use case. - Using AWS Global Accelerator is incorrect because it is designed to optimize the network path from global end-users to applications on AWS by routing them over the AWS global network from the nearest edge location. It does not reduce the inherent physical latency between the AWS Region where the application is hosted and a fixed, non-AWS endpoint like a stock exchange.
- Using Amazon Route 53 with Geoproximity routing is incorrect. Route 53 routing policies are used to direct end-user traffic at the DNS level. This service is not suited for optimizing latency for server-to-server communication with a fixed, external data source.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is an AWS Local Zone, and why is it ideal for low-latency applications?
Why is AWS Direct Connect not sufficient for achieving the lowest latency in this scenario?
How does AWS Global Accelerator differ from Local Zones when optimizing latency?
A solutions architect needs to improve the resilience of a stateless microservices API that is fronted by an Application Load Balancer (ALB) in the us-east-1 Region. The ALB currently distributes traffic across targets in three Availability Zones. The team must meet the following requirements:
- If AWS detects an infrastructure problem in any Availability Zone (AZ), traffic to that AZ must shift automatically to the remaining healthy AZs with no operator action.
- The mechanism must exercise itself automatically each week to confirm that the workload continues to operate when one AZ is unavailable.
- The solution must minimize custom automation and ongoing operational effort.
Which approach will satisfy these requirements?
Enable zonal autoshift for the ALB in Amazon Route 53 Application Recovery Controller (ARC) and configure the required practice run schedule.
Replace the ALB with a Network Load Balancer, configure Route 53 failover records with health checks for each AZ, and run a scripted job to toggle the primary record every week.
Place the ALB behind an Amazon CloudFront distribution with two origins mapped to different AZs, enable origin failover, and schedule weekly cache invalidations to force failover tests.
Create an AWS Lambda function that is triggered by AWS Health events to remove the impaired AZ from the ALB, and schedule an AWS Fault Injection Simulator experiment to disable an AZ every week.
Answer Description
Amazon Route 53 Application Recovery Controller (ARC) provides zonal autoshift for supported resources such as Application Load Balancers. When enabled, AWS automatically shifts traffic away from an impaired AZ and shifts it back when the AZ is healthy again. ARC also requires and orchestrates weekly practice runs that simulate the loss of one AZ for about 30 minutes, providing outcome reports without any customer-written scripts. Therefore, enabling zonal autoshift on the existing ALB meets all three requirements with the least operational overhead.
The other options rely on custom Lambda, Fault Injection Simulator, cron jobs, or Route 53 scripting. These add operational burden and do not provide the built-in automatic practice tests that the requirement specifies.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is zonal autoshift in Amazon Route 53 ARC?
How does the weekly practice run work in Amazon Route 53 ARC?
Why is Route 53 ARC preferred over custom solutions for this use case?
Your company operates more than 400 AWS member accounts that are centrally managed with AWS Organizations. The security team needs to be alerted whenever any Amazon S3 bucket in a member account receives a resource-based policy that makes the bucket publicly readable or grants read access to principals outside the organization. Notifications must arrive within 1 hour of the policy change and be delivered to an existing Amazon SNS topic in the security-tooling account. The team also wants a single console where they can review all historical findings. The solution must introduce the least ongoing operational overhead.
Which combination of actions will meet these requirements?
Enable Amazon GuardDuty S3 protection for the organization and configure GuardDuty findings to be forwarded through AWS Security Hub to the SNS topic.
Enable Amazon Macie organization-wide from the management account and create EventBridge rules in the security-tooling account that forward Macie
Policy:IAMUser/S3BucketPublicfindings to the SNS topic.Register the security-tooling account as the delegated administrator for IAM Access Analyzer, create an organization-level external-access analyzer there, and add an Amazon EventBridge rule that sends new
aws.access-analyzerfinding events to the existing SNS topic.In every member account, enable the AWS Config managed rule
s3-bucket-public-read-prohibited, aggregate the rule results to a central aggregator in the security-tooling account, and configure an EventBridge rule that forwards NON_COMPLIANT events to the SNS topic.
Answer Description
Registering the security-tooling account as the delegated administrator allows IAM Access Analyzer to be managed centrally for the entire organization. Creating an organization-level external-access analyzer in that account continuously scans all resource-based policies in every member account and produces findings whenever a bucket is made public or shared with an external AWS principal. IAM Access Analyzer automatically publishes a finding event to Amazon EventBridge in less than an hour, so an EventBridge rule that matches the aws.access-analyzer source and targets the existing SNS topic delivers the required near-real-time alert. The Access Analyzer console in the delegated administrator account provides the single place to review current and historical findings.
The other options either require per-account configuration (AWS Config), rely on services that do not specifically detect cross-account bucket policies in near-real time (Amazon Macie, Amazon GuardDuty), or involve additional operational overhead that the requirement seeks to avoid.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is IAM Access Analyzer and how does it work?
How does Amazon EventBridge work with Access Analyzer in this solution?
Why doesn't this solution use AWS Config or Amazon Macie instead?
A solutions architect is designing a multi-tier web application in a VPC. The architecture consists of a fleet of web servers in a public subnet and a fleet of application servers in a private subnet. The web servers must accept HTTPS traffic (TCP port 443) from clients on the internet. The security group for the web servers correctly allows inbound traffic on TCP port 443 from 0.0.0.0/0. Despite this, users report intermittent connection timeouts when accessing the application. A review of VPC Flow Logs shows that SYN packets from clients are reaching the web servers, but the corresponding SYN-ACK responses from the servers are being dropped. What is the MOST likely cause of this issue and the correct way to resolve it?
The security group for the web servers is missing an outbound rule. Add an outbound rule to the security group to allow traffic on TCP ports 1024-65535 to
0.0.0.0/0.The network ACL for the public subnet is blocking outbound return traffic. Add an outbound rule to the public subnet's NACL to allow traffic on TCP ports 1024-65535 to destination
0.0.0.0/0.The network ACL for the public subnet is blocking inbound traffic. Add an inbound rule with a lower number than the default deny rule to allow TCP port 443 from source
0.0.0.0/0.The network ACL for the private subnet is blocking return traffic. Add an outbound rule to the private subnet's NACL to allow traffic on TCP ports 1024-65535 to the public subnet's CIDR range.
Answer Description
The correct answer is that the network ACL (NACL) for the public subnet is missing an outbound rule for ephemeral ports. Security groups are stateful, meaning that if inbound traffic is allowed, the corresponding return traffic is automatically permitted. NACLs, however, are stateless. This means that for every inbound request allowed, a corresponding outbound rule must exist to allow the response traffic back to the source. When a client connects to a server, it opens a random, high-numbered port (an ephemeral port, typically in the range of 1024-65535) to receive the return traffic. The public subnet's NACL must explicitly allow outbound traffic destined for this ephemeral port range to permit the web server's response to reach the client. Without this rule, the server's response packets are dropped at the subnet boundary, causing the client to eventually time out.
- Modifying the security group's outbound rules is incorrect because security groups are stateful; return traffic for an allowed inbound connection is automatically permitted without a specific outbound rule.
- Adding an inbound NACL rule for port 443 is not the solution because the scenario states that SYN packets are already reaching the web servers, indicating that inbound traffic is permitted. The issue lies with the return (outbound) traffic.
- Modifying the NACL for the private subnet is incorrect as the problem described is between the internet clients and the web servers in the public subnet, not between the web and application tiers.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is the difference between stateful and stateless rules in AWS security mechanisms?
What are ephemeral ports, and why are they important in this scenario?
Why is modifying the private subnet NACL not the correct solution here?
You are modernizing a claims-processing workflow that currently runs as a monolithic cron job on an on-premises server. For every new claim, the job performs three sequential actions:
- Validate the claim data.
- Call an external fraud-scoring API. The API responds asynchronously by sending an HTTPS callback within up to 3 hours. A duplicate call to the API generates an additional cost.
- Persist the fraud score in Amazon DynamoDB and notify the claimant.
The modernization design must meet these requirements:
- Replace the cron job with a fully managed, serverless orchestration service that minimizes custom code.
- Guarantee exactly-once execution of each fraud-scoring request.
- Pause the workflow until the external system returns the fraud score, without polling.
- Handle thousands of concurrent claims with minimal operational overhead and provide built-in execution history for auditing.
Which solution meets these requirements MOST cost-effectively?
Create an AWS Step Functions Standard workflow. Use a Task state that invokes a Lambda function to send the request to the external API and passes a task token. Configure the Task state with the Wait for Callback (
.waitForTaskToken) pattern so the workflow pauses until the external system returns the token through an API Gateway endpoint.Create an AWS Step Functions Express workflow that invokes the external API synchronously and then uses a Wait state of 3 hours before persisting the result.
Create a Standard Step Functions workflow that uses the Run a Job (
.sync) integration pattern to invoke the external API with a 3-hour timeout.Use Amazon EventBridge Scheduler to trigger an AWS Lambda function for each claim; store workflow state and callback information in DynamoDB, and resume processing when the Lambda function is reinvoked by the external system.
Answer Description
A Standard Step Functions workflow provides exactly-once execution semantics and can run for up to one year, so it can wait several hours for the fraud-scoring response. By using a Task state with the Wait for Callback (.waitForTaskToken) integration pattern, the workflow pauses while the external system holds the task token and resumes only after the vendor calls SendTaskSuccess. This removes the need for custom polling code and preserves a full execution history for audit.
Express workflows are limited to five minutes and do not support the callback pattern, so they cannot wait three hours. Building a solution with EventBridge Scheduler, Lambda, and DynamoDB adds unnecessary custom code and still lacks exactly-once guarantees. The Run-a-Job (.sync) pattern is only for supported AWS services; it cannot invoke an arbitrary third-party HTTPS endpoint, so it will not work for the external API.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is the Wait for Callback pattern in AWS Step Functions?
Why are Standard Step Functions better suited for this solution than Express workflows?
What are the benefits of using a serverless orchestration service like Step Functions?
A global enterprise operates a large multi-account environment using AWS Organizations. The finance department needs to implement a detailed chargeback model for various business units and projects. They require the ability to perform complex, ad-hoc queries on granular cost and usage data going back several years. The current method of using the AWS Billing console and basic monthly reports is insufficient for their needs. The company has a strong preference for serverless, managed AWS services to minimize operational overhead. Which strategy should a solutions architect recommend to meet these requirements most effectively?
Use AWS Config with custom rules to track resource creation across all accounts. Create a Lambda function to query the AWS Config history to correlate resources with business units and store the results in Amazon DynamoDB for reporting.
Create multiple AWS Budgets for each business unit. Configure budget actions to send alerts via Amazon SNS when costs exceed thresholds. Use AWS Cost Explorer to create and share custom reports for cost trends.
Configure AWS Cost and Usage Reports (CUR) to be delivered to an Amazon S3 bucket. Use AWS Glue to catalog the data, and then query it using Amazon Athena. Create dashboards for the finance team using Amazon QuickSight.
Enable Detailed Billing Reports (DBR) and save them to an S3 bucket. Develop a scheduled AWS Lambda function to parse the reports and load the processed data into an Amazon RDS database for querying.
Answer Description
The correct approach is to use AWS Cost and Usage Reports (CUR) with Amazon Athena and Amazon QuickSight. This combination provides the most detailed and comprehensive solution for long-term cost analysis in a multi-account environment. CUR provides granular line-item data that can be stored indefinitely in Amazon S3. By integrating CUR with AWS Glue and Amazon Athena, the finance team can perform complex SQL queries directly on the data stored in S3. Amazon QuickSight can then connect to Athena to build interactive dashboards for visualization and reporting, fulfilling all the specified requirements with a serverless, managed architecture.
Using AWS Budgets and Cost Explorer is an incorrect choice because while these tools are useful for high-level monitoring and alerting, they lack the granularity and long-term, ad-hoc query capabilities required. Cost Explorer is limited in its historical data retention and is not designed for the deep, SQL-based analysis that CUR and Athena provide.
Creating a custom solution with AWS Lambda and Amazon RDS is not optimal. This approach represents undifferentiated heavy lifting, requiring significant development and maintenance effort. The serverless pattern of CUR, Athena, and QuickSight is the recommended AWS best practice that directly replaces such custom solutions. Additionally, Detailed Billing Reports are a legacy feature that AWS has replaced with the more comprehensive Cost and Usage Reports.
Using AWS Config is incorrect because it is a service for assessing and auditing resource configurations and compliance, not for analyzing detailed billing and usage data. While it can be used for cost-related governance (e.g., enforcing tags), it is not the primary tool for the type of deep cost analysis required by the finance department.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is AWS Cost and Usage Reports (CUR), and why is it recommended for detailed cost analysis?
How does Amazon Athena work with AWS Glue and S3 in this solution?
What features of Amazon QuickSight make it suitable for creating cost analysis dashboards?
A financial analytics company runs a critical overnight ETL job using a self-managed Apache Spark cluster on a fleet of r5.4xlarge EC2 instances. The job runs for approximately 4 hours each night, but the cluster remains active 24/7 to be ready for the next run, leading to high costs from idle resources. The data processing volume can fluctuate by up to 50% day-to-day. The operations team spends considerable time on cluster maintenance, security patching, and managing Spark versions. A solutions architect has been tasked with proposing a new architecture that most significantly reduces the Total Cost of Ownership (TCO) while maintaining the processing capabilities. Which AWS managed service offering should the architect recommend?
Keep the existing cluster architecture but purchase an Instance Savings Plan for the r5 instance family to cover the EC2 usage.
Re-platform the job to run on a transient Amazon EMR cluster that uses Spot Instances for task nodes.
Migrate the ETL workload to AWS Glue jobs.
Containerize the Spark application and orchestrate it using AWS Batch with AWS Fargate compute environments.
Answer Description
The correct answer is to use AWS Glue for the ETL jobs. AWS Glue is a fully managed, serverless data integration service that runs ETL jobs on a managed Apache Spark environment. This solution is the most cost-effective because it directly addresses the primary sources of high TCO in the scenario: operational overhead and idle compute time. With Glue, the company only pays for the Data Processing Units (DPUs) consumed while the ETL job is actively running, completely eliminating costs for the 20 hours of daily idle time. AWS also manages all the underlying infrastructure, including provisioning, patching, and scaling, which removes the maintenance burden from the operations team.
- Amazon EMR with Spot Instances: This is a plausible but less optimal solution. While using a transient EMR cluster with Spot Instances would significantly reduce compute costs compared to the current setup, it does not fully eliminate management overhead. The team would still need to configure, launch, and manage the EMR cluster lifecycle. For a pure, scheduled ETL workload, the completely serverless nature of Glue offers a lower overall TCO.
- AWS Batch with Fargate compute environments: This is incorrect because AWS Batch is a general-purpose batch processing service and is not purpose-built for running distributed Apache Spark jobs. Containerizing a Spark application and orchestrating it with AWS Batch would require significant custom engineering and maintenance, increasing complexity and TCO compared to a dedicated managed Spark service.
- Amazon EMR on EC2 with an Instance Savings Plan: This is the least effective option. An Instance Savings Plan provides a discount in exchange for a commitment to a consistent level of compute usage over a 1 or 3-year term. Applying a Savings Plan to a cluster that is idle for 20 hours a day would mean committing to pay for unused resources, which locks in the inefficiency instead of eliminating it.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What are AWS Glue DPUs and how do they work?
Why is AWS Glue considered fully serverless compared to Amazon EMR?
How does AWS Glue handle fluctuating data processing volumes?
A company runs a mission-critical mobile application that currently stores all user-generated data in an Amazon RDS for PostgreSQL instance located in us-east-1. Traffic has grown rapidly, and the database now experiences write saturation during peak hours, causing latency spikes for users in Europe and Asia-Pacific. New business requirements specify that the re-architected data layer must:
- Provide single-digit-millisecond read and write latency for users in us-east-1, eu-west-1, and ap-southeast-1.
- Allow each Region to continue accepting reads and writes if another Region becomes unavailable.
- Scale automatically to absorb unpredictable surges up to 10× the previous peak traffic without manual capacity changes.
- Minimize day-to-day operational overhead and database administration effort.
Which approach best satisfies all of these requirements?
Keep the existing RDS instance as the primary writer and configure AWS Database Migration Service (AWS DMS) to perform ongoing replication to read-only PostgreSQL instances in the other two Regions.
Migrate the data to Amazon DynamoDB, configure a global table spanning us-east-1, eu-west-1, and ap-southeast-1, and use on-demand capacity mode (with adaptive capacity).
Deploy an Amazon ElastiCache for Redis cluster with Global Datastore across the three Regions and direct all writes to the primary Redis cluster.
Create an Aurora PostgreSQL global database with secondary clusters in eu-west-1 and ap-southeast-1 and enable write forwarding.
Answer Description
Moving the workload to Amazon DynamoDB and enabling a global table that spans the three Regions meets every stated requirement. DynamoDB global tables replicate data automatically in a multi-active fashion, so each Region can serve local reads and writes even if another Region is unavailable. On-demand capacity mode eliminates capacity planning and instantly scales to new traffic peaks, while adaptive capacity protects against "hot" partitions without manual tuning. The alternative options all fail to meet one or more of the goals:
- Aurora global databases have a single writable primary Region; secondary Regions (even with write-forwarding) incur cross-Region round-trips, so they cannot guarantee sub-10 ms local writes and become unavailable for writes if the primary fails.
- Using AWS DMS to replicate RDS instances makes secondary databases read-only and still leaves a single write Region and capacity-planning burden.
- ElastiCache for Redis Global Datastore is an in-memory cache, not a durable primary data store; it is limited by node memory size, incurs higher operational management for large persistent datasets, and does not automatically scale storage.
Therefore, migrating to DynamoDB with global tables and on-demand capacity is the only option that fully addresses performance, availability, scalability, and operational requirements.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What are DynamoDB global tables and how do they work?
What is the difference between on-demand capacity mode and provisioned capacity mode in DynamoDB?
Why is DynamoDB suitable for unpredictable workloads compared to Amazon RDS or ElastiCache?
The FinOps team for a multi-account AWS environment needs an automated billing alert for the development account. The solution must, at the beginning of each calendar month, automatically derive the alert threshold from the average monthly spend of the preceding six months and then notify a dedicated Slack channel when the spend for the current month exceeds 120 percent of that threshold. The implementation must introduce the least possible ongoing operational work. Which approach will meet these requirements?
Export daily cost and usage data to Amazon S3, run an hourly Step Functions workflow that uses the Cost Explorer API to compute the six-month average, store the value in Parameter Store, and send a Slack notification via SNS when current cost exceeds 120 percent of that parameter.
Enable AWS Cost Anomaly Detection for the account, configure a daily summary subscription with an USD 800 cost-impact threshold, and send the alerts to the Slack channel through AWS Chatbot.
Create an auto-adjusting cost budget for the development account that uses the Last 6 Months baseline and sets an alert at 120 percent of the budgeted amount. Attach an Amazon SNS notification and map the SNS topic to the Slack channel with AWS Chatbot.
Create a CloudWatch alarm on the AWS/Billing EstimatedCharges metric with a static threshold equal to 120 percent of the previous six-month average. Trigger a monthly Lambda function from EventBridge to recalculate and update the threshold, and use AWS Chatbot to forward alarm notifications to Slack.
Answer Description
An auto-adjusting cost budget in AWS Budgets can set its monthly budget amount to the average spend from the previous six months. Adding a notification at 120 percent of that automatically calculated budget and publishing the alert to an SNS topic linked to AWS Chatbot delivers the required Slack message with no recurring code or manual updates. The CloudWatch alarm approach requires a Lambda job to update the static threshold each month, Cost Anomaly Detection does not evaluate spend against a user-defined percentage of historical averages, and the Step Functions/Cost Explorer workflow is far more complex than necessary.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
How does AWS Budgets calculate a monthly budget using the Last 6 Months baseline?
What is AWS Chatbot and how does it send notifications to a Slack channel?
Why is AWS Budgets with an auto-adjusting threshold preferred over CloudWatch or Step Functions in this scenario?
A global logistics company is migrating its on-premises data center to AWS. The portfolio includes hundreds of business-critical applications running on a mix of VMware vSphere virtual machines and physical Linux servers. A primary business requirement is to minimize cutover downtime to under 10 minutes per application. The migration team must also be able to conduct multiple, non-disruptive test cutovers in AWS for each application over several weeks before the final production cutover. The source applications must remain fully operational during the entire replication and testing period.
Which AWS service should a solutions architect recommend to meet these requirements?
AWS Server Migration Service (SMS)
AWS Application Migration Service (AWS MGN)
AWS DataSync
VM Import/Export
Answer Description
The correct answer is AWS Application Migration Service (AWS MGN). AWS MGN is the primary service recommended for lift-and-shift migrations to AWS. It addresses all the requirements in the scenario. MGN uses a lightweight agent installed on source servers (both physical and virtual) to perform continuous, block-level replication to a staging area in the target AWS account. This continuous replication ensures that the data in AWS is only seconds or minutes behind the on-premises servers, which is critical for achieving a cutover downtime of under 10 minutes. Furthermore, MGN allows for the non-disruptive launch of test instances at any time from the replicated data, enabling thorough testing without impacting the source production servers.
AWS Server Migration Service (SMS) is an older service being replaced by AWS MGN. It primarily migrates on-premises VMs to Amazon Machine Images (AMIs) and does not support physical servers. Its replication is based on periodic snapshots, leading to a longer cutover window compared to MGN's continuous replication.
VM Import/Export is a service used to import virtual machine images (like VMDK or VHD files) to create AMIs. It is a manual, offline process that requires significant downtime to export, upload, and convert the image. It does not support continuous replication or live cutovers.
AWS DataSync is a service for transferring file and object data between on-premises storage (such as NFS or SMB file shares) and AWS storage services like Amazon S3 or Amazon EFS. It does not migrate entire operating systems and applications to create bootable EC2 instances.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
How does AWS Application Migration Service (MGN) achieve near-zero downtime during migration?
What are the key differences between AWS MGN and AWS Server Migration Service (SMS)?
Why is VM Import/Export not suitable for live migrations?
A global retail company operates a large, hybrid environment with thousands of Amazon EC2 instances across multiple AWS accounts and a significant number of on-premises servers in their data centers. The operations team is struggling with configuration drift across this fleet, leading to inconsistent application behavior and compliance violations. They need a scalable, centralized solution to enforce a desired configuration state, including specific software versions and security settings, on all servers. The solution must minimize operational overhead by avoiding the need to manage dedicated configuration management servers and should automatically remediate any detected drift.
Which AWS Systems Manager capability should a solutions architect recommend to meet these requirements most effectively?
Develop a complex SSM Automation runbook that checks for drift and orchestrates remediation steps.
Configure SSM Inventory to collect metadata and use AWS Config rules to detect non-compliant resources.
Create SSM State Manager associations that apply a desired configuration document on a schedule.
Use SSM Run Command to periodically execute scripts that check and apply the required configuration.
Answer Description
The correct answer is to use SSM State Manager associations. State Manager is a configuration management service that automates the process of keeping managed nodes in a defined state. By creating an association, you link managed instances (both EC2 and on-premises) with an SSM document that defines the target configuration. State Manager will apply this configuration on a schedule you define, automatically detecting and remediating any configuration drift, which directly addresses the core requirements of the scenario.
- SSM Run Command is designed for ad-hoc or one-time remote command execution, not for maintaining a consistent state over time. While it can be used for applying configurations, it doesn't have the built-in scheduling and drift-remediation capabilities of State Manager.
- SSM Inventory combined with AWS Config is an excellent solution for detecting and reporting on configuration compliance, but it does not natively enforce the state or perform the remediation itself. Remediation would need to be triggered as a separate action, making it a less direct and less efficient solution for this specific problem.
- SSM Automation is used for orchestrating complex workflows and multi-step tasks, which can include AWS API calls across different services. While a custom automation could be built for this purpose, it is overly complex for declarative state management. State Manager is the purpose-built, more direct, and efficient tool for maintaining a desired state.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
How does SSM State Manager ensure configuration drift is remediated?
What is the difference between SSM State Manager and SSM Run Command?
Why wouldn’t SSM Inventory and AWS Config be sufficient for this use case?
A manufacturing company is migrating an MPI-based high-performance computing (HPC) simulation that will run on 128 c7n.16xlarge Amazon EC2 instances. The application needs sub-millisecond internode latency and at least 25 Gbps of sustained throughput between all nodes. The team is willing to place every instance in the same Availability Zone and wants the simplest way to achieve the required network performance. Which deployment strategy should the solutions architect recommend?
Launch all 128 c7n.16xlarge instances into a cluster placement group in a single Availability Zone.
Launch the instances without a placement group and attach Elastic Fabric Adapter (EFA) to each node.
Use a rack-level spread placement group across three Availability Zones to keep nodes on separate racks.
Launch the instances into a partition placement group that spans two Availability Zones with four partitions.
Answer Description
A cluster placement group packs EC2 instances close together inside a single Availability Zone on the same high-bisection-bandwidth segment of the AWS network. This placement maximizes per-flow throughput (up to 10 Gbps per TCP flow with enhanced networking) and minimizes internode latency, making it the recommended pattern for tightly coupled HPC or MPI workloads.
A partition placement group distributes instances across partitions and can span multiple AZs, which helps with fault isolation but does not optimize network proximity; traffic between partitions can traverse different racks or even AZs, increasing latency. A rack-level spread placement group intentionally separates instances onto distinct racks and is limited to seven instances per Availability Zone, so it cannot support 128 nodes in a single group. Launching instances without a placement group-even with EFA-offers no placement guarantees; network performance may vary because the nodes could end up on different racks. Therefore, placing all 128 instances in a cluster placement group within one AZ is the most suitable and straightforward choice.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is a cluster placement group in AWS EC2?
What is the difference between cluster and partition placement groups?
How does Elastic Fabric Adapter (EFA) differ from cluster placement groups?
A global e-commerce company is redesigning its product-catalog service. The new architecture must:
- Sustain up to 500 000 writes per second during vendor bulk uploads.
- Return catalog items with single-digit-millisecond latency to web and mobile clients.
- Let analysts run complex ad-hoc SQL queries across the entire catalog once per hour without affecting the transactional workload.
- Minimize operational overhead and ongoing cost.
Which approach will meet these requirements MOST effectively?
Store the catalog in sharded Amazon DocumentDB clusters. Use AWS Glue jobs to copy the data hourly to Amazon S3 and query it with Amazon Redshift Spectrum.
Deploy Amazon Aurora MySQL with provisioned writer and multiple read replicas. Take hourly automated snapshots, load them into Amazon Redshift with AWS DMS, and let analysts query the Redshift cluster.
Store the catalog in Amazon DynamoDB using on-demand capacity. Enable point-in-time recovery and schedule hourly DynamoDB table exports to Amazon S3. Analysts query the exported data in S3 with Amazon Athena.
Persist catalog documents in Amazon OpenSearch Service with UltraWarm storage. Use the OpenSearch SQL plugin for both transactional reads and analytic queries.
Answer Description
Amazon DynamoDB in on-demand mode delivers single-digit-millisecond latency and can scale to hundreds of thousands of writes per second without capacity planning. Enabling point-in-time recovery lets you export the table to Amazon S3 asynchronously and without consuming read capacity. Analysts can then use Amazon Athena to run serverless SQL directly against the exported objects in S3, isolating analytic scans from the transactional store. The alternative solutions either cannot handle the write throughput, couple analytic queries to the primary database, or require additional clusters and complex ETL processes that add cost and operational burden.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is Amazon DynamoDB and why is it suitable for high write throughput applications?
What is Amazon Athena and how does it work with exported data in S3?
What is point-in-time recovery in DynamoDB and how does it enable seamless data exports?
An e-commerce company is refactoring a legacy order-processing application into several microservices that run in separate AWS accounts. The monolith currently writes every order event to an Amazon SQS queue. A Lambda function examines each message's JSON payload and forwards it to three downstream SQS queues-one per microservice-based on the value of the eventType field (ORDER_CREATED, PAYMENT_CAPTURED, or ORDER_CANCELLED).
The development team wants to retire the Lambda router to reduce operational overhead, keep costs low, and continue using SQS for downstream processing. Exactly-once delivery and strict ordering are not required.
Which solution will meet these requirements with the least custom code?
Configure an Amazon EventBridge custom event bus. Publish each order event to the bus and create one rule per eventType that routes matching events to the appropriate SQS queue.
Publish every order event to a single Amazon SNS standard topic. Create a dedicated Amazon SQS queue for each microservice and subscribe each queue to the topic. Attach a payload-based filter policy that matches only the required eventType values for that microservice.
Replace the Lambda router with an Amazon SNS FIFO topic. Set the eventType value as the message-group ID and subscribe each microservice's SQS queue to the topic so that only matching messages are delivered.
Create three separate Amazon SNS topics, one for each eventType. Modify the order-processing service so that it publishes every event to all three topics, and have each microservice subscribe to its dedicated topic.
Answer Description
Publishing to a single Amazon SNS standard topic and attaching a filter policy to each subscription offloads all routing logic to the managed service. Each microservice still consumes from its own SQS queue, but it now receives only the event types that match its payload-based filter policy. This removes the custom Lambda router and scales automatically with no additional code or infrastructure.
EventBridge rules (second choice) could also filter messages, but it introduces another managed service and additional cost when SNS alone is sufficient. Creating three separate SNS topics (third choice) forces application changes and duplicates publishes, increasing complexity. Using an SNS FIFO topic with the eventType as the message-group ID (fourth choice) does not restrict delivery to particular subscribers-every subscribed queue still receives all messages unless a filter policy is added, so the router logic would remain necessary.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is a payload-based filter policy in Amazon SNS?
Why is using Amazon SNS standard topics with SQS queues preferable for this use case?
How does Amazon EventBridge differ from Amazon SNS in this messaging use case?
Cool beans!
Looks like that's it! You can go back and review your answers or click the button below to grade your test.