Private-subnet egress is the cost line that hides in plain sight. A fleet reaches Amazon S3, everything works, and only the bill reveals that every gigabyte took a metered path it never needed. The SAA-C03 tests whether you know where that charge comes from and which endpoint makes it vanish — without reciting a single price.
Why the NAT gateway is the wrong meter for S3
A NAT gateway bills two ways: an hourly charge for running it, and a per-gigabyte data-processing charge on everything that flows through. That model is fine for its real job — giving private instances outbound internet access for patches or third-party APIs. It is wasteful for AWS-service traffic like S3 or DynamoDB, because that traffic can stay on AWS’s own network entirely, yet through NAT it is metered by the gigabyte and pushed out over the public internet on the way.
The free path: gateway endpoints
A gateway VPC endpoint adds a route-table target for S3 or DynamoDB — and only those two services. It carries no hourly charge and no per-gigabyte charge: it is free. Move bulk S3 or DynamoDB traffic onto it and the NAT data-processing charge for that traffic simply disappears. The diagram contrasts the two routes out of one private subnet: the charged NAT path and the free gateway-endpoint path to the same bucket.
The metered path: interface endpoints (PrivateLink)
Most AWS services — SQS, Secrets Manager, Systems Manager, KMS, and the rest — have no gateway endpoint. Their private path is an interface endpoint, an AWS PrivateLink elastic network interface placed in your subnets. It bills per hour for each Availability Zone it lives in, plus per gigabyte. That is cheaper and more private than routing the same calls through NAT, but it is not free — assuming it is is the exam’s favourite cost trap. Interface endpoints also reach private SaaS offered over PrivateLink, which a gateway endpoint cannot do.
The decision, as the exam frames it
- Traffic to S3 or DynamoDB? Use the gateway endpoint — free, so it wins on cost outright.
- Traffic to another AWS service or a PrivateLink SaaS? Use an interface endpoint — metered, but cheaper and private versus NAT.
- Genuinely internet-bound (OS patches, arbitrary public APIs)? That is the NAT gateway’s real job — keep it for exactly that, and nothing more.
The recurring distractor routes AWS-service traffic through NAT “because it already works” or “because it is already there.” Sunk infrastructure is not a reason to keep paying per gigabyte: the requirement word is most cost-effective, and a free gateway endpoint beats a charged path every time it is available. A second trap forces an interface endpoint on S3, adding a per-gigabyte charge the free gateway endpoint avoids — the gateway-versus-interface distinction the exam keeps probing.
Cost first, privacy for free
Note the side benefit that never costs extra: a gateway endpoint keeps S3 traffic on the AWS private network, off the public internet. That is a real security gain, but it is a bonus riding on a cost decision — it does not encrypt objects, change durability, or alter request pricing. Keep the claim honest and the answer stays right.
How to use the seven scenarios below
Answer each before opening the explanation, and when you miss, name where the charge was arising — “NAT per gigabyte”, “interface per-AZ hour”, “free gateway endpoint left unused”. Every explanation states that cost source and dismantles the distractors, most of which are real controls billed on the wrong path. For the domain overview, see Design Cost-Optimized Architectures.
Updated for SAA-C03 (July 2026). The sample questions above are our own work
in the style of the exam — not real exam items. The exam itself is set and marked
by the certification body.