SOA-C02 Cost and Performance Optimization Practice Question
A company uses Amazon CloudFront to distribute content globally. The operations team notices that the data transfer costs are higher than expected. The origin server is an S3 bucket in us-east-1. Which change would reduce data transfer costs?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Enable compression for compressible content.
Enabling compression reduces the amount of data transferred from CloudFront to viewers, directly lowering data transfer costs. Option A (Lambda@Edge to resize images) can reduce image sizes but adds compute costs and may not be as effective as compression. Option B (increasing default TTL) reduces origin requests but does not reduce data transfer from CloudFront to viewers. Option C (multiple S3 buckets in different regions) increases complexity and may increase costs due to cross-region replication or multiple origins. Thus, D is the correct choice.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Use Lambda@Edge to resize images on the fly.
Why it's wrong here
Lambda@Edge can resize images at the edge, but this adds per-invocation compute cost and execution time for every request. Resizing often requires the original object to be transferred from the origin to the edge anyway, so it may not reduce the data transferred from CloudFront to viewers; it can even increase total cost when you factor in Lambda charges. It also introduces complexity in image processing pipelines and does not address the direct cost of serving large responses to viewers.
- ✗
Increase the default TTL for objects.
Why it's wrong here
Increasing the default TTL causes CloudFront to cache objects longer and reduces the number of fetch requests to the origin, but it does not alter the size of the object delivered to each viewer. Data transfer costs from CloudFront to end users are based on the bytes actually served, so a longer TTL does not lower that charge. It can also cause stale content to be served longer, which is a correctness issue, and it does not address the primary cost driver of viewer egress.
- ✗
Use multiple S3 buckets in different regions as origins.
Why it's wrong here
Deploying multiple S3 buckets in different Regions and pointing CloudFront to multiple origins requires cross-Region replication (S3 CRR) to keep the content synchronized, and you pay for replication PUTs and storage. While this may reduce latency by placing origins nearer to CloudFront edge locations, the data transfer from S3 to CloudFront is free anyway, and it does not reduce the billable egress from CloudFront to viewers. The added operational overhead and replication costs make this an expensive, indirect way to address data transfer expenses.
- ✓
Enable compression for compressible content.
Why this is correct
Enabling CloudFront's automatic compression for compressible content (HTML, CSS, JavaScript, JSON, etc.) reduces the number of bytes sent to viewers when the request includes an Accept-Encoding header. Since CloudFront egress is billed per gigabyte delivered, compressing responses directly lowers the data transfer cost, often by 60-70%. It also improves latency and page load times, and it is a simple configuration change that does not require code changes or additional AWS services.
Quick reference
AWS S3 Storage Class Comparison
| Storage Class | Min Duration | Retrieval | Use Case |
|---|---|---|---|
| S3 Standard | None | Immediate | Frequently accessed data |
| S3 Standard-IA | 30 days | Immediate | Infrequent access, rapid retrieval |
| S3 One Zone-IA | 30 days | Immediate | Non-critical infrequent data |
| S3 Intelligent-Tiering | None | Immediate–hours | Unknown or changing access patterns |
| S3 Glacier Instant | 90 days | Milliseconds | Archive with instant retrieval |
| S3 Glacier Flexible | 90 days | Minutes–hours | Archive, flexible retrieval |
| S3 Glacier Deep Archive | 180 days | Hours | Long-term compliance archive |
Go deeper
Related to this question
About these practice questions
Courseiva writes every SOA-C02 question from scratch — 1,169 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This SOA-C02 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SOA-C02 exam.