SAA-C03 practice questions and answers
All 65 questions from Full Practice Test 1 for AWS Certified Solutions Architect – Associate, with the correct answer and a full explanation for each — including why the other options are wrong. Free to read, no signup.
What this set covers
Questions are weighted to match the official SAA-C03 exam guide. The real exam is 65 (50 scored) questions in 130 minutes with a pass mark of 720 / 1000.
- Design Secure Architectures20 q · 30%
- Design Resilient Architectures17 q · 26%
- Design High-Performing Architectures15 q · 24%
- Design Cost-Optimized Architectures13 q · 20%
A company runs a MySQL database on Amazon RDS. If the database instance fails, the application must recover automatically with almost no work from the operations team. Which option meets this requirement with the least effort?
- ACreate a read replica in a second Availability Zone and promote it when the primary fails.
- BEnable a Multi-AZ deployment for the RDS instance.✓
- CTake automated snapshots every hour and restore them when the primary fails.
- DRun a second RDS instance in another Region and copy data with AWS DMS.
Correct answer: B — Enable a Multi-AZ deployment for the RDS instance.
Multi-AZ keeps a standby copy of the database in another Availability Zone and fails over to it automatically. The database endpoint stays the same, so the application does not need any change. A read replica can be promoted, but that is a manual step. Snapshots lose up to an hour of data and take time to restore. A second Region with DMS is far more work than this requirement needs.
Amazon RDS Multi-AZ deploymentsAn application on an Amazon EC2 instance must read objects from an S3 bucket. The security team does not allow long-term credentials on servers. What should the solutions architect do?
- ACreate an IAM user, store its access keys in a file on the instance, and read them at startup.
- BAttach an IAM role to the EC2 instance with a policy that allows read access to the bucket.✓
- CStore the access keys in the user data script of the instance.
- DMake the bucket public and restrict access with a bucket policy on the instance IP.
Correct answer: B — Attach an IAM role to the EC2 instance with a policy that allows read access to the bucket.
An IAM role attached to the instance gives the application temporary credentials that rotate automatically. Nothing is stored on disk. All the other answers put long-lived keys on the server or open the bucket to the internet.
IAM roles for Amazon EC2A read-heavy application uses Amazon DynamoDB. The same items are read thousands of times per second and the team wants response times in microseconds without changing the application code much. What should they use?
- AAmazon DynamoDB Accelerator (DAX)✓
- BA DynamoDB global secondary index
- CAmazon ElastiCache for Memcached in front of the table
- DIncrease the provisioned read capacity units
Correct answer: A — Amazon DynamoDB Accelerator (DAX)
DAX is a caching layer built for DynamoDB. It is API-compatible, so the application keeps using the DynamoDB SDK calls, and cached reads drop from milliseconds to microseconds. A GSI helps with different query patterns, not repeat reads. Memcached would work but you must write all the cache logic yourself. More capacity units cost more and still return millisecond reads.
In-memory acceleration with DynamoDB AcceleratorA company runs a steady, predictable workload on EC2 instances 24/7 and expects it to keep running for the next three years. The instance family may change as the team tunes performance. Which purchase option gives the best savings with that flexibility?
- AStandard Reserved Instances for a specific instance type
- BCompute Savings Plans✓
- CSpot Instances
- DOn-Demand Instances with an Auto Scaling group
Correct answer: B — Compute Savings Plans
Compute Savings Plans give a discount similar to Reserved Instances but apply across instance families, sizes, Regions, and even Fargate and Lambda. Standard RIs lock you to a family, which conflicts with the plan to change instance types. Spot can be reclaimed at any time, so it does not fit a steady always-on workload. On-Demand is the most expensive choice.
AWS Savings PlansA web tier writes image-processing jobs directly to a fleet of worker EC2 instances. When traffic spikes, workers get overloaded and jobs are lost. Which change makes the system more resilient?
- APut an Application Load Balancer in front of the workers.
- BSend jobs to an Amazon SQS queue and let workers poll the queue.✓
- CIncrease the instance size of every worker.
- DWrite jobs to an Amazon S3 bucket and have workers list the bucket every minute.
Correct answer: B — Send jobs to an Amazon SQS queue and let workers poll the queue.
SQS decouples the two tiers. The queue absorbs spikes, jobs are kept until a worker finishes them, and an Auto Scaling group can scale workers on queue depth. A load balancer still pushes work at busy servers and does not store jobs. Bigger instances only delay the problem. Polling S3 is a home-made queue with no visibility timeout or retry handling.
Amazon SQS queue basicsStatic website files are stored in an S3 bucket and served through Amazon CloudFront. The bucket must not be reachable directly from the internet — only through CloudFront. What is the recommended solution?
- AUse CloudFront Origin Access Control (OAC) and a bucket policy that only allows the distribution.✓
- BEnable S3 Block Public Access and add the CloudFront IP ranges to the bucket policy.
- CServe the bucket as a public website endpoint and add a CloudFront custom header.
- DPut the bucket in a private subnet of the VPC.
Correct answer: A — Use CloudFront Origin Access Control (OAC) and a bucket policy that only allows the distribution.
Origin Access Control is the current recommended way to lock an S3 origin to one CloudFront distribution. CloudFront signs requests to S3, and the bucket policy allows only that distribution. Hard-coding CloudFront IP ranges is fragile because they change. A custom header alone still leaves the bucket public. S3 is a regional service and does not live inside a subnet.
Restricting access to an S3 originUsers in Europe and Asia complain that images and CSS from an application hosted in us-east-1 load slowly. What is the simplest way to improve performance for these users?
- ACreate Amazon CloudFront distribution in front of the application.✓
- BCopy the whole application stack to eu-west-1 and ap-south-1.
- CMove the EC2 instances to a placement group.
- DEnable S3 Transfer Acceleration on the application bucket.
Correct answer: A — Create Amazon CloudFront distribution in front of the application.
CloudFront caches static content at edge locations close to users, which is the quickest win for slow images and CSS. Copying the stack to more Regions is expensive and complex. Placement groups improve networking between instances inside one AZ, not for end users. Transfer Acceleration speeds up uploads to S3, not downloads of site assets.
How CloudFront delivers contentA company stores millions of objects in Amazon S3. Some objects are read every day, others are not touched for months, and the access pattern is unpredictable. The team does not want to build lifecycle rules or risk retrieval delays. Which storage class fits best?
- AS3 Standard
- BS3 Standard-IA
- CS3 Intelligent-Tiering✓
- DS3 Glacier Flexible Retrieval
Correct answer: C — S3 Intelligent-Tiering
Intelligent-Tiering watches access patterns for each object and moves it between frequent and infrequent tiers automatically, with no retrieval fee and millisecond access. That is exactly the case of unpredictable access. Standard costs more for cold data. Standard-IA charges a retrieval fee and a minimum storage duration. Glacier adds retrieval time, which the team does not accept.
S3 Intelligent-TieringAn application runs in us-east-1. The business wants traffic to move to a standby stack in eu-west-1 automatically if the primary Region becomes unhealthy. Which combination should be used?
- AAmazon Route 53 failover routing with health checks on both endpoints✓
- BAn Application Load Balancer with targets in both Regions
- CRoute 53 weighted routing with equal weights
- DAn Auto Scaling group spanning both Regions
Correct answer: A — Amazon Route 53 failover routing with health checks on both endpoints
Route 53 failover routing sends traffic to the primary record while its health check passes, and switches to the secondary record when it fails. An ALB works inside one Region only. Weighted routing splits traffic all the time instead of failing over. Auto Scaling groups cannot span Regions.
Route 53 failover routing policyA compliance rule says data in Amazon S3 must be encrypted at rest, the company must control the encryption key and its rotation, and every use of the key must appear in an audit trail. Which option meets all three requirements?
- ASSE-S3 with Amazon S3 managed keys
- BSSE-KMS with a customer managed AWS KMS key✓
- CClient-side encryption with a key stored in the application code
- DEnable S3 Versioning and Object Lock
Correct answer: B — SSE-KMS with a customer managed AWS KMS key
A customer managed KMS key lets the company control the key policy and rotation, and every encrypt and decrypt call is logged in AWS CloudTrail. SSE-S3 keys are fully managed by AWS, so there is no customer control or per-key audit trail. A key in application code is a security problem, not a solution. Versioning and Object Lock protect against deletion, not access.
Using server-side encryption with AWS KMS keysA self-managed database on EC2 needs sustained IOPS above 40,000 with single-digit millisecond latency and sub-millisecond consistency. Which EBS volume type should the architect choose?
- Agp2
- Bgp3
- Cio2 Block Express✓
- Dst1
Correct answer: C — io2 Block Express
io2 Block Express is the provisioned IOPS family built for the highest performance databases — up to 256,000 IOPS per volume with very consistent latency. gp3 tops out at 16,000 IOPS, gp2 IOPS scale with volume size and are less predictable, and st1 is throughput-optimized HDD for big sequential workloads such as logs.
Amazon EBS volume typesA web application runs on EC2 instances behind an Application Load Balancer in a single Availability Zone. The team wants the site to survive the loss of one Availability Zone. What should they do? (Select TWO.)
- AAdd subnets in at least one more Availability Zone and enable them on the load balancer.✓
- BRun the Auto Scaling group across multiple Availability Zones.✓
- CSwitch the load balancer to a Network Load Balancer.
- DMove the instances to a cluster placement group.
- EEnable termination protection on every instance.
Correct answer: A, B — Add subnets in at least one more Availability Zone and enable them on the load balancer. · Run the Auto Scaling group across multiple Availability Zones.
High availability inside a Region comes from spreading across Availability Zones: the load balancer needs subnets in more than one AZ, and the Auto Scaling group must launch instances in those AZs so capacity survives an AZ failure. The load balancer type does not change availability. A cluster placement group keeps instances in one AZ, which is the opposite of what is needed. Termination protection only stops manual termination.
Auto Scaling groups with multiple AZsAccount B must read objects in a bucket owned by Account A. Which approaches can grant that access? (Select TWO.)
- AAdd a bucket policy in Account A that allows the Account B principal to read the objects.✓
- BCreate an IAM role in Account A that trusts Account B, and let Account B assume it.✓
- CCreate an IAM user in Account A and share its access keys with Account B.
- DEnable public read on the bucket and tell Account B the URL.
- EAdd Account B to the Account A security group for S3.
Correct answer: A, B — Add a bucket policy in Account A that allows the Account B principal to read the objects. · Create an IAM role in Account A that trusts Account B, and let Account B assume it.
Cross-account access to S3 is done either with a resource-based policy (the bucket policy naming the other account) or with a cross-account IAM role that Account B assumes. Sharing access keys breaks credential hygiene and is never the exam answer. Public access exposes the data to everyone. Security groups protect network interfaces, not S3 buckets.
Cross-account access in Amazon S3EC2 instances in private subnets copy several terabytes per month to Amazon S3 through a NAT gateway. The finance team wants to cut the data processing charges. What should the architect do?
- ACreate a gateway VPC endpoint for Amazon S3 and route S3 traffic through it.✓
- BReplace the NAT gateway with a NAT instance.
- CMove the instances to public subnets with public IP addresses.
- DEnable S3 Transfer Acceleration on the bucket.
Correct answer: A — Create a gateway VPC endpoint for Amazon S3 and route S3 traffic through it.
A gateway VPC endpoint for S3 costs nothing and keeps the traffic on the AWS network, so it skips the NAT gateway's hourly and per-GB processing charges. A NAT instance is cheaper per hour but you manage and scale it yourself. Public subnets remove the private design and still charge for internet data transfer. Transfer Acceleration adds cost rather than removing it.
Gateway endpoints for Amazon S3A Linux application runs on many EC2 instances that all need read and write access to the same set of files, using standard POSIX file system semantics. The storage must grow automatically. What should the architect use?
- AAn Amazon EBS volume attached to each instance
- BAmazon EFS mounted on all instances✓
- CAn Amazon S3 bucket mounted with the AWS CLI
- DAmazon FSx for Windows File Server
Correct answer: B — Amazon EFS mounted on all instances
Amazon EFS is a shared NFS file system for Linux that many instances can mount at once, and it grows and shrinks automatically. EBS volumes are attached to a single instance in most cases and do not give a shared namespace. S3 is object storage without POSIX semantics. FSx for Windows File Server uses SMB and targets Windows workloads.
What is Amazon EFS?EC2 instances in private subnets must download operating system patches from the internet, but nothing on the internet may start a connection to them. What should the architect deploy?
- AAn internet gateway with routes from the private subnets
- BA NAT gateway in a public subnet, with a route from the private subnets✓
- CAn egress-only internet gateway
- DA VPC peering connection to a shared services VPC
Correct answer: B — A NAT gateway in a public subnet, with a route from the private subnets
A NAT gateway lets private instances start outbound connections while blocking inbound ones. Routing private subnets straight to an internet gateway would make them public. An egress-only internet gateway does the same job as NAT but only for IPv6. VPC peering connects VPCs and gives no internet path.
NAT gatewaysAn order processing system must handle each order exactly once and keep orders in the sequence customers submitted them. Which service configuration meets this?
- AAn Amazon SQS standard queue
- BAn Amazon SQS FIFO queue with message group IDs✓
- CAn Amazon SNS standard topic
- DAmazon Kinesis Data Firehose
Correct answer: B — An Amazon SQS FIFO queue with message group IDs
FIFO queues give exactly-once processing and keep strict order inside each message group ID. Standard queues are at-least-once and best-effort ordering, so duplicates and out-of-order delivery are possible. SNS is publish/subscribe fan-out, not a work queue. Firehose loads streaming data into stores like S3 and does not give per-order processing semantics.
Amazon SQS FIFO queuesA reporting workload runs heavy read queries against an Amazon Aurora MySQL cluster and slows down the writes from the main application. What is the best fix?
- AAdd Aurora Replicas and point the reporting workload at the reader endpoint.✓
- BIncrease the size of the writer instance.
- CMove the reporting workload to a nightly snapshot restore.
- DEnable Multi-AZ on the cluster.
Correct answer: A — Add Aurora Replicas and point the reporting workload at the reader endpoint.
Aurora Replicas share the same storage volume and serve read traffic through the reader endpoint, so reporting queries stop competing with writes. A larger writer costs more and still mixes both workloads. Nightly restores give stale data and extra work. Aurora is already replicated across AZs — that setting is about availability, not read scaling.
Aurora replicas and endpointsA batch video encoding job runs for a few hours each night. The job can be stopped and restarted safely, and it must be as cheap as possible. Which compute option should be used?
- AOn-Demand Instances
- BSpot Instances✓
- CDedicated Hosts
- DStandard Reserved Instances
Correct answer: B — Spot Instances
Spot Instances use spare capacity at a large discount and are the right choice for fault-tolerant, restartable batch work. On-Demand costs much more. Dedicated Hosts are for licensing and isolation requirements. Reserved Instances suit steady, always-on workloads, not a few hours a night.
Amazon EC2 Spot InstancesA public web application behind an Application Load Balancer is being probed with SQL injection strings and traffic floods from a small set of IP addresses. Which service should be added to block these requests?
- AAWS WAF with managed rules and a rate-based rule✓
- BAWS Shield Standard
- CAmazon GuardDuty
- DNetwork ACLs on the load balancer subnets
Correct answer: A — AWS WAF with managed rules and a rate-based rule
AWS WAF inspects HTTP requests and can block SQL injection with managed rule groups, while rate-based rules throttle noisy IP addresses. Shield Standard protects against network and transport layer DDoS automatically but does not read HTTP payloads. GuardDuty detects threats and alerts — it does not block. Network ACLs filter by IP and port only, and cannot see the SQL in a request body.
AWS WAF rule statementsA team must protect documents in Amazon S3 so that a deleted or overwritten file can always be recovered, and so that nobody can permanently delete a version without extra authentication. What should be enabled?
- AS3 Versioning together with MFA delete✓
- BS3 Cross-Region Replication only
- CS3 lifecycle rules that move objects to Glacier
- DS3 server access logging
Correct answer: A — S3 Versioning together with MFA delete
Versioning keeps every version of an object, so overwrites and deletes are recoverable. MFA delete requires a multi-factor code before a version can be permanently removed. Replication copies data but does not by itself stop deletion of versions. Lifecycle rules manage cost, and access logging only records who did what.
Using MFA deleteAn AWS Lambda function that runs a latency-sensitive API sometimes takes over a second to respond because of cold starts. Which change reduces that delay?
- AIncrease the function timeout
- BConfigure provisioned concurrency on the published version or alias✓
- CMove the function into a VPC
- DSwitch the function to an ARM architecture
Correct answer: B — Configure provisioned concurrency on the published version or alias
Provisioned concurrency keeps a set number of execution environments initialized and ready, which removes the cold start for those requests. Timeout controls how long a run may last, not startup time. Putting a function in a VPC can add setup work rather than remove it. Graviton usually lowers cost and can help runtime, but it is not the cold start fix.
Lambda provisioned concurrencyRegulations require log archives to be kept for seven years. The logs will almost certainly never be read, and if they are, a retrieval time of up to 12 hours is acceptable. Which storage class is cheapest for this?
- AS3 Standard-IA
- BS3 One Zone-IA
- CS3 Glacier Flexible Retrieval
- DS3 Glacier Deep Archive✓
Correct answer: D — S3 Glacier Deep Archive
Glacier Deep Archive is the lowest-cost S3 class and is designed for data kept for years with retrieval measured in hours — exactly this case. Glacier Flexible Retrieval costs more and targets retrievals in minutes to hours. Both IA classes are far more expensive for seven-year archives, and One Zone-IA also stores data in a single Availability Zone.
Amazon S3 storage classesAn application needs database credentials that rotate automatically every 30 days without any code deployment. Which service should store them?
- AAWS Secrets Manager✓
- BAWS Systems Manager Parameter Store standard parameters
- CAn encrypted S3 object read at startup
- DEnvironment variables on the EC2 instances
Correct answer: A — AWS Secrets Manager
Secrets Manager has built-in rotation that can update the secret and the database password together with a Lambda rotation function. Parameter Store can hold encrypted values but does not rotate them for you. An S3 object or environment variables require you to build and run the rotation yourself.
Rotating secrets in AWS Secrets ManagerA stateful web application stores user sessions in memory on each EC2 instance. When Auto Scaling removes an instance, those users are logged out. Which options fix this? (Select TWO.)
- AStore sessions in Amazon ElastiCache for Redis.✓
- BStore sessions in an Amazon DynamoDB table.✓
- CEnable sticky sessions on the load balancer and keep sessions in memory.
- DDisable scale-in on the Auto Scaling group.
- EStore sessions in the instance store volume.
Correct answer: A, B — Store sessions in Amazon ElastiCache for Redis. · Store sessions in an Amazon DynamoDB table.
Moving session state off the instance makes the tier stateless: ElastiCache for Redis and DynamoDB are both standard choices. Sticky sessions still lose the session when the instance goes away. Disabling scale-in avoids the symptom and wastes money. Instance store is ephemeral local disk, so it disappears with the instance.
Session management optionsWhich statement about security groups and network ACLs is correct?
- ASecurity groups are stateless; network ACLs are stateful.
- BSecurity groups are stateful and support allow rules only; network ACLs are stateless and support allow and deny rules.✓
- CBoth are stateful, but only network ACLs support deny rules.
- DSecurity groups apply to subnets; network ACLs apply to instances.
Correct answer: B — Security groups are stateful and support allow rules only; network ACLs are stateless and support allow and deny rules.
A security group is stateful — return traffic for an allowed connection is automatically permitted — and it can only allow, never deny. A network ACL is stateless, so inbound and outbound rules must both be written, and it supports explicit deny rules. Security groups attach to elastic network interfaces; network ACLs attach to subnets.
Compare security groups and network ACLsA global multiplayer game uses TCP and UDP. Players far from the Region complain about high latency and occasional packet loss, and the team wants static IP addresses for the service. Which AWS service should be used?
- AAmazon CloudFront
- BAWS Global Accelerator✓
- CAmazon Route 53 latency-based routing
- DAWS Direct Connect
Correct answer: B — AWS Global Accelerator
Global Accelerator gives two static anycast IP addresses and sends TCP and UDP traffic over the AWS backbone from the nearest edge location, which lowers latency and jitter. CloudFront is built for HTTP/HTTPS content delivery. Latency-based routing only picks a Region at DNS time and does not improve the network path. Direct Connect is a private link from a company data centre, not for players on the internet.
What is AWS Global Accelerator?A fleet of EC2 instances uses gp2 EBS volumes sized far larger than the data they hold, only to reach the IOPS the applications need. The team wants to cut storage cost without losing performance. What should they do?
- AMigrate the volumes to gp3 and set IOPS and throughput independently of size.✓
- BMigrate the volumes to io2 and provision the same IOPS.
- CMove the data to instance store volumes.
- DTake snapshots and delete the volumes each night.
Correct answer: A — Migrate the volumes to gp3 and set IOPS and throughput independently of size.
With gp3 you pay for the capacity you need and then dial in IOPS and throughput separately, so the oversized volumes can shrink. gp2 ties IOPS to size, which is why the volumes are big. io2 is a premium class and would raise cost. Instance store is not durable, and deleting volumes nightly breaks the applications.
General Purpose SSD volumesA company runs hundreds of AWS accounts under AWS Organizations. Security wants a guardrail that makes it impossible for any account — including its administrators — to disable AWS CloudTrail. What should be used?
- AAn IAM policy attached to every IAM user
- BA service control policy (SCP) applied to the organizational units✓
- CAn AWS Config rule that checks CloudTrail status
- DA permissions boundary on the administrator role
Correct answer: B — A service control policy (SCP) applied to the organizational units
Service control policies set the maximum permissions for accounts in an organization, so an SCP that denies CloudTrail stop and delete actions blocks even the account root and administrators. IAM policies can be changed by an account admin. Config rules detect drift after the fact. A permissions boundary limits one principal, not the whole account.
Service control policiesA disaster recovery plan requires an RTO of about 10 minutes and an RPO of a few seconds, at a cost lower than running a full second copy of production. Which strategy fits best?
- ABackup and restore
- BPilot light
- CWarm standby✓
- DMulti-site active/active
Correct answer: C — Warm standby
Warm standby keeps a scaled-down but running copy of the workload with data replicating continuously, so recovery is a matter of scaling up — minutes of RTO and seconds of RPO. Backup and restore takes hours. Pilot light has only core pieces such as the database running, so bringing up the app tier takes longer. Active/active meets the target but costs the most.
Disaster recovery options in the cloudA developer belongs to an IAM group whose policy allows s3:* on a bucket. A separate policy attached directly to the developer's IAM user explicitly denies s3:DeleteObject on the same bucket. What is the result when the developer tries to delete an object?
- AThe delete succeeds, because the group policy is more permissive.
- BThe delete is denied, because an explicit deny always overrides any allow.✓
- CThe delete succeeds only if the bucket policy also allows it.
- DThe result depends on which policy was attached most recently.
Correct answer: B — The delete is denied, because an explicit deny always overrides any allow.
IAM evaluates every applicable policy together: the request is denied by default, an allow can permit it, and an explicit deny anywhere overrides every allow. Order of attachment and relative permissiveness never matter.
Policy evaluation logicA company must give engineers shell access to EC2 instances in private subnets. Security requires no inbound ports open, no bastion host to patch, no SSH keys to distribute, and a full audit log of every session.
- AAWS Systems Manager Session Manager with the SSM Agent and session logging to CloudWatch Logs or S3.✓
- BA bastion host in a public subnet with a security group limited to the office IP range.
- CEC2 Instance Connect with a public IP on each instance.
- DA Client VPN endpoint plus SSH key pairs stored in Secrets Manager.
Correct answer: A — AWS Systems Manager Session Manager with the SSM Agent and session logging to CloudWatch Logs or S3.
Session Manager connects outbound through the SSM Agent, so no inbound port is opened and no key material exists, and every session can be logged and recorded. A bastion is a host you must patch and expose. Instance Connect still needs network reachability and pushes keys. A VPN plus keys reintroduces key distribution.
AWS Systems Manager Session ManagerAfter an incident where a developer made a bucket public, a company wants a control that prevents any bucket in the account from being made public, regardless of bucket policies or ACLs set later.
- AEnable S3 Block Public Access at the account level.✓
- BAdd a Deny statement to each existing bucket policy.
- CEnable S3 Versioning on all buckets.
- DTurn on AWS Config to record bucket configuration changes.
Correct answer: A — Enable S3 Block Public Access at the account level.
Account-level Block Public Access overrides bucket policies and ACLs for every current and future bucket in the account, which is exactly the guardrail described. Per-bucket policies must be maintained one at a time and miss new buckets. Versioning protects against deletion. Config detects the problem after it happens.
Blocking public access to your Amazon S3 storageA public web application behind an Application Load Balancer must serve HTTPS with a certificate that renews automatically at no extra cost, and the certificate must not be installed on the EC2 instances.
- ARequest a public certificate in AWS Certificate Manager and attach it to an HTTPS listener on the load balancer.✓
- BBuy a certificate from a third party and install it on each EC2 instance.
- CImport a self-signed certificate into ACM and attach it to the listener.
- DEnable field-level encryption on the load balancer.
Correct answer: A — Request a public certificate in AWS Certificate Manager and attach it to an HTTPS listener on the load balancer.
ACM public certificates are free when used with integrated services such as ELB, CloudFront and API Gateway, and ACM renews them automatically as long as validation stays in place. Terminating TLS at the load balancer keeps certificates off the instances. Imported certificates — including self-signed ones — are not auto-renewed, and browsers reject self-signed certs.
AWS Certificate Manager conceptsIn a three-tier VPC design, application servers must accept traffic on port 8080 only from the web tier instances, which scale in and out constantly so their IP addresses change.
- AIn the app tier security group, add an inbound rule for port 8080 whose source is the web tier's security group ID.✓
- BAdd the current web tier private IP addresses to the app tier security group and update them with a Lambda function.
- CAllow the whole VPC CIDR on port 8080 in the app tier security group.
- DUse a network ACL that allows port 8080 from the web subnet CIDR.
Correct answer: A — In the app tier security group, add an inbound rule for port 8080 whose source is the web tier's security group ID.
A security group rule can reference another security group as its source, so membership follows instances automatically as they launch and terminate — no IP tracking. Maintaining IP lists with automation is fragile. Allowing the entire VPC CIDR or a subnet range grants far more than the web tier, including anything else placed in that range.
Security group rulesA SaaS provider must expose an internal service to hundreds of customer VPCs. Traffic must stay on the AWS network, customers must not need VPC peering, and overlapping CIDR blocks between customers must not be a problem.
- APublish the service with AWS PrivateLink: a Network Load Balancer plus a VPC endpoint service that customers consume through interface endpoints.✓
- BCreate a VPC peering connection with each customer VPC.
- CExpose the service through an internet-facing ALB restricted by security group rules.
- DAttach every customer VPC to a shared transit gateway.
Correct answer: A — Publish the service with AWS PrivateLink: a Network Load Balancer plus a VPC endpoint service that customers consume through interface endpoints.
PrivateLink exposes one service through interface endpoints in the consumer VPC, so traffic never leaves the AWS network, there is no route table or CIDR relationship between the two VPCs, and overlapping address space is irrelevant. Peering and transit gateway both join networks and break on overlapping CIDRs, and they do not scale to hundreds of tenants cleanly. An internet-facing ALB puts the traffic on the public internet.
AWS PrivateLink and VPC endpoint servicesA company with 40 AWS accounts wants employees to sign in once with their existing corporate identity provider and get role-based access to the accounts they are entitled to, without IAM users in each account.
- AUse AWS IAM Identity Center with the corporate IdP as the identity source, and assign permission sets to groups per account.✓
- BCreate IAM users in a central account and cross-account roles in the others, sharing access keys with employees.
- CCreate an Amazon Cognito user pool and federate the employees through it.
- DUse AWS Directory Service to create a managed Active Directory in every account.
Correct answer: A — Use AWS IAM Identity Center with the corporate IdP as the identity source, and assign permission sets to groups per account.
IAM Identity Center is the workforce SSO service: connect an external IdP, define permission sets, and assign them to groups per account — users get short-lived credentials and no IAM user exists anywhere. Cognito is for application end users, not workforce access. Sharing access keys is the pattern being eliminated, and a managed AD per account multiplies the work.
What is AWS IAM Identity Center?A healthcare company must find out whether any of the millions of objects in its S3 buckets contain personal data such as names, addresses or medical record numbers, and be alerted when new sensitive objects appear.
- AAmazon Macie✓
- BAmazon Inspector
- CAmazon GuardDuty
- DAWS Config with the s3-bucket-public-read-prohibited rule
Correct answer: A — Amazon Macie
Macie uses machine learning and pattern matching to discover sensitive data in S3 and reports findings continuously. Inspector scans workloads for software vulnerabilities, GuardDuty detects threats from log activity, and the Config rule checks bucket permissions — none of them look inside objects.
What is Amazon Macie?An Amazon ECS task must read a database password at start-up. The password must never appear in the task definition, the container image, or CloudWatch Logs.
- AStore the password in AWS Secrets Manager and reference it in the task definition's `secrets` block, granting the task execution role permission to read it.✓
- BPass the password as an `environment` variable in the task definition.
- CBake the password into the container image as a file with restricted permissions.
- DStore the password in the task's Docker labels.
Correct answer: A — Store the password in AWS Secrets Manager and reference it in the task definition's `secrets` block, granting the task execution role permission to read it.
The `secrets` block makes the ECS agent fetch the value from Secrets Manager (or SSM Parameter Store) at task start and inject it into the container, so the plaintext never sits in the task definition. Environment variables in the task definition are visible to anyone with describe permissions, and anything baked into an image or a label travels wherever the image goes.
Passing sensitive data to an Amazon ECS containerA security team wants to be told when an EC2 instance starts communicating with a known command-and-control domain, using AWS logs it already produces and with no agents to install.
- AAmazon GuardDuty✓
- BAmazon Inspector
- CAWS Security Hub
- DAmazon Detective
Correct answer: A — Amazon GuardDuty
GuardDuty analyses CloudTrail, VPC flow logs and DNS logs against threat intelligence, so malicious domain lookups produce findings with nothing installed on the instance. Inspector scans for vulnerabilities. Security Hub aggregates findings from other services rather than generating them. Detective helps investigate a finding after GuardDuty raises it.
How Amazon GuardDuty uses its data sourcesPartners upload files into a company's S3 bucket from their own AWS accounts. The company finds it cannot read some objects because the uploading account owns them. What is the recommended fix?
- ASet the bucket's Object Ownership to Bucket owner enforced, which disables ACLs and makes the bucket owner the owner of every object.✓
- BAsk each partner to add a bucket-owner-full-control ACL to every upload, permanently.
- CEnable S3 Versioning on the bucket.
- DCopy the objects to a second bucket with a Lambda function on every upload.
Correct answer: A — Set the bucket's Object Ownership to Bucket owner enforced, which disables ACLs and makes the bucket owner the owner of every object.
Bucket owner enforced disables ACLs entirely and gives the bucket owner ownership of all objects, which is the current AWS recommendation and removes the cross-account ownership problem at the source. The ACL header approach depends on every partner remembering it. Versioning is unrelated, and copying objects doubles storage and adds moving parts.
Controlling ownership of objectsA high-profile retailer is targeted by repeated large-scale DDoS attacks. It wants 24/7 access to the AWS DDoS Response Team, protection against scaling charges caused by attack traffic, and detailed attack diagnostics.
- ASubscribe to AWS Shield Advanced.✓
- BRely on AWS Shield Standard, which is enabled by default.
- CAdd AWS WAF rate-based rules only.
- DEnable Amazon GuardDuty with EKS protection.
Correct answer: A — Subscribe to AWS Shield Advanced.
Shield Advanced adds the DDoS Response Team, cost protection that credits scaling charges caused by an attack, richer attack visibility and WAF at no extra charge on protected resources. Shield Standard is automatic but has none of those. WAF rate limiting helps at the application layer but offers no response team or billing protection. GuardDuty detects threats and does not mitigate DDoS.
AWS Shield Advanced overviewA worker fleet reads from an Amazon SQS queue. One malformed message makes the workers crash; it returns to the queue and is retried forever, blocking throughput. What should the architect configure?
- AA redrive policy that moves a message to a dead-letter queue after a set maxReceiveCount.✓
- BA longer visibility timeout on the source queue.
- CA FIFO queue instead of a standard queue.
- DA shorter message retention period.
Correct answer: A — A redrive policy that moves a message to a dead-letter queue after a set maxReceiveCount.
A dead-letter queue with maxReceiveCount takes the poison message out of the main flow after a few failed attempts, so healthy messages keep moving and the bad one can be inspected. A longer visibility timeout slows the loop without ending it, FIFO changes ordering not failure handling, and shorter retention throws away good messages too.
Amazon SQS dead-letter queuesAt 14:30 an engineer runs a bad migration that corrupts data in an Amazon RDS database. Automated backups are enabled with a seven-day retention period. The team needs the database back as it was at 14:25.
- APerform a point-in-time restore, which creates a new DB instance at the chosen second within the retention window.✓
- BRestore the most recent nightly automated snapshot in place over the existing instance.
- CPromote a read replica, which holds the pre-migration data.
- DFail over to the Multi-AZ standby, which is unaffected by the migration.
Correct answer: A — Perform a point-in-time restore, which creates a new DB instance at the chosen second within the retention window.
Automated backups plus transaction logs let RDS restore to any second in the retention window, and the restore always creates a new instance that you then point the application at. A nightly snapshot loses hours of work and cannot overwrite an instance in place. Replicas and the Multi-AZ standby both replicate the corrupting change within seconds.
Restoring a DB instance to a specified timeA gaming company needs a database that accepts writes in three Regions at once, replicates changes between them within a second, and keeps working in the other Regions if one Region fails.
- AAmazon DynamoDB global tables✓
- BAmazon RDS Multi-AZ with cross-Region read replicas
- CAmazon Aurora with reader endpoints in each Region
- DAmazon ElastiCache global datastore
Correct answer: A — Amazon DynamoDB global tables
Global tables give multi-Region, multi-active DynamoDB tables with replication typically under a second and independent Regional endpoints. RDS read replicas accept reads only and need promotion. An Aurora cluster serves writes from one Region; even a global database has a single writer. ElastiCache is a cache, not the system of record.
Amazon DynamoDB global tablesA VPC spans three Availability Zones with private subnets in each. All outbound internet traffic currently routes through a single NAT gateway in one AZ. What is the resilience problem, and how should it be fixed?
- ALosing that AZ cuts internet access for all private subnets — deploy one NAT gateway per AZ and point each private subnet's route table at the NAT gateway in its own AZ.✓
- BThere is no problem, because NAT gateways are Regional and automatically redundant.
- CReplace the NAT gateway with a NAT instance in an Auto Scaling group across AZs.
- DAttach an internet gateway to each private subnet as a backup path.
Correct answer: A — Losing that AZ cuts internet access for all private subnets — deploy one NAT gateway per AZ and point each private subnet's route table at the NAT gateway in its own AZ.
A NAT gateway is redundant inside its own Availability Zone but not across zones, so a zonal failure isolates every subnet routing through it — and cross-AZ traffic also costs more. The standard design is one NAT gateway per AZ with matching route tables. NAT instances are self-managed and slower. Attaching an internet gateway would make the subnets public.
NAT gateway basicsStatic assets in an S3 bucket in eu-west-1 must exist in us-east-1 as well, so the site can be served from the second Region during a Regional outage. New objects must copy automatically.
- AEnable S3 Cross-Region Replication to a bucket in us-east-1, with versioning on both buckets.✓
- BSchedule a nightly `aws s3 sync` from an EC2 instance.
- CEnable S3 Transfer Acceleration on the source bucket.
- DChange the bucket's storage class to S3 One Zone-IA in both Regions.
Correct answer: A — Enable S3 Cross-Region Replication to a bucket in us-east-1, with versioning on both buckets.
Cross-Region Replication copies new and updated objects automatically and requires versioning on the source and destination buckets. A nightly sync leaves up to a day of drift and a job to babysit. Transfer Acceleration speeds uploads to one bucket. One Zone-IA reduces durability by storing in a single AZ, which is the opposite of the goal.
Replicating objects across RegionsAn event-driven system uses Amazon EventBridge. After a bug in a consumer was fixed, the team needs to reprocess the events that were delivered while the consumer was broken.
- AEnable an EventBridge archive on the event bus and replay the archived events over the affected time window.✓
- BRestore the consumer's database from a snapshot taken before the bug.
- CRe-run the producers so they emit the same events again.
- DIncrease the EventBridge retry policy and maximum event age.
Correct answer: A — Enable an EventBridge archive on the event bus and replay the archived events over the affected time window.
EventBridge archives retain matching events for a chosen period, and replay re-sends them to selected rules for a start and end time — built for exactly this recovery. A database restore does not recreate missed events. Re-running producers is usually impossible and can duplicate side effects. Retry settings only affect delivery of events happening now.
Archive and replay events with EventBridgeInstances in an Auto Scaling group behind an Application Load Balancer sometimes stop serving requests while the operating system keeps running. The load balancer marks them unhealthy, but Auto Scaling never replaces them.
- AChange the Auto Scaling group's health check type to ELB and set an appropriate health check grace period.✓
- BReduce the load balancer's health check interval.
- CEnable termination protection on the instances.
- DIncrease the group's cooldown period.
Correct answer: A — Change the Auto Scaling group's health check type to ELB and set an appropriate health check grace period.
By default an Auto Scaling group only uses EC2 status checks, which pass while the OS is healthy and the application is dead. Setting the health check type to ELB makes the group act on the load balancer's verdict and replace the instance; the grace period stops new instances being killed during start-up. Shorter intervals detect faster but still trigger no replacement, and the other options block or delay replacement.
Health checks for instances in an Auto Scaling groupAn operations team must apply one backup policy across EC2, EBS, RDS, DynamoDB and EFS, prove retention compliance in an audit, and copy backups to a second Region.
- AUse AWS Backup with a backup plan, resource assignment by tag, and a cross-Region copy rule.✓
- BWrite Lambda functions triggered by EventBridge schedules for each service's snapshot API.
- CEnable automated backups on each service separately and record the settings in a spreadsheet.
- DUse Amazon Data Lifecycle Manager for every resource type.
Correct answer: A — Use AWS Backup with a backup plan, resource assignment by tag, and a cross-Region copy rule.
AWS Backup centralises policies across supported services, selects resources by tag, copies recovery points to another Region, and provides Backup Audit Manager reports for compliance evidence. Per-service Lambda functions or manual settings recreate that badly with no central proof. Data Lifecycle Manager covers EBS snapshots and AMIs only.
What is AWS Backup?A company stores build artifacts on Amazon EFS using the One Zone storage class to save money. During an Availability Zone outage the artifacts became unavailable, halting deployments. What should the architect recommend?
- AMove the file system to EFS Standard, which stores data redundantly across multiple Availability Zones.✓
- BKeep One Zone and take nightly backups to S3.
- CMount the One Zone file system from instances in two Availability Zones.
- DEnable EFS Intelligent-Tiering.
Correct answer: A — Move the file system to EFS Standard, which stores data redundantly across multiple Availability Zones.
One Zone classes store data in a single Availability Zone, so an AZ outage takes the data offline — the trade-off you accept for the lower price. If the workload cannot tolerate that, the fix is a Standard (multi-AZ) file system. Nightly backups still mean downtime and data loss. Mounting from other AZs does not change where the data lives, and Intelligent-Tiering only moves data between access tiers.
Amazon EFS storage classesA reporting dashboard runs the same expensive aggregation query against Amazon RDS hundreds of times a minute. The data changes only every few minutes. What is the most effective way to cut database load and response time?
- ACache the query results in Amazon ElastiCache and serve subsequent requests from the cache until the TTL expires.✓
- BAdd a read replica and send the dashboard queries to it.
- CIncrease the RDS instance size.
- DEnable Multi-AZ on the RDS instance.
Correct answer: A — Cache the query results in Amazon ElastiCache and serve subsequent requests from the cache until the TTL expires.
Caching removes the repeated work entirely — an in-memory hit costs microseconds and the database runs the aggregation once per TTL. A read replica moves the same expensive query to another instance you also pay for. A bigger instance runs the query faster but still runs it every time. Multi-AZ is for availability, and the standby serves no traffic.
Caching strategies with ElastiCacheField teams around the world upload 5 GB video files to an S3 bucket in us-east-1. Uploads are slow and sometimes fail near the end, forcing a full restart.
- AUse multipart upload for the large files and enable S3 Transfer Acceleration on the bucket.✓
- BAsk the teams to compress the files before uploading.
- CCreate a bucket in every Region and replicate to us-east-1.
- DUse S3 Intelligent-Tiering on the destination bucket.
Correct answer: A — Use multipart upload for the large files and enable S3 Transfer Acceleration on the bucket.
Multipart upload splits the object into parts that transfer in parallel and lets a failed part be retried on its own instead of restarting the whole upload; Transfer Acceleration routes the traffic over the CloudFront edge network to shorten the public internet path. Compression helps marginally and changes the files. Regional buckets plus replication multiply cost and complexity. Intelligent-Tiering is a storage cost feature.
Uploading and copying objects using multipart uploadA computational fluid dynamics workload runs across dozens of EC2 instances that exchange messages constantly. The team needs the lowest possible network latency and highest packet-per-second performance between the nodes.
- ALaunch the instances in a cluster placement group with enhanced networking, in a single Availability Zone.✓
- BLaunch the instances in a spread placement group across three Availability Zones.
- CPut the instances behind a Network Load Balancer.
- DEnable AWS Global Accelerator for the instances.
Correct answer: A — Launch the instances in a cluster placement group with enhanced networking, in a single Availability Zone.
A cluster placement group packs instances close together on the same high-bisection-bandwidth network segment inside one AZ, which is the documented pattern for tightly coupled HPC. A spread placement group deliberately separates instances for availability, which raises latency. Load balancers and Global Accelerator handle inbound client traffic, not node-to-node communication.
Placement groupsA machine learning team trains models on hundreds of terabytes held in Amazon S3. Training jobs need a POSIX file system with sub-millisecond latency and hundreds of GB/s of throughput, linked to the S3 data.
- AAmazon FSx for Lustre, linked to the S3 bucket✓
- BAmazon EFS with Max I/O performance mode
- CAmazon EBS io2 volumes attached to each training instance
- DMounting the S3 bucket over HTTP with a third-party FUSE driver
Correct answer: A — Amazon FSx for Lustre, linked to the S3 bucket
FSx for Lustre is the high-performance file system built for HPC and ML: it presents S3 objects as files, loads data lazily, and scales to hundreds of GB/s with sub-millisecond latency. EFS is general-purpose NFS and does not reach those numbers. EBS volumes are per-instance and would need the data copied to each one. FUSE mounts add latency and are not a supported performance answer.
Amazon FSx for Lustre and Amazon S3Analysts want to run occasional SQL queries over years of compressed log files already stored in Amazon S3. There is no appetite to run a database or a cluster, and cost should scale with usage.
- AQuery the data in place with Amazon Athena, partitioning and converting to a columnar format to reduce scanned bytes.✓
- BLoad everything into Amazon Redshift and query it there.
- CImport the logs into Amazon RDS for PostgreSQL.
- DRun an EMR cluster whenever an analyst has a question.
Correct answer: A — Query the data in place with Amazon Athena, partitioning and converting to a columnar format to reduce scanned bytes.
Athena is serverless and charges per terabyte scanned, so occasional queries over S3 cost almost nothing when the data is partitioned and stored as Parquet or ORC. Redshift and RDS require provisioned, always-running infrastructure and a load process. EMR is powerful but is a cluster to configure and pay for.
Amazon Athena performance tuningClickstream events must be consumed by three separate applications in real time, and each application must be able to re-read the last 24 hours of events independently after a bug fix.
- AAmazon Kinesis Data Streams with a retention period of at least 24 hours and multiple consumers✓
- BAmazon Data Firehose delivering to Amazon S3
- CAn Amazon SQS standard queue with three consumer groups
- DAmazon SNS with three subscriptions
Correct answer: A — Amazon Kinesis Data Streams with a retention period of at least 24 hours and multiple consumers
Kinesis Data Streams keeps records for a configurable retention period and lets many consumers read the same shard at their own position, so replay after a fix is built in. Firehose is a delivery pipeline with no consumer replay. SQS deletes a message once it is processed and has no consumer groups. SNS fans out to subscribers but does not retain records for re-reading.
Amazon Kinesis Data Streams conceptsA European company launches in Australia. Australian users complain that read-heavy pages served from an Amazon RDS for PostgreSQL database in eu-west-1 are slow, although writes are rare and can stay in Europe.
- ACreate a cross-Region read replica in ap-southeast-2 and route Australian read traffic to it.✓
- BEnable Multi-AZ on the primary database.
- CPut Amazon CloudFront in front of the database endpoint.
- DIncrease the primary instance class and enable Performance Insights.
Correct answer: A — Create a cross-Region read replica in ap-southeast-2 and route Australian read traffic to it.
A cross-Region read replica places a readable copy near the users, cutting round-trip latency for the read-heavy pages while writes continue against the primary. Multi-AZ adds a standby in the same Region that serves no traffic. CloudFront accelerates HTTP content, not database connections. A larger instance in Europe cannot fix the speed of light.
Working with read replicasApplication logs are written to Amazon S3. They are queried often during the first 30 days, occasionally for the next 60 days, and must then be kept for seven years for compliance with retrieval times of hours being acceptable.
- AA lifecycle configuration that transitions objects to S3 Standard-IA after 30 days and to S3 Glacier Deep Archive after 90 days.✓
- BKeep everything in S3 Standard and rely on compression.
- CMove all objects to S3 Glacier Deep Archive immediately on upload.
- DCopy old logs to EBS cold HDD volumes.
Correct answer: A — A lifecycle configuration that transitions objects to S3 Standard-IA after 30 days and to S3 Glacier Deep Archive after 90 days.
Lifecycle rules match storage class to the access pattern described, and Deep Archive is the cheapest option for the seven-year tail where hours-long retrieval is acceptable. Keeping everything in Standard is the expensive default. Archiving on day one makes the first 30 days of frequent queries slow and costly to retrieve. EBS is block storage attached to instances and is far more expensive per GB.
Managing the lifecycle of objectsA new DynamoDB table backs a product launch. Traffic is impossible to forecast and may be near zero for days and then very high for hours. The team wants no throttling and no capacity planning.
- AUse on-demand capacity mode.✓
- BUse provisioned capacity sized for the expected peak.
- CUse provisioned capacity with auto scaling set to a low maximum.
- DUse provisioned capacity with reserved capacity purchased up front.
Correct answer: A — Use on-demand capacity mode.
On-demand charges per request and absorbs sudden spikes with no capacity settings, which is what an unpredictable launch needs. Provisioning for peak pays for idle capacity on the quiet days. Auto scaling reacts over minutes and a low maximum guarantees throttling. Reserved capacity is a commitment that only pays off with steady, predictable traffic.
DynamoDB read/write capacity modesA media site serves large images and video directly from EC2 instances, and the monthly bill is dominated by data transfer out to the internet. Traffic is global and much of it requests the same files.
- AServe the content through Amazon CloudFront, which caches at the edge and has lower data transfer pricing than EC2 egress.✓
- BMove the instances to a cheaper Region.
- CBuy Reserved Instances for the web tier.
- DEnable S3 Requester Pays on the media bucket.
Correct answer: A — Serve the content through Amazon CloudFront, which caches at the edge and has lower data transfer pricing than EC2 egress.
A CDN answers repeat requests from the edge, so most bytes never leave the origin, and CloudFront's data transfer rates are lower than direct EC2 egress — often the single biggest saving for a media-heavy site. Changing Region does not remove egress. Reserved Instances discount compute, not transfer. Requester Pays shifts cost to consumers, which is not viable for a public site.
Amazon CloudFront pricing and cachingA company runs 200 development and test EC2 instances that are only needed between 08:00 and 20:00 on weekdays. What gives the largest cost reduction with the least engineering effort?
- AStop and start the instances on a schedule, for example with AWS Systems Manager or the AWS Instance Scheduler solution.✓
- BBuy three-year Reserved Instances for all 200 instances.
- CMove all development instances to Dedicated Hosts.
- DResize every instance one size down.
Correct answer: A — Stop and start the instances on a schedule, for example with AWS Systems Manager or the AWS Instance Scheduler solution.
Instances that run 60 hours a week instead of 168 cost roughly two thirds less, and scheduled stop/start needs no application change. Reserved Instances assume the instances run continuously, so committing for three years locks in paying for idle time. Dedicated Hosts cost more. Downsizing helps a little but never approaches turning them off.
Instance Scheduler on AWSA microservice receives a few hundred requests a day in bursts. It currently runs on two always-on t3.medium instances behind a load balancer for availability. The team wants to cut cost without losing resilience.
- ARun the container on AWS Fargate with a task launched per demand, or move the logic to AWS Lambda, so nothing runs while idle.✓
- BSwitch the instances to Spot and keep them running.
- CConsolidate onto a single larger instance.
- DBuy a Compute Savings Plan for the two instances.
Correct answer: A — Run the container on AWS Fargate with a task launched per demand, or move the logic to AWS Lambda, so nothing runs while idle.
For a workload measured in hundreds of requests a day, paying per request or per task-second removes almost all the cost, and both Fargate and Lambda are multi-AZ by design. Spot lowers the rate but you still pay around the clock and accept interruptions. One larger instance is cheaper but a single point of failure. A Savings Plan discounts capacity that is mostly idle.
AWS Fargate for Amazon ECSFinance asks which EC2 instances are over-provisioned across the organization, based on real utilization rather than guesswork, with a recommended instance type for each.
- AAWS Compute Optimizer✓
- BAWS Cost Explorer's daily spend view
- CAWS Budgets with a cost threshold alert
- DAmazon CloudWatch dashboards of CPU utilization
Correct answer: A — AWS Compute Optimizer
Compute Optimizer analyses CloudWatch metrics with machine learning and returns rightsizing recommendations for EC2, Auto Scaling groups, EBS volumes and Lambda functions, including the estimated saving. Cost Explorer shows what you spent, Budgets alerts on thresholds, and raw dashboards leave the analysis to you.
What is AWS Compute Optimizer?An internal application's database is idle most of the night and busy for a few unpredictable hours each day. The team wants PostgreSQL compatibility and does not want to pay for peak capacity around the clock.
- AAmazon Aurora Serverless v2, which scales capacity up and down in fine-grained increments with demand.✓
- BAmazon RDS for PostgreSQL on a Reserved Instance sized for peak.
- CAmazon Redshift with concurrency scaling.
- DAmazon DynamoDB with on-demand capacity.
Correct answer: A — Amazon Aurora Serverless v2, which scales capacity up and down in fine-grained increments with demand.
Aurora Serverless v2 adjusts capacity in fine increments as load changes, so an idle night costs a fraction of a peak-sized instance while staying PostgreSQL compatible. A Reserved Instance sized for peak is the expensive option being replaced. Redshift is an analytics warehouse. DynamoDB is a NoSQL store and would mean rewriting the application.
Amazon Aurora Serverless v2Ready to try it under exam conditions?
Reading answers is not the same as recalling them with a clock running. Take the same 65 questions as a timed mock exam — 130 minutes, no feedback until you submit, then a score broken down by exam domain so you know what to study.
Start the timed SAA-C03 test →