Cost-Optimized Networking: NAT Gateways, VPC Endpoints, and Data Transfer
Task 4.4 covers the part of the AWS bill most architectures discover too late: the network. AWS data transfer costs follow a small set of rules — inbound free, same-AZ private traffic free, cross-AZ and cross-Region charged, internet egress charged — and cost-optimized network design means arranging your topology around those rules before traffic starts flowing. This lesson works through NAT gateway cost mechanics and the single-versus-per-AZ trade-off, the gateway VPC endpoint savings that fix the most common NAT bill spike, CloudFront as an egress cost lever, VPN versus Direct Connect selection, and the Transit Gateway vs VPC peering cost decision. Domain 4 questions nearly always carry a MOST cost-effective qualifier, and network questions add a twist: the cheapest topology often trades away resilience, and the requirements decide which side wins. By the end you will be able to read a traffic path, say which segments are charged, and name the design change that removes the charge without breaking a stated requirement.
On this page9 sections
- The data-transfer cost model: five rules that shape every design
- The transfer-cost rules table
- NAT gateway economics: paying twice, multiplied by AZs
- Gateway VPC endpoints: the most-tested network cost fix
- CloudFront: cutting egress by serving from the edge
- VPN vs Direct Connect: fixed cost versus per-GB at volume
- VPC peering vs Transit Gateway (and where PrivateLink fits)
- Placement, chattiness, and the honest cost-vs-resilience trade
- Worked scenarios: reading the traffic path before the options
- Apply the data-transfer charging rules — inbound, same-AZ, cross-AZ, cross-Region, egress — as design inputs
- Decide between a single shared NAT gateway and per-AZ NAT gateways by weighing cost against availability
- Eliminate NAT processing charges for S3 and DynamoDB traffic with free gateway VPC endpoints
- Choose between VPN and Direct Connect using fixed-cost versus per-GB-at-volume reasoning
- Compare VPC peering and Transit Gateway costs and pick the right one for the VPC count
- Use CloudFront edge caching to cut origin egress and offload data transfer
The data-transfer cost model: five rules that shape every design
You cannot cost-optimize a network you cannot price, so start with the charging rules the exam assumes you know cold. Rule one: inbound data transfer from the internet is free. Ingesting terabytes into AWS costs nothing in transfer — which is why data-heavy ingestion architectures are viable at all. Rule two: traffic between resources in the same Availability Zone over private IP addresses is free. Two instances chatting within one AZ across private IPs generate no transfer charge, no matter the volume. Rule three: traffic that crosses Availability Zones within a Region is charged per gigabyte — and it is billed in both directions, out of one AZ and into the other, so chatty cross-AZ tiers pay twice per exchange. Rule four: traffic between Regions is charged per gigabyte, at rates that vary by Region pair — cross-Region replication is a recurring line item, not a one-time setup cost. Rule five: egress to the internet is charged per gigabyte, on a tiered schedule, and it is typically the largest transfer line on a consumer-facing bill.
One trap hides inside rule two: it requires private IPs. Traffic between two instances in the same AZ that flows via public or Elastic IP addresses hairpins through public address space and gets charged as if it were regional traffic. Internal communication should always use private addressing — a free fix scenarios plant deliberately.
The design consequence: where you place resources and how you address them is a pricing decision. Co-locating chatty components in one AZ makes their conversation free; spreading them across AZs makes every exchange billable — and also makes the system survive an AZ failure. That tension is examined honestly later in this lesson.
The exam tests these rules indirectly: a scenario describes a traffic path — instance to instance, subnet to S3, Region to Region — and the correct answer is the one that reroutes, relocates, or caches the traffic onto a free or cheaper segment. If you can annotate each hop with charged-or-free, the options rank themselves.
The transfer-cost rules table
This table is the lookup most Task 4.4 questions compile down to. For each path: is it charged, and what is the cost-optimized design response?
| Traffic path | Charged? | Design response |
|---|---|---|
| Internet → AWS (inbound) | No | Ingest freely; never architect around inbound cost |
| Same AZ, private IPs | No | Co-locate chatty tiers; always use private addressing internally |
| Same AZ, public/Elastic IPs | Yes | Switch internal communication to private IPs — free fix |
| Cross-AZ, same Region | Yes — both directions | Make cross-AZ flows deliberate (replication, HA); keep bulk chatter within an AZ where requirements allow |
| Cross-Region | Yes — per GB, varies by pair | Replicate only what DR or the user base actually requires |
| Private subnet → S3/DynamoDB via NAT gateway | Yes — NAT processing per GB (+ NAT hourly) | Gateway VPC endpoint — removes the NAT charge entirely, no cost of its own |
| Private subnet → other AWS services via NAT | Yes — NAT processing per GB | Interface VPC endpoint when that service's volume justifies the endpoint's own fees |
| EC2/ALB → internet (egress) | Yes — tiered per GB | Put CloudFront in front of cacheable content; compress responses |
| AWS origin → CloudFront (origin fetch) | No | Offloading egress to CloudFront costs nothing on the origin side |
| VPC ↔ VPC (peering or Transit Gateway) | Yes — transfer per GB; TGW adds attachment-hourly + processing | Peering for few VPCs; Transit Gateway when scale justifies its overhead |
Two reading habits make the table stick. First, notice which rows say No — free paths (inbound, same-AZ private, gateway endpoints, origin-to-CloudFront) are the raw material of cost-optimized designs, and correct answers usually move traffic onto them. Second, notice that NAT and Transit Gateway rows charge twice: an hourly fee for existing plus a per-GB fee for processing. Managed network middleboxes bill for presence and for throughput, which is why removing traffic from them saves so reliably.
On the exam, expect the question to describe two or three hops and ask for the MOST cost-effective change. Annotate each hop against this table; the option that converts a charged row into a free row — without violating a security or availability requirement — is the answer.
NAT gateway economics: paying twice, multiplied by AZs
A NAT gateway lets instances in private subnets reach the internet, and it charges two meters at once: an hourly fee for every hour it exists, and a per-gigabyte processing fee on every byte that flows through it — on top of the ordinary data transfer the traffic would incur anyway. A NAT gateway that moves serious volume can quietly become one of the largest items on a network bill, which is why the exam returns to it constantly.
The architectural decision is how many to run. A single shared NAT gateway in one AZ minimizes the hourly cost — one gateway, one fee — but instances in other AZs must cross an AZ boundary to reach it, adding cross-AZ transfer charges on all of that traffic, and it concentrates risk: if the NAT gateway's AZ fails, every private subnet in the VPC loses internet access. One NAT gateway per AZ multiplies the hourly fees but keeps each AZ's egress local — no cross-AZ charges on the way out, and no cross-AZ dependency: an AZ failure takes down only its own egress. The decision rule: dev, test, and cost-first environments with modest traffic take the single shared NAT; production environments with an availability requirement, or heavy egress from multiple AZs, take per-AZ NATs — where the extra hourly fees are partially offset by the cross-AZ charges they eliminate.
Know the NAT instance at recognition level: the legacy do-it-yourself option, an EC2 instance performing NAT. It can be cheaper than a NAT gateway — a small instance has a low hourly cost and no per-GB processing fee — but you manage patching, sizing, failover, and it bottlenecks at the instance's bandwidth. It appears as the "lowest possible cost, team accepts operational burden" answer, and as a wrong answer whenever the scenario asks for managed or highly available.
When asked to cut a NAT bill, run this list in order: 1) add gateway VPC endpoints for S3 and DynamoDB traffic (next section — usually most of the bill); 2) add interface endpoints for other high-volume AWS service traffic; 3) check what remains with VPC Flow Logs before resizing anything; 4) consolidate to a single NAT if availability requirements and cross-AZ math allow; 5) consider a NAT instance only for small, tolerant environments.
The exam tests NAT two ways: the bill-reduction scenario (the list above) and the single-versus-per-AZ design choice, where the availability requirement in the question decides which is "cost-optimized."
Gateway VPC endpoints: the most-tested network cost fix
Here is the pattern SAA-C03 tests more than any other in this task. Instances in private subnets talk to Amazon S3 or DynamoDB. Without an endpoint, that traffic leaves through the NAT gateway — paying the per-gigabyte NAT processing fee on every byte — even though it is going to an AWS service in the same Region. For data-heavy workloads (analytics jobs reading S3, applications streaming objects, backup pipelines), this single path can dominate the NAT bill.
The fix is a gateway VPC endpoint. It is a route-table entry, not a device: you create the endpoint for S3 or DynamoDB, associate it with the private subnets' route tables, and traffic to that service flows directly over the AWS network — never touching the NAT gateway, never traversing the internet. And the part that makes it the exam's favorite answer: gateway endpoints are free. No hourly charge, no per-gigabyte charge. The NAT processing cost for that traffic drops to zero, and as a side benefit the traffic becomes more private, so the answer simultaneously satisfies cost and security framings. Gateway endpoints exist for exactly two services — S3 and DynamoDB — a fact worth memorizing verbatim.
For every other AWS service reached through a NAT gateway — ECR, CloudWatch, SQS, Secrets Manager, and the rest — the private path is an interface VPC endpoint (powered by PrivateLink). Interface endpoints are not free: they bill per hour per AZ plus per gigabyte processed. The concept-level comparison: their per-gigabyte rate is well below NAT processing, so high-volume service traffic through an interface endpoint costs less than the same traffic through NAT — but each endpoint's standing hourly fees mean that a fleet of endpoints serving trickles of traffic can cost more than the NAT charges they replace. Volume justifies interface endpoints; idleness doesn't.
The exam signature is unmistakable: private subnets, heavy S3 or DynamoDB traffic, and a complaint about NAT gateway or data processing charges. The answer is the gateway endpoint, and the distractors are predictable — an interface endpoint for S3 (functional, but it has fees where the gateway endpoint has none), resizing or adding NAT gateways (doesn't touch per-GB pricing), or moving instances to public subnets (breaks the security posture the scenario implies).
CloudFront: cutting egress by serving from the edge
Internet egress is the transfer charge you cannot route around — users are on the internet, and bytes must reach them. The lever is where the bytes leave from and how often the origin is asked for them, and that is CloudFront's cost story.
Putting CloudFront in front of an origin changes the economics twice. First, edge caching collapses origin fetches: when thousands of users request the same object, the origin serves it once per cache lifetime per edge location instead of once per user. Every cache hit is origin work — and origin data transfer — that never happens, which also means the origin fleet itself can be smaller. Second, the transfer path gets cheaper end to end: data transferred from AWS origins to CloudFront carries no charge, and CloudFront's own egress pricing is designed to be competitive with — and at volume, generally below — serving the same bytes straight from EC2 or S3. You are substituting a cheaper egress channel for a more expensive one, at the same time as you shrink total origin traffic.
CloudFront earns this on cacheable content: static assets, images, video, downloads, and — with sensible TTLs — even semi-dynamic API responses. For fully dynamic, uncacheable traffic the caching benefit disappears, though the free origin-to-CloudFront leg still applies.
Keep Global Accelerator distinct at recognition level: it also uses the edge network, but it is a performance and static-IP product — deterministic routing onto the AWS backbone with an hourly fee plus a per-gigabyte premium. It does not cache, and it is not a cost-reduction tool. When a question's pain is data transfer cost for content delivery, CloudFront is the answer; Global Accelerator appears there as a distractor for TCP/UDP performance scenarios.
The exam frames this as an egress-bill scenario: an application serving media or static files directly from EC2 or S3, transfer costs climbing with popularity. The MOST cost-effective answer adds CloudFront; the distractors scale the origin (more instance cost, same egress rates), move Regions (marginal), or reach for Global Accelerator (a premium, not a saving).
VPN vs Direct Connect: fixed cost versus per-GB at volume
Hybrid connectivity is a classic fixed-versus-variable cost decision, and the exam expects you to reason about it in exactly those terms.
AWS Site-to-Site VPN is the low-fixed-cost option: a modest hourly charge per connection, running as encrypted tunnels over the public internet, live within hours of deciding you need it. Its variable cost is ordinary internet data transfer, and its constraints are the internet's: variable latency, and a documented throughput ceiling of roughly 1.25 Gbps per tunnel. Each connection provides two tunnels for redundancy — not doubled bandwidth by default — and when one tunnel's ceiling is the bottleneck, the design response is multiple VPN connections aggregated with equal-cost multipath routing (ECMP) over a Transit Gateway, scaling bandwidth roughly linearly with tunnel count. That is the answer shape for "more VPN bandwidth": more tunnels, not a bigger tunnel.
AWS Direct Connect inverts the cost structure: a dedicated physical circuit with meaningful fixed costs — port-hours on AWS's side plus whatever the colocation or carrier charges — in exchange for a lower per-gigabyte data transfer out rate than internet egress, plus consistent latency and private connectivity. Dedicated connections come in 1, 10, and 100 Gbps port speeds, with hosted connections available at lower increments through partners — recognition level: pick the port speed from the sustained throughput requirement, don't buy 10 Gbps for a 200 Mbps workload. The operational catch the exam loves: provisioning takes weeks or longer, because physical circuits are involved.
The selection rule follows directly: low or bursty volume, speed-to-deploy, or budget-first means VPN; large, steady transfer volume means Direct Connect, where the discounted per-GB rate on high volume pays back the fixed circuit costs — the break-even logic, no exact prices required. The two also pair: a common pattern runs Direct Connect as primary with a VPN as the low-cost failover, and a VPN over the internet is the standard stopgap while a Direct Connect circuit is being provisioned.
The exam tests this with volume-and-timeline scenarios: "transfers several terabytes daily to on premises" points to Direct Connect; "needs connectivity next week" or "occasional low-volume sync" points to VPN; "needs it now and long-term at volume" points to VPN-now, Direct-Connect-later.
VPC peering vs Transit Gateway (and where PrivateLink fits)
Connecting VPCs privately has two mainstream mechanisms, and their cost structures diverge exactly like NAT versus endpoints did.
VPC peering is the lean option: a direct, non-transitive link between two VPCs with no hourly attachment fee and no processing fee — you pay only the data transfer itself, and traffic that stays within the same AZ across a same-Region peering connection is free, with cross-AZ flows billed at the usual regional rates. Its cost is architectural instead: peering is point-to-point and non-transitive, so full connectivity among N VPCs needs a mesh of N×(N−1)/2 connections, each with its own route-table entries. At three or four VPCs that is trivial; at forty it is an operational tar pit.
AWS Transit Gateway is the hub: every VPC (and VPN, and Direct Connect gateway) attaches once, and the hub routes among them, transitively. It charges like the managed middlebox it is — a per-attachment hourly fee plus a per-gigabyte processing fee on traffic through the hub, on top of any applicable transfer charges. For a handful of VPCs, those standing fees buy you nothing peering doesn't already do cheaper. At scale, Transit Gateway pays for itself in eliminated mesh management: one attachment per VPC instead of dozens of peerings, one routing domain, native transitivity, and a clean on-ramp for hybrid connectivity.
The decision rule the exam rewards: few VPCs (roughly a handful) with simple, stable connectivity — peer them and pay only for transfer; many VPCs, growing, or needing transitive routing and shared hybrid connections — Transit Gateway, accepting its fees as the price of manageability.
Complete the picture with AWS PrivateLink at recognition level: when many consumer VPCs need to reach one specific service — not full network connectivity — PrivateLink exposes just that service through interface endpoints in each consumer VPC. It bills like interface endpoints (hourly per endpoint per AZ plus per GB), avoids both meshes and hubs, and eliminates overlapping-CIDR headaches. Service-to-many equals PrivateLink; network-to-network equals peering or Transit Gateway.
Exam scenarios state the VPC count and trajectory for a reason: "three VPCs, no growth expected" is peering on cost grounds; "dozens of VPCs across accounts" is Transit Gateway; "expose an internal API to hundreds of customer VPCs" is PrivateLink. Distractors offer Transit Gateway's convenience where its fees are unjustified, or a peering mesh where its management burden is the disqualifier.
Placement, chattiness, and the honest cost-vs-resilience trade
The rules so far imply an uncomfortable conclusion: the cheapest network is a single-AZ network. Same-AZ private traffic is free, one NAT gateway suffices, and nothing crosses a billable boundary. The reason production architectures don't look like that is availability — and the exam expects you to hold both truths honestly rather than pretend there is a free lunch.
The tension resolves through requirements. Multi-AZ placement of the tiers that provide availability — load-balanced web and application fleets, database replicas — is non-negotiable when the scenario states an availability requirement, and the cross-AZ transfer between them is the accepted price of surviving an AZ failure. What you optimize is the traffic that doesn't buy resilience: batch pipelines shuffling data between components that could sit together, chatty microservices making thousands of cross-AZ calls per second out of placement indifference rather than design, replication chatter that could be batched or compressed. Techniques that shave the billable volume without touching the topology: compress payloads before they cross a boundary, batch small messages into fewer larger ones, and throttle or schedule bulk internal transfers so they don't run unbounded — throttling here is a cost control as much as a stability one. AZ-aware routing within load-balanced tiers (keeping a request's hops inside one AZ where the platform supports it) trims the same line item.
Two closing notes on scope. Route 53 is not a cost lever worth designing around: DNS query charges are negligible next to transfer and NAT, and routing-policy choice (latency, failover, weighted) is an availability and performance decision — treat any answer that picks a DNS routing policy "to save money" with suspicion. And when asked to review an existing workload for network cost optimization, the method is evidence first: Cost Explorer to find which transfer category is actually spending, VPC Flow Logs to see whose traffic it is, then apply this lesson's fixes — endpoints for NAT-bound service traffic, CloudFront for egress, placement and compression for cross-AZ — to the biggest line first.
The exam tests this section's judgment call directly: options that consolidate everything into one AZ "to reduce transfer costs" are wrong the moment the scenario mentions high availability, and options that gold-plate resilience are wrong when the scenario is a dev environment asking for minimum cost. The qualifier only ever means: cheapest among the designs that meet the stated requirements.
Worked scenarios: reading the traffic path before the options
Scenario 1 — the NAT bill and the S3 pipeline. An analytics fleet of EC2 instances in private subnets reads and writes several terabytes a day to S3 buckets in the same Region. The finance team flags a large and growing NAT gateway data-processing charge. Security requires the instances stay in private subnets. What is the MOST cost-effective fix?
Reasoning: Annotate the path: instance → NAT gateway (per-GB processing — the flagged cost) → S3. Eliminate moving instances to public subnets: it would bypass the NAT but violates the stated security requirement. Eliminate adding or resizing NAT gateways: NAT pricing is per gigabyte — more gateways spread the load and add hourly fees without reducing the processing charge at all. An interface endpoint for S3 would work but carries hourly and per-GB fees of its own. The answer is a gateway VPC endpoint for S3: a route-table change that sends the S3 traffic over the AWS network directly, is completely free, keeps the instances private, and zeroes out the NAT processing charge for the dominant traffic. This is the most-tested network cost question in the exam's repertoire — recognize it from the first sentence.
Scenario 2 — one NAT or three? A production web application runs across three AZs, with application servers in private subnets making moderate outbound API calls. The architecture currently uses a single NAT gateway in AZ-a. A new requirement states the application must tolerate the loss of any single AZ. Which change is MOST cost-effective?
Reasoning: The availability requirement is doing the work. Keeping the single NAT is the cheapest configuration — until AZ-a fails and instances in AZ-b and AZ-c lose all egress, violating the stated requirement, so it is disqualified regardless of price. A NAT instance per AZ is cheaper still on paper but reintroduces self-managed availability — the wrong direction when the requirement is resilience. The answer is one NAT gateway per AZ with per-AZ route tables: each AZ's egress survives independently, and the added hourly fees are partly offset by eliminating the cross-AZ transfer that AZ-b and AZ-c traffic was paying to reach AZ-a. Flip the scenario — a dev environment, no availability requirement, cost-first — and the single shared NAT becomes the correct answer. The qualifier didn't change; the requirements did.
Scenario 3 — peering or Transit Gateway? A company runs four VPCs that need full private connectivity with moderate inter-VPC traffic. No growth in VPC count is expected. The team proposes Transit Gateway; is there a cheaper design that meets the requirement?
Reasoning: Four VPCs need six peering connections for a full mesh — entirely manageable — and VPC peering carries no hourly attachment or processing fees, so every gigabyte moves cheaper than through a Transit Gateway hub charging per attachment-hour and per GB processed. With a stable, small VPC count, Transit Gateway's manageability premium buys nothing the requirement asks for. Reverse the facts — dozens of VPCs, multiple accounts, shared VPN and Direct Connect on-ramps — and Transit Gateway wins on operational grounds that the exam accepts as part of cost-effectiveness at scale.
Tip. SAA-C03 tests this task by describing a traffic path and asking for the MOST cost-effective change that still meets every stated requirement — the requirements sentence usually decides between the cheap option and the resilient one. The banner question is the NAT bill inflated by S3 or DynamoDB traffic from private subnets, answered by a free gateway VPC endpoint; close behind are the single-versus-per-AZ NAT decision (the availability requirement flips the answer), VPN versus Direct Connect selected on volume and provisioning timeline, peering versus Transit Gateway selected on VPC count, and the growing egress bill answered by CloudFront. Trap patterns to expect: resizing or multiplying NAT gateways to cut a per-GB charge, an interface endpoint for S3 where the free gateway endpoint exists, Global Accelerator offered as a transfer cost saver, single-AZ consolidation offered despite a high-availability requirement, and Transit Gateway proposed for three stable VPCs. Annotate each hop as charged or free, then pick the option that moves the biggest charged flow onto a free path without breaking a requirement.
- Price the path before the fix: inbound is free, same-AZ private traffic is free, cross-AZ is charged both directions, cross-Region and internet egress are charged — the right answer moves traffic onto a free segment.
- Gateway VPC endpoints for S3 and DynamoDB are free and eliminate NAT processing charges for that traffic — the single most-tested network cost fix; interface endpoints for other services cost less than NAT only at volume.
- NAT gateways bill hourly plus per GB processed: single shared NAT for cost-first environments (accepting cross-AZ charges and AZ risk), per-AZ NATs when an availability requirement or heavy multi-AZ egress justifies the extra hourly fees.
- A NAT instance is the cheap, self-managed, legacy option — right only when the scenario accepts operational burden for minimum cost, wrong whenever managed or highly available is stated.
- CloudFront cuts egress twice: edge caching collapses origin fetches, and AWS-origin-to-CloudFront transfer is free — reach for it when an egress bill grows with content popularity, not Global Accelerator (a performance premium).
- VPN is low fixed cost, quick to deploy, ~1.25 Gbps per tunnel (scale with multiple tunnels + ECMP); Direct Connect is high fixed cost with a lower per-GB rate at steady volume and weeks to provision — volume and timeline decide.
- VPC peering has no hourly or processing fees — cheapest for a few stable VPCs; Transit Gateway's per-attachment and per-GB fees buy transitive routing and manageability that pay off at many VPCs; PrivateLink is for exposing one service to many VPCs.
- Never buy cost with a stated requirement: consolidating to one AZ or one NAT is only correct when the scenario imposes no availability requirement — MOST cost-effective always means cheapest among designs that still meet every requirement.
Frequently asked questions
Why is my NAT gateway so expensive?
Because a NAT gateway charges two meters: an hourly fee for every hour it exists and a per-gigabyte processing fee on all traffic through it — and in most inflated NAT bills, the bulk of that traffic is instances in private subnets talking to S3 or DynamoDB. That traffic never needed the NAT gateway: a gateway VPC endpoint routes it directly to the service over the AWS network at no charge, cutting the processing fee for it to zero. Check VPC Flow Logs to confirm where the volume goes, add gateway endpoints first, consider interface endpoints for other high-volume AWS services, and only then revisit how many NAT gateways you run.
Are VPC gateway endpoints really free?
Yes. Gateway VPC endpoints — which exist for exactly two services, Amazon S3 and DynamoDB — carry no hourly charge and no per-gigabyte data processing charge. They are implemented as route-table entries, not billable network devices. That makes them strictly better than routing the same traffic through a NAT gateway, which charges per gigabyte processed: you save money, and the traffic stays on the AWS network rather than traversing the internet. Interface endpoints (used for most other AWS services via PrivateLink) are the ones that bill per hour per AZ plus per gigabyte — a distinction the exam checks directly.
Should I use one NAT gateway or one per Availability Zone?
It is a cost-versus-availability decision, and the scenario's requirements settle it. A single shared NAT gateway minimizes hourly fees but forces instances in other AZs to pay cross-AZ transfer to reach it — and if its AZ fails, every private subnet loses internet access. One NAT gateway per AZ multiplies the hourly fees but eliminates those cross-AZ charges and makes each AZ's egress independent. Choose the single NAT for dev, test, and cost-first environments with modest traffic; choose per-AZ NATs for production with a stated availability requirement or heavy egress from multiple AZs, where the removed cross-AZ charges claw back part of the extra cost.
Does AWS charge for data transfer between Availability Zones?
Yes. Traffic between resources in different AZs within a Region is charged per gigabyte, and it is billed in both directions — out of the source AZ and into the destination AZ — so chatty cross-AZ communication pays twice per exchange. Traffic within the same AZ over private IP addresses is free; note that using public or Elastic IPs between instances forfeits that, charging even same-AZ traffic at regional rates. The design implication: multi-AZ placement is the correct price of high availability for the tiers that need it, but bulk or chatty traffic that buys no resilience should be co-located, batched, or compressed.
When is Direct Connect cheaper than a VPN?
When transfer volume is large and steady enough that Direct Connect's lower per-gigabyte data transfer rate outweighs its fixed costs — port-hour fees plus the physical circuit — which is the break-even logic the exam wants, no exact prices required. A Site-to-Site VPN has a low fixed hourly cost, deploys in hours, and rides the public internet with roughly 1.25 Gbps per tunnel, making it right for low or bursty volume and urgent timelines. Direct Connect takes weeks to provision but rewards sustained multi-terabyte transfer with cheaper per-GB rates, consistent latency, and private connectivity. A common pattern uses a VPN immediately while the Direct Connect circuit is provisioned, then keeps the VPN as low-cost failover.
Is Transit Gateway more expensive than VPC peering?
Structurally, yes: Transit Gateway charges a per-attachment hourly fee plus a per-gigabyte processing fee on traffic through the hub, while VPC peering has no hourly or processing charges — you pay only standard inter-VPC data transfer, and same-AZ traffic over a same-Region peering is free. For a small, stable set of VPCs, peering is the cost-optimized answer. Transit Gateway earns its fees at scale: with dozens of VPCs, a peering mesh needs hundreds of point-to-point connections and route-table entries, while Transit Gateway needs one attachment per VPC, routes transitively, and cleanly shares VPN and Direct Connect on-ramps. Few VPCs, peer; many or growing, Transit Gateway.
How does CloudFront reduce data transfer costs?
Two ways at once. First, edge caching means popular objects are served from CloudFront's locations instead of your origin — each cache hit removes an origin request and its data transfer, so origin egress and origin fleet size both shrink. Second, the path itself is cheaper: data transferred from AWS origins (such as S3 or an ALB) to CloudFront carries no charge, and CloudFront's egress pricing is designed to be competitive with, and at volume generally below, serving the same bytes directly from EC2 or S3. The savings concentrate on cacheable content — static assets, media, downloads. Don't confuse it with Global Accelerator, which improves routing performance for a fee premium and caches nothing.
Sign up free to mark lessons complete, bookmark topics and track your exam readiness.