All 40 free questions from our SAP-C03 bank, grouped by domain. Each answer gives the deciding requirement, a reason for every wrong option and the AWS documentation page that confirms it.
Prefer to answer before you see the solution, with a timer and a score by domain? The same questions run as an interactive practice exam.
Domain 1: Architecture Design and Implementation Built for the Cloud 10 questions
Question 1 · Domain 1 · Skill 1.1.1
A media company stores uploaded video files in an Amazon S3 bucket. An existing S3 event notification invokes an AWS Lambda function for all ObjectCreated events under the uploads/ prefix to generate thumbnails. A new compliance team must now run its own scanning workflow for the same objects, but only for files larger than 1 GB. A third team plans to add another consumer next quarter. The producers must not be changed, and each consumer must be added independently. Which solution meets these requirements with the LEAST operational overhead?
AAdd a second S3 event notification configuration on the bucket for ObjectCreated events under the uploads/ prefix that invokes the compliance Lambda function, and skip objects under 1 GB in the function code.
BModify the thumbnail Lambda function to check each object's size and asynchronously invoke the compliance team's function, passing the bucket and key, whenever an object exceeds 1 GB.
CTurn on Amazon EventBridge for the bucket, and give each consumer its own rule that matches Object Created events with the uploads/ key prefix, adding a numeric object-size condition to the compliance rule.
DConfigure S3 Same-Region Replication of the uploads/ prefix to a bucket owned by the compliance team, and add an S3 event notification on that bucket that invokes the compliance team's scanning workflow.
Show the answer
Answer: C. S3 rejects a second event notification configuration whose prefix overlaps an existing one for the same event type, so independent consumers need a fan-out layer. With EventBridge enabled on the bucket, every object event goes to the default event bus, where each team owns a rule that can match the key prefix and use numeric matching on object.size. New consumers are added by creating new rules, without touching the producer or the existing thumbnail consumer.
Why the other options fail
A. S3 does not allow two notification configurations with overlapping prefixes for the same event type, so this configuration is rejected.
B. Every new consumer would require another change to the thumbnail function, and the compliance workflow would depend on that function's deployments and failures.
D. Replication doubles storage for the copied objects, adds replication lag, and repeats a bucket-plus-notification build for every future consumer.
A retail company collects clickstream events as JSON records from its website at roughly 5,000 records per second. Analysts query the data with Amazon Athena and need new data to be queryable within 10 minutes. To reduce Athena cost, the data must be stored in Amazon S3 in Apache Parquet format and partitioned by event date and country. The team has no capacity to manage servers or stream-processing applications. Which solution meets these requirements with the LEAST operational overhead?
AWrite records to Amazon Kinesis Data Streams, and run a Kinesis Client Library application on an EC2 Auto Scaling group that converts each batch to Parquet and writes it to date and country prefixes.
BSend records to Amazon Data Firehose with record format conversion to Parquet that uses an AWS Glue Data Catalog table schema, and enable dynamic partitioning on date and country.
CHave an AWS Lambda function write each incoming record as an individual JSON object to S3, and run an AWS Glue job every night that converts the day's objects to partitioned Parquet.
DWrite records to Amazon Kinesis Data Streams, and run a persistent Amazon EMR cluster with Spark Structured Streaming that writes Parquet files partitioned by date and country to S3.
Show the answer
Answer: B. Amazon Data Firehose is fully managed, buffers records, converts JSON to Parquet by using a schema from a Glue Data Catalog table, and uses dynamic partitioning to write to S3 prefixes derived from record fields. A buffering interval of a few minutes meets the 10-minute freshness target with no servers or stream-processing code to run.
Why the other options fail
A. A self-managed KCL application on EC2 works, but the team must operate the instances, checkpointing, and scaling, which it has no capacity for.
C. One object per record creates a small-file problem, and a nightly conversion misses the 10-minute freshness target.
D. An always-on EMR streaming cluster meets the requirement but is a stream-processing application the team would have to run and tune.
A company uses AWS Organizations with more than 300 accounts, and new accounts are created every week. Applications in every account publish custom business events to the default event bus in their own account. A central analytics account must receive all events whose source begins with com.company. on a custom event bus. The security team requires that only accounts in the organization can send events to the central bus, and new accounts must be onboarded automatically. Which combination of steps meets these requirements with the LEAST operational overhead? (Choose TWO.)
AIn the central account, create a rule on the custom event bus whose event pattern matches the account IDs of all member accounts and the com.company. source prefix.
BAttach a resource-based policy to the central event bus that allows events:PutEvents with an aws:PrincipalOrgID condition for the organization ID.
CUse AWS CloudFormation StackSets with service-managed permissions and automatic deployment to create, in every member account, a rule and IAM role that forward matching events to the central bus.
DAdd each member account ID as a principal in the central event bus policy, and update the policy from an AWS Lambda function that runs on each Organizations CreateAccount event.
ECreate an Amazon SQS queue in each member account that receives the matching events, and have a central AWS Lambda function poll all queues and publish the events to the central bus.
Show the answer
Answer: B and C. A resource-based policy with an aws:PrincipalOrgID condition lets every current and future organization account send events to the central bus, and nothing outside the organization. StackSets with automatic deployment creates the forwarding rule and its IAM role in each new account as soon as it joins the organization, so onboarding needs no manual work.
Why the other options fail
A. Rules only evaluate events that arrive on their own bus, so events stay on the member accounts' default buses unless something forwards them.
D. A per-account principal list works but needs custom automation and grows toward the policy size limit as accounts are added.
E. Per-account queues with central polling is custom plumbing that replaces native bus-to-bus routing.
A company has microservices spread across 15 AWS accounts. The services run on Amazon EC2, Amazon EKS, and AWS Lambda, and several VPCs use overlapping CIDR ranges that cannot be renumbered in the short term. The company needs service-to-service connectivity across accounts, request-level authorization based on the caller's IAM identity, and centralized access logs, without deploying sidecar proxies. Which solution meets these requirements with the LEAST operational overhead?
ACreate a VPC Lattice service network, share it with the other accounts through AWS RAM, register each service as a Lattice service, associate the VPCs, and attach IAM auth policies.
BAttach all VPCs to an AWS Transit Gateway shared through AWS RAM, place an internal Application Load Balancer in front of each service, and restrict access with security groups.
CCreate VPC peering connections between every pair of VPCs that need to communicate, enable private DNS resolution across them, and restrict access with security groups.
DFront each service with a Network Load Balancer, publish it as a VPC endpoint service, and create interface VPC endpoints for it in every consuming VPC across the accounts.
Show the answer
Answer: A. VPC Lattice connects services across VPCs and accounts at the application layer, translates addresses so overlapping CIDRs do not matter, and supports EC2, EKS, and Lambda targets. Auth policies evaluate the caller's IAM identity on every request, the service network is shared through AWS RAM, and access logs go to central destinations without any sidecars.
Why the other options fail
B. Transit Gateway routing cannot handle overlapping CIDRs, and security groups do not provide IAM identity-based authorization.
C. VPC peering is not possible between VPCs with overlapping CIDRs, and a full mesh of peerings does not scale across 15 accounts.
D. Network Load Balancers cannot target Lambda functions, and endpoint services give network reachability without per-request IAM authorization.
Question 5 · Domain 1 · Skill 1.1.10New in SAP-C03
A company runs 35 microservices on Amazon EKS. Each team created its own Kubernetes Ingress resource in its own namespace, and the AWS Load Balancer Controller provisioned a separate internet-facing Application Load Balancer for each Ingress. All services share the same parent domain and differ only by host name or path. The finance team wants to reduce load balancer costs. The platform team wants each team to keep managing its own Ingress resources independently. Which solution meets these requirements with the LEAST operational overhead?
AChange each microservice to a Kubernetes Service of type LoadBalancer so that the AWS Load Balancer Controller provisions Network Load Balancers instead.
BExpose each microservice as a NodePort Service, and have the platform team register the node ports in one shared ALB and maintain its listener rules.
CReplace the Ingress resources with a single Amazon API Gateway REST API that reaches each microservice through a private integration over a VPC link.
DAdd the same alb.ingress.kubernetes.io/group.name annotation to every team's Ingress so that the AWS Load Balancer Controller merges them into one ALB.
Show the answer
Answer: D. An IngressGroup lets the AWS Load Balancer Controller merge Ingress resources from different namespaces into one ALB, with each Ingress contributing its own host and path rules to the shared listener. Teams keep owning their manifests while the company pays for a single load balancer.
Why the other options fail
A. This still creates one load balancer per service, so it does not cut cost, and NLBs drop host- and path-based routing.
B. Registering targets and editing listener rules by hand puts a large operational burden on the platform team and takes routing control away from the teams.
C. A private integration still needs a VPC link and a load balancer in front of the services, adds per-request API charges, and moves every team's routing into one centrally managed API.
Question 6 · Domain 1 · Skill 1.1.13New in SAP-C03
A B2B SaaS provider stores data for 900 tenants in a single Amazon Aurora PostgreSQL cluster. Every table has a tenant_id column, and microservices connect with a shared database role. The provider must guarantee that queries return only the current tenant's rows even if a developer omits a WHERE clause. It wants to keep the pooled model to control cost. The tenant ID is available from each request's validated JWT. Which solution meets these requirements with the LEAST operational overhead?
AMove each tenant into its own database in the cluster, keep the shared role, and maintain a separate connection pool per tenant database that the services select from the JWT tenant ID.
BCreate a schema for each tenant with identical tables, and set the search_path at the start of each connection to the schema that matches the JWT tenant ID.
CCreate one view per tenant for each table that filters on tenant_id, grant the shared role access only to the views, and have the services pick the view from the JWT tenant ID.
DEnable row-level security on each table with a policy comparing tenant_id to a session variable that is set from the JWT in each transaction, and connect with a non-owner role.
Show the answer
Answer: D. PostgreSQL row-level security makes the database apply the tenant predicate to every query, so a missing WHERE clause cannot leak data. Setting the tenant from the validated token for each transaction keeps the pooled schema and shared connection pools. The application must connect with a role that does not own the tables, because owners bypass RLS unless FORCE ROW LEVEL SECURITY is set.
Why the other options fail
A. A database per tenant is a silo model with 900 schema migrations and 900 connection pools, and the application still chooses the database.
B. Schema-per-tenant still relies on the application setting search_path correctly, and it multiplies every migration by 900.
C. Thousands of per-tenant views are hard to maintain, and a coding error that picks the wrong view still leaks another tenant's rows.
A medical imaging company runs a computer vision model that analyzes scans submitted by clinics. Each request payload is 200-500 MB, and inference takes 5-12 minutes per request. Requests arrive unpredictably, and on many days there is no traffic for several hours. Results must be available within 20 minutes of submission, and clinics must be notified when processing completes. The company wants to minimize cost during idle periods. Which Amazon SageMaker AI inference option meets these requirements?
AA SageMaker AI Serverless Inference endpoint with no provisioned concurrency, so that the company pays only for the compute that each request uses.
BA SageMaker AI real-time endpoint on GPU instances with a target tracking auto scaling policy on InvocationsPerInstance and a minimum of one instance.
CSageMaker AI batch transform jobs that an Amazon EventBridge schedule starts every hour over a new S3 input prefix, with an SNS message when each job completes.
DA SageMaker AI Asynchronous Inference endpoint with S3 inputs, auto scaling that scales to zero instances when the backlog is empty, and SNS notifications.
Show the answer
Answer: D. Asynchronous Inference queues requests whose payloads sit in S3 (up to 1 GB) and allows processing times of up to one hour. It can scale the instance count to zero when there are no requests, which removes idle cost, and it publishes success or error notifications through Amazon SNS, so it meets the payload, duration, latency, and notification requirements together.
Why the other options fail
A. Serverless Inference supports payloads up to 4 MB and processing times up to 60 seconds, far below 500 MB and 12 minutes.
B. Real-time endpoints accept payloads up to 25 MB and 60-second processing for regular responses, and a minimum instance bills through every idle hour.
C. An hourly schedule plus job startup time means a request can wait well over 20 minutes for its result.
An engineering firm stores CAD project files on an on-premises Windows NAS that is almost full. Designers in the office access files over SMB and need low-latency access to the files they are actively working on. The firm does not want to buy more on-premises storage. All project files must also be available as native objects in Amazon S3 so that a data team can catalog and query metadata with AWS analytics services. The firm has a 1 Gbps internet connection and limited IT staff. Which solution meets these requirements with the LEAST operational overhead?
ADeploy an Amazon S3 File Gateway on premises, create an SMB file share backed by an S3 bucket, and move the NAS data to the share so that active files are served from the local cache.
BUse AWS DataSync scheduled tasks to copy the NAS contents to Amazon S3 every hour, and continue to serve the designers from the existing NAS over SMB.
CDeploy a Volume Gateway in cached mode, present its iSCSI volumes to an on-premises Windows file server, and share the volumes to the designers over SMB.
DMigrate the files to Amazon FSx for Windows File Server, and map the file system to designer workstations over a Site-to-Site VPN on the existing 1 Gbps internet link.
Show the answer
Answer: A. S3 File Gateway presents an SMB share on premises, keeps frequently accessed data in a local cache for low latency, and stores each file as a native S3 object. This removes the need for new on-premises capacity and makes the data directly usable by S3-based analytics services.
Why the other options fail
B. DataSync copies data to S3, but the NAS remains the primary store, so the capacity problem is not solved.
C. Volume Gateway stores block volumes, not individual files as S3 objects, and adds a Windows file server to manage.
D. FSx for Windows File Server does not store files as S3 objects, and every file access would cross the VPN with higher latency.
A company uses a centralized inspection VPC attached to a transit gateway. AWS Network Firewall endpoints are deployed in two Availability Zones of the inspection VPC, and transit gateway route tables send all east-west traffic between spoke VPCs through the inspection VPC. Stateful rules allow traffic between approved applications. Users report that some connections between spoke VPCs in different Availability Zones time out intermittently, while connections within the same Availability Zone work. Which change will resolve the issue with the LEAST effort?
AEnable appliance mode on the transit gateway attachment for the inspection VPC.
BChange the stateful rule evaluation order of the firewall policy to strict order.
CRemove the inspection VPC and deploy a separate Network Firewall in every spoke VPC.
DReplace the stateful rules with stateless rules that allow the application ports in both directions.
Show the answer
Answer: A. Without appliance mode, the transit gateway can send the request and the response of a cross-AZ flow to firewall endpoints in different Availability Zones, so the stateful engine sees only half of the flow and drops it. Appliance mode on the inspection VPC attachment keeps both directions of a flow in the same Availability Zone for the lifetime of the flow, which gives stateful inspection the symmetric routing it needs.
Why the other options fail
B. Rule evaluation order changes which rule matches first but does not fix asymmetric routing across endpoints.
C. Distributed firewalls would avoid the problem but add significant cost and management effort compared with one attachment setting.
D. Stateless-only rules drop stateful inspection capabilities and weaken security instead of fixing the routing cause.
Question 10 · Domain 1 · Skill 1.5.2New in SAP-C03
A payments company publishes card transaction events to an existing Amazon MSK cluster at up to 30,000 events per second. Fraud analysts must join these events with customer dimension tables that already live in an Amazon Redshift provisioned cluster, and their dashboards must reflect new events within 15 seconds. The company does not want to stage the data in Amazon S3 and does not want to build or operate any additional consumer applications. Which solution meets these requirements?
ACreate an Amazon Data Firehose stream with the MSK topic as its source and Amazon Redshift as the destination, using the smallest buffering interval.
BCreate an external schema in Redshift that maps to the MSK cluster, and create a materialized view with AUTO REFRESH on the topic for Redshift streaming ingestion.
CConfigure an AWS Lambda event source mapping on the MSK topic, and have the function insert each batch of events into Redshift through the Redshift Data API.
DRun an Amazon MSK Connect S3 sink connector that writes the topic to Amazon S3, and query the files from Redshift through Amazon Redshift Spectrum external tables.
Show the answer
Answer: B. Amazon Redshift streaming ingestion makes the cluster itself the consumer of the MSK topic: data flows directly into a materialized view with no temporary landing area in S3. With AUTO REFRESH, the view loads records as they arrive, so analysts can join near real-time events with the existing dimension tables using plain SQL and no extra consumer to operate.
Why the other options fail
A. Firehose delivers to Redshift by writing to an intermediate S3 bucket and then running COPY, which stages the data in S3 and adds buffering delay.
C. The Lambda function is custom consumer code, and frequent small inserts through the Data API are an inefficient way to load a high-volume stream into Redshift.
D. An S3 sink stages every event in S3, and the connector is an extra consumer application to size and operate.
Domain 2: Security, Compliance, and Governance 10 questions
Question 11 · Domain 2 · Skill 2.1.1
A retail company manages 40 AWS accounts in AWS Organizations and has enabled AWS IAM Identity Center. All workforce identities and group memberships are mastered in Okta. The security team requires that when HR disables a user in Okta, the user can no longer start new AWS sessions within minutes, and that group changes in Okta are reflected in AWS access without manual steps. The cloud team has two engineers and wants to avoid writing custom synchronization code. Which solution meets these requirements with the LEAST operational overhead?
ACreate a SAML 2.0 identity provider for Okta in IAM in each of the 40 accounts, create IAM roles that trust the provider, and map Okta groups to role ARNs in the Okta application configuration.
BConfigure Okta as a SAML 2.0 external identity provider in IAM Identity Center, and run a nightly script that exports Okta users and groups to CSV and creates them in the Identity Center directory.
CConfigure Okta as a SAML 2.0 external identity provider in IAM Identity Center, enable automatic provisioning with SCIM from Okta, and assign permission sets to the synchronized Okta groups.
DCreate an Amazon Cognito user pool federated with Okta, and use a Cognito identity pool to issue AWS credentials that grant console access to each account.
Show the answer
Answer: C. IAM Identity Center supports SAML 2.0 federation with an external IdP for sign-in and SCIM for automatic provisioning of users and groups. With SCIM, a user disabled in Okta and group membership changes propagate to Identity Center without custom code, so the disabled user can no longer start new sessions. Permission sets assigned to the synchronized groups apply across all 40 accounts from one place.
Why the other options fail
A. Per-account IAM SAML providers and roles across 40 accounts create heavy ongoing maintenance and bypass centralized permission set management.
B. A nightly CSV script is custom code and introduces up to a day of delay before group changes and removals take effect.
D. Cognito is designed for customer-facing application identities, not workforce access to the AWS Management Console across accounts.
A company is onboarding a third-party SaaS cost-monitoring vendor that needs read-only access to billing and resource metadata in 25 of the company's AWS accounts. The vendor runs its service from its own AWS account and serves thousands of customers. The company's security team is concerned that another vendor customer could trick the vendor's service into accessing the company's accounts by supplying the company's role ARN. The vendor must not receive long-term credentials. Which solution is MOST secure?
ACreate a read-only IAM user in each account, store its access keys in AWS Secrets Manager, and share the secrets with the vendor's account through a resource-based policy.
BCreate an IAM role in each account that trusts the vendor's AWS account, grants read-only access, and requires sts:ExternalId to equal the unique ID the vendor assigned to the company.
CCreate an IAM role in each account that trusts the vendor's AWS account, grants read-only access, and requires aws:PrincipalOrgID to match the vendor's AWS Organizations ID.
DCreate an IAM role in each account that trusts the vendor's AWS account, grants read-only access, and requires the aws:MultiFactorAuthPresent condition key to be true for AssumeRole calls.
Show the answer
Answer: B. This is the confused deputy problem. An external ID that the vendor assigns uniquely to each customer, checked with the sts:ExternalId condition in the role trust policy, ensures the vendor's service assumes the company's role only when it is acting for the company. The role yields temporary STS credentials, so no long-term keys are shared.
Why the other options fail
A. IAM user access keys are long-term credentials, which the requirements prohibit, even if they are delivered through Secrets Manager.
C. Every request from the vendor's service comes from the vendor's organization, so this condition does not distinguish which vendor customer the request is for.
D. The vendor's automated service cannot present MFA, and MFA does not address the confused deputy problem.
A bank encrypts data in Amazon S3 and Amazon EBS by using AWS KMS. A new internal policy requires that the cryptographic material for these keys be rotated every 180 days, that all previously encrypted data remain decryptable without running re-encryption jobs, and that a separate analytics account be able to decrypt the S3 data. The cloud team wants the solution with the LEAST operational overhead. Which solution meets these requirements?
AUse the AWS managed keys for Amazon S3 and Amazon EBS, which AWS KMS rotates automatically, and grant the analytics account access through a cross-account IAM role.
BUse a customer managed KMS key with automatic key rotation enabled and the rotation period set to 180 days, and add the analytics account to the key policy.
CCreate a new customer managed KMS key every 180 days, repoint an alias to it, and use S3 Batch Operations and EBS snapshot copies to re-encrypt existing data.
DGenerate new keys in an AWS CloudHSM cluster every 180 days with an AWS Lambda function, and use client-side encryption with those keys for all S3 objects.
Show the answer
Answer: B. Customer managed KMS keys support automatic rotation with a configurable rotation period, so a 180-day period can be set. KMS keeps all previous key material versions and automatically uses the right one to decrypt, so existing data stays readable without re-encryption. The key policy of a customer managed key can grant the analytics account permission to use the key.
Why the other options fail
A. AWS managed keys rotate yearly on a schedule you cannot change, and their key policies cannot be edited to allow use from another account.
C. Creating new keys and re-encrypting data is the manual work that automatic rotation avoids, and the re-encryption jobs violate the requirement.
D. Custom key generation and client-side encryption add substantial operational overhead and break native SSE-KMS integration.
Question 14 · Domain 2 · Skill 2.2.4New in SAP-C03
An industrial IoT company signs firmware images that will be installed on devices with an expected field life of 20 years. The security team requires that the signatures remain secure against future quantum computers, that the private signing key never leaves an AWS managed HSM, and that devices verify signatures offline by using an embedded public key. The company wants a managed service and does not want to operate HSM infrastructure. Which solution meets these requirements?
ACreate an AWS KMS asymmetric key with the RSA_4096 key spec for SIGN_VERIFY, sign the firmware with the Sign API, and embed the public key in the devices.
BCreate an AWS KMS asymmetric key with an ML-DSA key spec for SIGN_VERIFY, sign with the Sign API, and embed the public key from GetPublicKey in each of the devices.
CCreate an AWS KMS asymmetric key with the ECC_NIST_P521 key spec for SIGN_VERIFY, sign the firmware with the Sign API, and embed the public key in the devices.
DCreate an AWS KMS HMAC key, generate a MAC for each firmware image with the GenerateMac API, and have the devices verify the MAC before installation.
Show the answer
Answer: B. ML-DSA is the NIST-standardized post-quantum digital signature algorithm (FIPS 204), and AWS KMS offers ML_DSA_44, ML_DSA_65, and ML_DSA_87 key specs for signing and verification. The private key never leaves KMS, and the public key exported with GetPublicKey lets devices verify signatures offline. RSA and elliptic curve signatures can be broken by a sufficiently large quantum computer.
Why the other options fail
A. RSA signatures can be broken by a cryptographically relevant quantum computer, so they do not meet the quantum resistance requirement.
C. Elliptic curve signatures are also vulnerable to quantum attacks regardless of curve size.
D. HMAC is symmetric: verifying requires the secret key or a VerifyMac call to KMS, so devices cannot verify offline with an embedded public key.
A company has 200 accounts in AWS Organizations and adds new accounts every week. Regulators require the company to retain AWS API activity logs for every account in every Region for 7 years. Administrators in member accounts must not be able to stop, modify, or delete the logging, and new accounts must be covered automatically. The logs must be stored in a dedicated log archive account in a form that nobody, including administrators of that account, can delete or overwrite before the retention period ends. Which solution meets these requirements with the LEAST operational overhead?
AUse service-managed AWS CloudFormation StackSets to deploy a multi-Region CloudTrail trail into every account that delivers to a central S3 bucket, and protect the trails with an SCP.
BCreate an organization trail that delivers to an S3 bucket in the management account with S3 Versioning enabled and a 7-year S3 Lifecycle expiration rule.
CCreate an AWS Config organization aggregator in the log archive account, record all resource types, and retain the configuration history for 7 years.
DCreate a multi-Region organization trail that delivers to an S3 bucket in the log archive account with S3 Object Lock in compliance mode and 7-year default retention.
Show the answer
Answer: D. An organization trail automatically logs events for all member accounts, including accounts added later, and member accounts can see it but cannot modify or delete it. Delivering to a bucket in the log archive account with S3 Object Lock in compliance mode prevents any user, including the root user of that account, from deleting or overwriting log object versions until the 7-year retention expires.
Why the other options fail
A. Per-account trails plus an SCP work but create hundreds of trails to manage, which is more overhead than a single organization trail.
B. Versioning and Lifecycle rules do not stop privileged users from deleting object versions, and the bucket is not in the dedicated log archive account.
C. AWS Config records resource configuration changes, not a complete record of API activity.
A company's network team owns a transit gateway in a central networking account. Fifty workload accounts in the same organization must attach their VPCs to this transit gateway, and new workload accounts are created every week. The network team wants new accounts to be able to use the transit gateway automatically without accepting invitations, and workload teams must not be able to modify the transit gateway route tables. Which solution meets these requirements with the LEAST operational overhead?
ACreate an AWS RAM resource share for each workload account ID, and ask each account administrator to accept the resource share invitation before attaching.
BDeploy a transit gateway in every workload account, and create transit gateway peering attachments from each one to the central transit gateway.
CCreate a cross-account IAM role in the networking account that workload teams assume to create their own VPC attachments to the transit gateway.
DEnable sharing with AWS Organizations in AWS RAM, and share the transit gateway with the organization or the workloads OU as the principal.
Show the answer
Answer: D. When AWS RAM sharing with AWS Organizations is enabled, resources shared with the organization or an OU are available to every account in that scope, including future accounts, without invitations. Participant accounts can create VPC attachments to the shared transit gateway, while the transit gateway and its route tables stay owned and controlled by the networking account.
Why the other options fail
A. Per-account shares with invitations must be repeated for every new account each week.
B. Many transit gateways and peering attachments add cost and routing complexity.
C. Workload teams would operate inside the networking account with a role that must be tightly scoped to keep them away from route tables, which adds risk and maintenance.
A company with 150 accounts in four Regions wants to continuously evaluate its accounts against the AWS Foundational Security Best Practices (FSBP) standard and the CIS AWS Foundations Benchmark. Accounts in production OUs must have both standards enabled, while accounts in the sandbox OU must have only FSBP with several controls disabled. The security team wants to manage these settings from one account and one Region, apply them automatically to new accounts, and review findings from all Regions in a single place. Which solution meets these requirements with the LEAST operational overhead?
AUse AWS CloudFormation StackSets to enable AWS Security Hub CSPM in every account and Region, and run a script that enables standards and disables controls account by account.
BDesignate a delegated administrator for AWS Security Hub CSPM, and use local configuration with auto-enable turned on for new member accounts and default standards in each Region.
CDesignate a Security Hub CSPM delegated administrator, turn on central configuration with linked Regions, associate per-OU configuration policies, and enable cross-Region aggregation.
DDeploy organization conformance packs for both benchmarks from AWS Config, and review compliance for all accounts through an AWS Config organization aggregator.
Show the answer
Answer: C. With Security Hub CSPM central configuration, the delegated administrator defines configuration policies, which specify enabled standards and controls, from a home Region and associates them with OUs so they apply across linked Regions and to new accounts. Separate policies for the production and sandbox OUs meet the per-OU requirement, and cross-Region aggregation consolidates findings in the home Region.
Why the other options fail
A. Scripts and StackSets per account and Region create ongoing manual maintenance whenever standards or controls change.
B. Local configuration must be repeated in each Region and account, and auto-enable cannot apply different standards and control settings to different OUs.
D. Conformance packs evaluate Config rules but do not enable the Security Hub CSPM FSBP standard and its controls, and they cannot disable individual controls per OU in the same way.
A European fintech company uses AWS Control Tower to manage 60 accounts. A national regulator requires that customer workloads and data be created only in eu-central-1 and eu-west-1. Developers must still be able to use global services such as IAM, Amazon CloudFront, and AWS Organizations. The security team wants a preventive control that applies automatically to every existing and future enrolled account. Which solution meets these requirements with the LEAST operational overhead?
AAttach an SCP to the root that denies all actions when aws:RequestedRegion is not eu-central-1 or eu-west-1, with no exceptions.
BDeploy an AWS Config rule in every account that flags resources created outside the two approved Regions and triggers an automatic remediation to delete them.
CAdd an IAM permissions boundary to every developer role that restricts actions to the two approved Regions.
DConfigure the AWS Control Tower landing zone to govern only eu-central-1 and eu-west-1 and enable the Region deny control.
Show the answer
Answer: D. The AWS Control Tower Region deny control blocks access to AWS services in Regions that the landing zone does not govern, while exempting global services such as IAM and AWS Organizations that must operate outside those Regions. It is managed by Control Tower and applies to enrolled accounts, including newly provisioned ones, so it is a preventive control with minimal ongoing effort.
Why the other options fail
A. A Region-deny SCP without exemptions for global services breaks services such as IAM, CloudFront, and Organizations that are served from us-east-1 endpoints.
B. AWS Config is detective; resources and data could already exist outside the approved Regions before remediation runs.
C. Permissions boundaries must be attached to every role individually and do not cover the root user or roles created without the boundary.
Question 19 · Domain 2 · Skill 2.4.6New in SAP-C03
A company completed a threat modeling exercise for a public web application that runs on Amazon EC2 instances behind an Application Load Balancer. The exercise identified two high-risk threats: (1) a server-side request forgery (SSRF) flaw in a third-party library could let an attacker retrieve the instance role credentials from the instance metadata service, and (2) a small number of source IP addresses could flood the login page with HTTP requests. The company wants preventive mitigations for both threats. Which combination of actions should a solutions architect recommend? (Choose TWO.)
AEnable Amazon GuardDuty in all Regions to detect EC2 instance credentials that are used from outside AWS.
BRequire IMDSv2 on all instances by setting HttpTokens to required, and keep the PUT response hop limit at 1.
CAdd an outbound security group rule that denies traffic from the instances to the 169.254.169.254 metadata address.
DEnable Amazon Inspector to scan the instances and container images for vulnerable third-party libraries.
EAssociate an AWS WAF web ACL with the ALB and add a rate-based rule scoped to the login page path.
Show the answer
Answer: B and E. IMDSv2 requires a session token obtained through a PUT request, which typical SSRF flaws cannot issue, so it prevents credential theft through the metadata service. An AWS WAF rate-based rule blocks source IP addresses that exceed a request threshold, mitigating an application-layer flood against a specific path. Both are preventive controls mapped directly to the identified threats.
Why the other options fail
A. GuardDuty detects credential misuse after it happens; it does not prevent the credentials from being stolen.
C. Security groups do not filter traffic to the instance metadata service, and security group rules cannot deny traffic.
D. Inspector identifies vulnerabilities but does not by itself block exploitation, and it does nothing for the HTTP flood.
Question 20 · Domain 2 · Skill 2.5.1New in SAP-C03
A media company already uses an Amazon Bedrock guardrail with content filters and denied topics for its Bedrock-based chat applications. It also serves a fine-tuned open-weight model on an Amazon SageMaker AI real-time endpoint, which must stay on SageMaker AI because of custom inference code. The company wants the same content policies applied to prompts and responses for the SageMaker AI model, managed in one place. Which solution meets these requirements with the LEAST operational overhead?
ACall the Bedrock ApplyGuardrail API with the existing guardrail on each prompt before invoking the SageMaker AI endpoint and on each response before returning it.
BPass the existing guardrail identifier and version in each InvokeEndpoint request to the SageMaker AI endpoint so that inputs and outputs are filtered automatically.
CReimplement the content policies with Amazon Comprehend toxicity detection and custom classifiers in an AWS Lambda function in front of the SageMaker AI endpoint.
DImport the fine-tuned model into Amazon Bedrock with Custom Model Import, and attach the existing guardrail to the Bedrock invocations of the imported model.
Show the answer
Answer: A. The ApplyGuardrail API evaluates arbitrary text against a configured guardrail without invoking a Bedrock foundation model, so it can be used with models hosted on SageMaker AI, other clouds, or on premises. The application calls it on the input and the output, reusing the single guardrail definition that is already maintained for the Bedrock applications.
Why the other options fail
B. SageMaker AI InvokeEndpoint does not accept a Bedrock guardrail identifier; guardrails are applied through Bedrock APIs.
C. This duplicates the policies in a second system that must be built and kept in sync, which is more overhead.
D. The model must remain on SageMaker AI because of its custom inference code, so moving it to Bedrock violates a constraint.
A media company runs a steady baseline of about $40 per hour of compute on Amazon EC2 m6i instances in us-east-1. Over the next 18 months, the engineering team plans to move most of these services to Amazon ECS on AWS Fargate and some event handlers to AWS Lambda, and it may shift part of the workload to eu-west-1. Finance wants a commitment-based discount on the baseline that will keep applying as the workload changes compute services, instance families, and Regions. Which purchase option is MOST cost-effective while meeting these requirements?
APurchase a 1-year Compute Savings Plan sized to the steady hourly baseline that is expected to remain after the migration.
BPurchase 1-year Standard Reserved Instances for m6i in us-east-1 and exchange them for other instance families as services move.
CPurchase a 3-year EC2 Instance Savings Plan for the m6i family in us-east-1 to obtain the deepest discount on the current baseline.
DPurchase 1-year Convertible Reserved Instances for m6i in us-east-1 and convert them to Fargate capacity after the migration.
Show the answer
Answer: A. Compute Savings Plans apply automatically to EC2 usage regardless of instance family, size, OS, tenancy, or Region, and also to AWS Fargate and AWS Lambda usage. That flexibility is the deciding requirement because the workload will change compute services and possibly Regions. Sizing the hourly commitment to the post-migration baseline avoids paying for unused commitment.
Why the other options fail
B. Standard Reserved Instances cannot be exchanged at all (they can only be modified within limits), and no Reserved Instance applies to Fargate or Lambda.
C. EC2 Instance Savings Plans are locked to one instance family in one Region and do not cover Fargate or Lambda, so the discount would stop applying after the migration.
D. Convertible Reserved Instances can be exchanged only for other Convertible Reserved Instances; they never turn into Fargate or Lambda discounts.
A company has 1,800 Amazon EC2 instances across 60 accounts in AWS Organizations. Many instances run memory-intensive Java applications. A previous rightsizing effort that used only CPU utilization downsized several instances and caused out-of-memory failures. The FinOps team wants rightsizing recommendations for all accounts that account for both CPU and memory utilization, and it wants to review the recommendations centrally from one account. Which solution meets these requirements with the LEAST operational overhead?
AEnable AWS Trusted Advisor in every account and export the Low Utilization Amazon EC2 Instances check results from all accounts to a central Amazon S3 bucket.
BUse AWS Cost Explorer rightsizing recommendations in the management account, filtered to instances whose average CPU utilization stayed below 40%.
CCreate a scheduled Lambda function in each account that collects CPUUtilization metrics and writes recommended sizes to a central Amazon DynamoDB table.
DOpt in to AWS Compute Optimizer for the organization from the management account, and publish memory metrics with the CloudWatch agent.
Show the answer
Answer: D. AWS Compute Optimizer analyzes EC2 CloudWatch metrics and includes memory utilization when the CloudWatch agent publishes it, which closes the blind spot that caused the out-of-memory failures. Opting in from the management account (or a delegated administrator) covers all member accounts and shows every recommendation centrally without custom code.
Why the other options fail
A. The Trusted Advisor low-utilization check flags instances on CPU and network I/O only, so it repeats the memory blind spot.
B. Filtering on CPU alone ignores memory pressure, which is exactly what caused the previous out-of-memory failures.
C. Custom collection code in 60 accounts is high overhead and still ignores memory utilization.
A healthcare company stores 900 TB in an Amazon S3 bucket in us-east-1. Only objects under the records/ prefix, about 60 TB, are subject to a regulation that requires a copy in a second AWS Region. The copy will be read only during a regional disaster, and the recovery plan allows 6 hours to begin reading the restored records. The remaining objects are reproducible and do not need a second copy. Which solution meets these requirements MOST cost-effectively?
AConfigure S3 Cross-Region Replication for the entire bucket with S3 Replication Time Control, and store replicas in S3 Standard-Infrequent Access.
BConfigure an S3 Cross-Region Replication rule filtered on the records/ prefix, and set the destination storage class to S3 Glacier Flexible Retrieval.
CConfigure an S3 Cross-Region Replication rule filtered on the records/ prefix, and set the destination storage class to S3 Glacier Deep Archive.
DRun a nightly S3 Batch Operations copy of the full bucket to the second Region, and transition the copies to S3 Glacier Flexible Retrieval.
Show the answer
Answer: B. A replication rule filtered on the records/ prefix limits inter-Region transfer and replica storage to the 60 TB that the regulation covers. Replicas can be written directly to a different destination storage class, and Standard retrievals from S3 Glacier Flexible Retrieval typically finish within 3–5 hours, which fits the 6-hour window at a much lower storage price than Standard-IA.
Why the other options fail
A. Replicating all 900 TB and paying for Replication Time Control adds transfer and storage cost for 840 TB that needs no copy, and no replication SLA is required.
C. Standard retrievals from S3 Glacier Deep Archive typically take up to 12 hours, which exceeds the 6-hour recovery window.
D. Copying the full bucket every night repeatedly transfers data across Regions and includes the 840 TB that does not need protection.
Question 24 · Domain 3 · Skill 3.2.5New in SAP-C03
A European bank runs a document assistant that calls a foundation model through Amazon Bedrock on-demand inference in eu-central-1. During month-end peaks, requests are throttled. A compliance rule requires that inference requests are processed only in EU Regions. The team is considering Provisioned Throughput, but peaks last only a few days each month, and the team does not want to deploy and route the application across multiple Regions itself. Which solution meets these requirements MOST cost-effectively?
APurchase Provisioned Throughput in eu-central-1 sized to the month-end peak and keep it for the rest of the month.
BDeploy the application in eu-west-1 and eu-central-1 and use Amazon Route 53 weighted routing to spread requests between the two Regional Bedrock endpoints.
CInvoke the model through the global cross-Region inference profile so that Amazon Bedrock can route requests to any Region with available capacity.
DInvoke the model through the EU cross-Region inference profile so that Amazon Bedrock routes requests to EU Regions with available capacity.
Show the answer
Answer: D. A geographic cross-Region inference profile lets Amazon Bedrock spread on-demand requests across Regions in that geography to absorb bursts, and requests made to the EU profile stay within EU Regions. There is no additional routing cost; pricing is based on the source Region. This handles month-end peaks without committed capacity or a self-managed multi-Region deployment.
Why the other options fail
A. Provisioned Throughput bills for committed model units for the whole term, which is wasteful for peaks that last a few days.
B. Running and routing the application across Regions is the self-managed multi-Region deployment the team wants to avoid and adds infrastructure cost.
C. The global inference profile can route requests to Regions outside the EU, which violates the compliance rule.
A software company runs a single large Amazon EKS cluster on Amazon EC2 nodes that is shared by 15 product teams, each deployed to its own Kubernetes namespace. Pods from different teams run on the same nodes. Finance wants to charge each team back for its share of the EC2 instance costs based on the CPU and memory its pods consume, and the data must appear alongside the rest of the company's billing data. The platform team wants the least operational overhead. Which solution meets these requirements?
AEnable split cost allocation data for Amazon EKS in the Billing and Cost Management preferences, and allocate the pod-level costs in the CUR by namespace.
BTag each EC2 worker node with the name of the team whose pods run on it most often, and activate that tag as a cost allocation tag for chargeback.
CSplit the cluster into 15 separate EKS clusters, one per team in a dedicated account, so that each account's bill reflects that team's cost.
DDeploy a self-managed cost monitoring tool in the cluster, scrape Prometheus metrics, and build a custom pipeline that merges the results with billing data monthly.
Show the answer
Answer: A. Split cost allocation data for Amazon EKS allocates the cost of shared EC2 instances to individual pods based on the CPU and memory they consume, and publishes the results in the Cost and Usage Report alongside all other billing data. It is enabled in the billing preferences with no agents or custom pipelines, and costs can then be grouped by namespace for chargeback.
Why the other options fail
B. Pods from many teams share each node, so node-level tags cannot attribute a single instance cost across teams accurately.
C. Fifteen clusters add control plane fees, reduce bin-packing efficiency, and greatly increase operational overhead.
D. A self-managed tool and custom merge pipeline is workable but adds substantial operational effort compared with the native feature.
A logistics company runs a self-managed PostgreSQL database on Amazon EC2 with a 2 TiB gp2 Amazon EBS data volume. CloudWatch metrics show the workload steadily uses about 5,000 IOPS and 200 MiB/s of throughput, and the data is growing slowly. The company wants to reduce storage costs without downtime and without lowering performance. Which solution meets these requirements?
AUse Amazon EBS Elastic Volumes to change the volume in place to gp3, and provision 5,000 IOPS and 200 MiB/s of throughput to match the workload.
BUse Amazon EBS Elastic Volumes to change the volume in place to io2, and provision 5,000 IOPS to guarantee consistent database latency.
CTake a snapshot, create a new st1 volume from the snapshot, stop the instance, and swap the volumes during a maintenance window.
DChange the volume to gp3 and keep the included baseline of 3,000 IOPS and 125 MiB/s, relying on burst credits to cover the peaks.
Show the answer
Answer: A. gp3 costs less per GB than gp2 and lets IOPS and throughput be provisioned independently of size, with 3,000 IOPS and 125 MiB/s included. Provisioning 5,000 IOPS and 200 MiB/s matches the measured workload at a lower total cost. Elastic Volumes changes the volume type while the volume stays attached and in use, so there is no downtime.
Why the other options fail
B. io2 Provisioned IOPS volumes are priced for mission-critical workloads and cost considerably more than gp3 at 5,000 IOPS.
C. st1 is a throughput-optimized HDD that suits sequential I/O, not random database I/O, and swapping volumes requires downtime.
D. gp3 does not use burst credits, so the volume would be capped at 3,000 IOPS and 125 MiB/s, below the steady 5,000 IOPS and 200 MiB/s the database needs.
Domain 4: Resilience, Migration, and Business Continuity 6 questions
Question 27 · Domain 4 · Skill 4.1.1
A manufacturer plans to migrate 400 workloads out of its data center by using AWS Transform. About 250 workloads run on physical Linux and Windows servers, and the rest run as virtual machines on Microsoft Hyper-V. There is no current documentation of which servers communicate with each other, and the migration team must group interdependent servers into the same migration wave. The team needs running process information and network connection data from every server. Which discovery approach meets these requirements?
ADeploy the AWS Transform discovery tool with only the Hyper-V hosts as a discovery source, and build waves from the VM inventory and utilization that the hypervisors report.
BDeploy the AWS Transform discovery tool, add the Hyper-V hosts and a CSV import of the physical servers as sources, and give it OS credentials to collect processes and connections.
CInstall the AWS Transform MGN replication agent on every server, and use the replication status in the MGN console to infer which servers depend on each other.
DRegister every server as a hybrid managed node in AWS Systems Manager, and use Systems Manager Inventory to collect installed applications and network configuration.
Show the answer
Answer: B. The AWS Transform discovery tool supports VMware vCenter, Microsoft Hyper-V hosts, and servers imported through a CSV file, so the physical servers can be covered alongside the Hyper-V VMs. With OS access configured, it collects OS-level data such as running processes and network metrics from each server, and AWS Transform migration planning uses the observed network dependencies to build move groups and waves. Hypervisor-level discovery alone cannot see inside the guest operating systems.
Why the other options fail
A. Hypervisor-sourced data gives VM inventory and utilization but no process or network connection data, and it omits the 250 physical servers entirely.
C. MGN replication agents copy block-level data for rehosting; they do not record which servers communicate with each other.
D. Systems Manager Inventory records software and network configuration such as IP addresses, but not which servers talk to each other.
A company runs 3,000 virtual machines on VMware vSphere with VMware NSX networking. Its VMware license renewal is due in 9 months, and leadership wants to exit VMware entirely by running the workloads as native Amazon EC2 instances. The migration team is small and wants to automate discovery, dependency-based wave planning, translation of the on-premises network configuration into VPC resources, and orchestration of server rehosting. Which approach meets these requirements with the LEAST manual effort?
ADeploy Amazon Elastic VMware Service (Amazon EVS) in a VPC, and use VMware HCX to move the VMs in waves without changing their format or their NSX networking.
BCollect inventory with RVTools exports, plan waves in spreadsheets, hand-write CloudFormation templates for VPCs and security groups, and run AWS Transform MGN for each wave.
CUse AWS Transform to discover the VMs and dependencies, build wave plans, translate the source network configuration into VPC resources, and orchestrate rehosting to Amazon EC2.
DExport each VM as an OVA image, upload the images to Amazon S3, recreate the networks by hand, and import the images with VM Import/Export one wave at a time before renewal.
Show the answer
Answer: C. AWS Transform uses an AI agent to accelerate each migration stage for VMware and other sources: discovery, dependency-based wave planning, translation of the source network configuration into AWS VPCs, subnets, and security groups, and rehosting to Amazon EC2, with people reviewing the results. It targets native EC2, which satisfies the goal of leaving VMware, and removes most manual planning and network work for a small team.
Why the other options fail
A. Amazon EVS runs VMware Cloud Foundation on EC2 bare metal instances, so the company would keep VMware software and licensing instead of exiting it.
B. This path can work, but manual wave planning and hand-built network templates for 3,000 VMs take far more effort than the automated approach.
D. OVA export and import are offline, point-in-time copies that cause long downtime and require manual network rebuilding for every wave.
An insurance company runs a large Java monolith on Amazon EC2 instances behind an Application Load Balancer. The monolith serves the /quotes, /policies, /claims, and /billing paths. The company wants to modernize incrementally, starting by moving the claims functionality to a new service on AWS Lambda while the rest of the monolith keeps running unchanged. Each extracted capability must be released and rolled back independently, and the public URL that clients use must not change. Which approach meets these requirements?
ARewrite all four capabilities as microservices in parallel and switch the DNS record to the new platform with Amazon Route 53 once every service has passed testing.
BCreate Amazon Route 53 weighted records that send 10 percent of all requests to an Amazon API Gateway endpoint for the new claims service and the rest to the existing load balancer.
CAdd code to the monolith that forwards claims requests to the new Lambda function and returns its responses to clients.
DAdd an ALB listener rule that forwards the /claims* path pattern to a Lambda target group, keep the default rule on the monolith, and delete the rule to roll back.
Show the answer
Answer: D. This is the strangler fig pattern: a routing layer in front of the monolith redirects one capability at a time to the new implementation. Application Load Balancers support path-based listener rules and Lambda targets, so /claims moves without changing the client URL or the monolith. Rolling back is just removing or editing one rule, and later capabilities can follow independently.
Why the other options fail
A. A parallel full rewrite with a single DNS cutover is a big-bang migration, not incremental, and it cannot release or roll back capabilities independently.
B. DNS weighted routing splits all traffic by percentage, not by path, so quotes, policies, and billing requests would also reach the claims service.
C. Changing the monolith to proxy requests modifies the legacy code and keeps the monolith in the request path, contrary to the requirements.
A software company runs a line-of-business application on Microsoft SQL Server Enterprise Edition in its data center. The database contains extensive T-SQL stored procedures, and the application connects through a standard SQL Server client driver over the TDS protocol. The company wants to eliminate SQL Server licensing costs and move to a fully managed AWS database while making as few application code changes as possible. Which solution meets these requirements?
AMigrate to Aurora PostgreSQL with Babelfish enabled, move the data with AWS DMS, and point the application at the Babelfish TDS endpoint after compatibility testing.
BMigrate to an Amazon RDS for SQL Server license-included Multi-AZ DB instance by using native backup and restore from Amazon S3.
CConvert the schema to Amazon Aurora MySQL-Compatible Edition with the AWS Schema Conversion Tool, rewrite the stored procedures, and switch the application to a MySQL driver.
DRehost the SQL Server virtual machine to Amazon EC2 with AWS Transform MGN and bring the existing SQL Server licenses.
Show the answer
Answer: A. Babelfish for Aurora PostgreSQL lets Aurora accept connections over the SQL Server TDS protocol and understand T-SQL, so many applications can switch with little or no code change. Aurora PostgreSQL has no SQL Server licensing cost and is a managed service. The remaining incompatibilities must be assessed and tested, but this is the fewest code changes among the options that remove the license.
Why the other options fail
B. RDS for SQL Server license-included instances bundle the SQL Server license into the instance price, so licensing cost remains.
C. Converting to MySQL requires rewriting the T-SQL code and changing the application driver, which is far more code change.
D. Rehosting to EC2 keeps SQL Server licensing and leaves the company managing the database server, so it is neither license-free nor fully managed.
A payments company runs an active-passive workload in us-east-1 and us-west-2 with Amazon Route 53 DNS records pointing to each Region. A post-incident review found that automatic failover based on health checks flapped during a partial outage and caused a split-brain write scenario. The company now wants failover to be an explicit operator decision, wants the failover action to keep working even if a Region or the Route 53 control plane is impaired, and wants protection against an operator accidentally turning off both Regions. Which solution meets these requirements?
AUse ARC routing controls with Route 53 health checks on the failover records, change states through the cluster's Regional endpoints, and add a safety rule that keeps one Region on.
BCreate an AWS Lambda function that operators invoke to update the Route 53 failover records with the ChangeResourceRecordSets API, and require MFA in the IAM policy that allows invocation.
CReplace Route 53 with AWS Global Accelerator, and have operators set the traffic dial of the primary Region's endpoint group to 0 percent during a failover.
DKeep Route 53 failover routing but raise the health check failure threshold to 10 and the request interval to 30 seconds to reduce flapping.
Show the answer
Answer: A. ARC routing controls are on/off switches that operators flip, and Route 53 reads their state through routing control health checks on the highly available Route 53 data plane. Each ARC cluster is a data plane of endpoints in five AWS Regions, so state changes do not depend on any single Region or on the Route 53 control plane. An assertion safety rule that requires at least one routing control to be on prevents an operator from taking both Regions offline.
Why the other options fail
B. ChangeResourceRecordSets is a Route 53 control plane operation, so this failover path depends on the control plane being available during the incident.
C. Changing a traffic dial is a Global Accelerator control plane action and provides no safety rules to prevent disabling both Regions.
D. Tuning thresholds only slows automatic failover; it is still automatic, not operator-controlled, and does not prevent split brain.
An e-commerce company runs its checkout service on Amazon EC2 instances in three Availability Zones behind an Application Load Balancer, with an Amazon RDS Multi-AZ database. The company claims the service recovers from the loss of an Availability Zone within 5 minutes, and auditors want evidence from a realistic test in production. The test must stop automatically if the customer-facing error rate exceeds an agreed threshold, and the team must measure how long customers experienced failures. Which approach meets these requirements?
AHave an engineer terminate all EC2 instances in one Availability Zone from the console during a low-traffic window, and review Application Load Balancer access logs afterward to estimate impact.
BRun an AWS Resilience Hub assessment of the checkout application and provide the estimated Availability Zone RTO from the assessment report to the auditors.
CReboot the RDS DB instance with failover and use the RDS event timestamps to report the recovery time of the service.
DRun an AWS FIS experiment from the AZ Availability: Power Interruption scenario with an error-rate alarm as the stop condition, and measure failure duration with CloudWatch Synthetics canaries.
Show the answer
Answer: D. The AWS FIS AZ Availability: Power Interruption scenario simulates a complete AZ power loss, including loss of zonal compute, subnet connectivity loss, and RDS failover. A CloudWatch alarm on the error rate used as a stop condition halts the experiment automatically if impact exceeds the threshold. Synthetics canaries continuously exercise the checkout path, giving an objective measure of how long customers saw failures.
Why the other options fail
A. Manual termination has no automatic stop condition, does not simulate the network and database effects of an AZ loss, and estimating impact from logs afterward is imprecise.
B. A Resilience Hub assessment produces estimates; it does not inject a failure or provide evidence from a real test.
C. Forcing a database failover tests only one component, not the loss of an entire Availability Zone.
Domain 5: Operational Excellence and Automation 8 questions
Question 33 · Domain 5 · Skill 5.1.1
A platform team supports 40 product teams that write application code in TypeScript. Every team currently copies a 900-line CloudFormation template to create the same pattern: an Application Load Balancer, an Amazon ECS service on AWS Fargate, an encrypted log group, and alarms. Copies have drifted apart, and security fixes take weeks to reach every team. The platform team wants teams to consume one versioned, reusable definition of the pattern, written in a language they already know, and to receive fixes by upgrading a dependency. Which approach meets these requirements with the LEAST operational overhead?
APublish the template to a versioned Amazon S3 prefix and have each team reference it from its own stack as a nested stack (AWS::CloudFormation::Stack), passing team-specific values as parameters.
BRegister the pattern as a CloudFormation module in the CloudFormation registry of every account and Region, and require teams to reference the module type in their YAML templates.
CBuild an AWS CDK L3 construct in TypeScript for the pattern, publish it as a versioned npm package to AWS CodeArtifact, and have teams import it in their CDK apps.
DCreate an AWS Service Catalog product from the template, share the portfolio with every account, and have teams launch the product from the console for each new service.
Show the answer
Answer: C. An AWS CDK L3 (pattern) construct packages several resources and their defaults behind a typed API in the language the teams already use. Publishing it to AWS CodeArtifact as a semantically versioned package lets teams pick up fixes by bumping a dependency, and the construct still synthesizes to standard CloudFormation. This removes template copying without adding per-account registry or console workflows.
Why the other options fail
A. Nested stacks reuse a CloudFormation template, not a package in the teams' language, so teams keep writing YAML and get no typed API or dependency-managed upgrades.
B. CloudFormation modules are private extensions that must be registered in every account and Region that uses them, and teams would still author YAML instead of TypeScript.
D. Console launches of a Service Catalog product do not fit teams that deploy from code, and fixes reach teams only when someone updates each provisioned product.
In a single account, a network stack exports VPC and subnet IDs that 25 application stacks consume with Fn::ImportValue. The network team now cannot replace subnets, because CloudFormation blocks changes to exports that other stacks import. The values are not sensitive. The company wants application stacks to stay decoupled from the network stack's lifecycle while still resolving the current IDs at each deployment. Which solution is the MOST cost-effective?
AHave the network stack write the IDs to AWS Secrets Manager secrets, and resolve them in the application templates with secretsmanager dynamic references at each deployment.
BHave the network stack write the IDs to Systems Manager Parameter Store standard parameters, and use AWS::SSM::Parameter::Value parameter types in application templates.
CConvert the network stack into a nested stack of each application stack so that application resources can read the VPC and subnet IDs with Fn::GetAtt on the nested stack outputs.
DKeep the exports, and add DependsOn from each application resource to the network stack's resources so that CloudFormation orders updates across the stacks.
Show the answer
Answer: B. SSM parameter types in CloudFormation resolve the parameter's current value each time a stack is created or updated, and they do not create the hard lock that exports and imports create. Standard-tier Parameter Store parameters have no storage charge, which makes this the cheapest option for non-sensitive configuration. The network team can update the values, and consumers pick them up on their next deployment.
Why the other options fail
A. Secrets Manager charges per secret and per API call and is designed for sensitive values, so it costs more than free standard parameters for plain IDs.
C. Nesting the network stack inside each application stack would create 25 separate copies of the network and couple lifecycles even more tightly.
D. DependsOn only orders resources within one template; it cannot reference another stack's resources or remove the lock that an imported export creates.
Question 35 · Domain 5 · Skill 5.2.2New in SAP-C03
A company deploys container images from Amazon ECR to Amazon EKS. Security requires two controls: a pipeline must not promote any image that has a CRITICAL vulnerability in OS packages or in language libraries such as Java and Python dependencies, and the team must be alerted when a newly published CVE affects an image that is already running in production, without rebuilding the image. Which solution meets these requirements with the LEAST operational overhead?
AEnable ECR enhanced scanning with Amazon Inspector in continuous mode, fail a CodeBuild step when the image has CRITICAL findings, and route new Inspector findings to SNS through EventBridge.
BEnable ECR basic scanning with scan on push, have a CodeBuild step call DescribeImageScanFindings and fail on CRITICAL findings, and start a manual rescan of production images each month.
CRun an open source scanner such as Trivy in CodeBuild during each build, fail the build on CRITICAL findings, and store the scan report with the build artifacts.
DEnable Amazon Inspector EC2 scanning on the EKS worker nodes, and send CRITICAL findings to AWS Security Hub CSPM, which notifies the security team through EventBridge and SNS.
Show the answer
Answer: A. Enhanced scanning uses Amazon Inspector to scan both OS packages and programming language packages, and in continuous mode the findings are updated as new vulnerabilities are published, with Inspector emitting an EventBridge event. The pipeline gates on the image's current findings, and the EventBridge rule alerts on new CVEs in images already deployed. No scanner infrastructure or manual rescans are needed.
Why the other options fail
B. Basic scanning covers only operating system packages and scans only on push or on demand, so it misses language libraries and new CVEs between manual scans.
C. A build-time scan never re-evaluates images that are already running when new CVEs are published, and the scanner must be maintained.
D. EC2 scanning assesses software on the worker node instances, not the container images in ECR, and it provides no gate before promotion.
Question 36 · Domain 5 · Skill 5.2.3New in SAP-C03
A company runs an application on Amazon ECS in us-east-1 and eu-west-1 in the same account. It uses AWS CodeDeploy blue/green deployments in each Region. Today, two separate pipelines build the image twice and have no coordination. The company wants one pipeline that builds once in us-east-1, deploys to us-east-1, waits for a manual approval, and then deploys the same artifacts to eu-west-1. Which solution meets these requirements with the LEAST operational overhead?
AKeep both pipelines, replicate the artifact bucket to eu-west-1 with S3 Cross-Region Replication, and have the eu-west-1 pipeline start from the replicated object after approval.
BUse one pipeline in us-east-1 with an artifact store in each Region, and add an eu-west-1 CodeDeploy action after a manual approval action.
CReplace both CodeDeploy actions with a single CloudFormation StackSets action that updates the ECS service in both Regions in parallel after the build stage.
DAdd a CodeBuild action after the manual approval that runs aws deploy create-deployment against the eu-west-1 deployment group and polls until it finishes.
Show the answer
Answer: B. CodePipeline supports cross-Region actions: the pipeline is configured with an artifact store in each Region where actions run, and it copies artifacts to the remote Region automatically. Placing the eu-west-1 CodeDeploy action after a manual approval action delivers ordered, gated deployment of the same artifacts from a single pipeline.
Why the other options fail
A. Replication-triggered second pipelines keep two pipelines to maintain and make the approval coordination between them fragile.
C. Deploying both Regions in parallel removes the required approval gate between Regions and drops the existing CodeDeploy blue/green process.
D. Scripting CodeDeploy from CodeBuild duplicates the built-in cross-Region action and adds polling code to maintain.
A logistics company runs 40 microservices written in Java, Python, and Go across Amazon EKS, Amazon ECS on AWS Fargate, and AWS Lambda. Each team instruments its services differently, so traces break at service boundaries and metric names are inconsistent. The architecture board mandates a single vendor-neutral instrumentation standard so that the company can change observability backends later without modifying application code. Traces must be viewable as an end-to-end service map in AWS, and application metrics must be stored in Amazon CloudWatch. Which solution meets these requirements?
AInstrument all services with the AWS X-Ray SDKs, run the X-Ray daemon as a sidecar or DaemonSet, and publish application metrics with PutMetricData calls from a shared internal metrics library.
BEnable Lambda active tracing and Lambda Insights for the functions, enable Container Insights for EKS and ECS, and add the X-Ray SDK to the container services for tracing.
CInstrument the services with OpenTelemetry SDKs and auto-instrumentation agents, and export through ADOT collectors and the ADOT Lambda layer to X-Ray and CloudWatch.
DInstrument the services with OpenTelemetry SDKs that export traces directly to a self-managed Jaeger cluster on Amazon EKS, and derive metrics from CloudWatch Logs metric filters.
Show the answer
Answer: C. OpenTelemetry is the vendor-neutral instrumentation standard, and ADOT is the AWS-supported distribution that runs on EKS, ECS, and Lambda. Because the backend is selected by collector exporter configuration, the company can later switch backends without touching application code. X-Ray ingests the OpenTelemetry traces and builds the end-to-end service map, while the collector delivers metrics to CloudWatch.
Why the other options fail
A. The X-Ray SDKs and PutMetricData calls are AWS-specific instrumentation, so changing backends would require code changes; the X-Ray SDKs and daemon also entered maintenance mode on February 25, 2026.
B. This mixes several AWS-specific mechanisms instead of one standard and still couples container code to the X-Ray SDK.
D. Jaeger does not produce the required service map in AWS, and log metric filters do not give standardized application metrics.
An e-commerce company has separate CloudWatch alarms for ALB 5XX errors, p99 latency, and Amazon RDS CPU utilization for its checkout service. Each alarm notifies an Amazon SNS topic that pages the on-call engineer. Short latency spikes during nightly batch jobs page engineers even though customers are unaffected, and during real incidents engineers receive three pages at once. The company wants a single page only when customer impact is likely and no pages during a weekly planned maintenance window, while keeping the individual alarms for dashboards. Which solution meets these requirements with the LEAST operational overhead?
ARequire 10 out of 10 breaching datapoints on every alarm, and have the maintenance team disable the alarm actions on all three alarms before each weekly window and re-enable them after.
BRemove the SNS actions from the alarms, add a composite alarm with the rule ALARM("checkout-5xx") AND ALARM("checkout-p99") that notifies SNS, and set an actions suppressor for maintenance.
CCreate an EventBridge rule for CloudWatch alarm state changes that invokes a Lambda function to suppress duplicate alarms within 5 minutes and to check a maintenance calendar before it publishes to SNS.
DReplace the three alarms with one metric math alarm that sums the normalized 5XX count, p99 latency, and RDS CPU utilization, notifies SNS, and is disabled by automation during maintenance.
Show the answer
Answer: B. A composite alarm combines existing alarms with AND/OR logic, so it pages once and only when errors and latency breach together, which indicates customer impact; the individual alarms stay in place for dashboards without actions. A composite alarm's actions suppressor stops its notifications while the suppressor alarm is in ALARM, so maintenance automation can silence paging for the window without manual steps.
Why the other options fail
A. Longer evaluation delays detection of real incidents, and manually disabling actions adds recurring work.
C. A custom deduplication function and calendar is more code to build and maintain than native composite alarms.
D. Removing the individual alarms breaks the dashboard requirement, and a summed score can cross the threshold on latency and CPU alone without customer-facing errors.
A payments company runs its order API on Amazon EKS. It wants a service-level objective stating that 99.9% of requests to the POST /orders operation succeed over a rolling 28-day period. Engineers want to be alerted early when the error budget is being consumed too quickly rather than only after the objective is breached. The service-level indicator must be derived automatically from standard application telemetry without building custom metric pipelines. Which solution meets these requirements with the LEAST operational overhead?
APublish custom success and failure counts with PutMetricData, and build a dashboard that computes 28-day availability with metric math.
BCreate a CloudWatch Synthetics canary that calls POST /orders every minute, and alarm when the canary's SuccessPercent metric drops below 99.9%.
CCreate a CloudWatch alarm on the load balancer's HTTPCode_Target_5XX_Count metric with a static threshold, and notify an SNS topic when it is breached.
DEnable Application Signals for the cluster, create an availability SLO on the POST /orders operation with a rolling 28-day interval, and add burn rate alarms.
Show the answer
Answer: D. Application Signals automatically collects standard request, latency, and fault metrics per service operation from instrumented applications. Its SLOs can target a specific operation over a rolling interval, track the error budget, and drive burn rate alarms that fire when the budget is being consumed faster than sustainable.
Why the other options fail
A. It requires custom instrumentation and dashboard logic, and a dashboard computation provides no error budget or burn rate alerting.
B. Synthetic calls measure a sample of artificial traffic, not the success rate of real customer requests.
C. A static error count threshold does not represent a 28-day objective or error budget consumption.
Question 40 · Domain 5 · Skill 5.4.2New in SAP-C03
A company must apply a configuration remediation script to 4,000 managed EC2 instances that run a customer-facing service behind load balancers. A previous change pushed to all instances at once caused an outage because the script had a defect. The company wants the change to run in waves so that no more than 5% of the instances are being modified at any time, and the operation must stop automatically if more than 10 instances fail. Which solution meets these requirements with the LEAST operational overhead?
AWrite a Lambda function that loops through instance IDs, calls SendCommand in batches with a delay between them, and tracks failures in a DynamoDB table.
BUse an AWS Config rule with automatic remediation that runs the script on every noncompliant instance as soon as it is evaluated.
CRun the script on all instances at once during an off-peak window, and restore any failed instances from AMIs taken immediately before the change.
DRun the script with Systems Manager Run Command targeting the instances by tag, with the concurrency control set to 5% and the error threshold set to 10 errors.
Show the answer
Answer: D. Run Command rate controls limit how many targets run the command at the same time, as a number or a percentage, and the error threshold stops sending the command to additional nodes once errors exceed the value (with a threshold of 10, it stops when the eleventh error is received). This gives a wave-based rollout with an automatic stop condition from built-in settings and no orchestration code.
Why the other options fail
A. It re-implements built-in rate and error controls in custom code that must be maintained.
B. Remediation would run on noncompliant instances as they are evaluated, without the required 5% wave limit or stop-after-10-failures condition.
C. Running everywhere at once repeats the failure mode that caused the previous outage.