<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>VPC on The David Page</title><link>https://thedavidpage.pages.dev/tags/vpc/</link><description>Recent content in VPC on The David Page</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Thu, 18 Jun 2026 09:00:00 +0700</lastBuildDate><atom:link href="https://thedavidpage.pages.dev/tags/vpc/index.xml" rel="self" type="application/rss+xml"/><item><title>The NAT Gateway 'Trick' That Was Actually Billing You for ECR, Not S3</title><link>https://thedavidpage.pages.dev/posts/cloud/aws/networking/nat-gateway-s3-gateway-endpoint/</link><pubDate>Thu, 18 Jun 2026 09:00:00 +0700</pubDate><guid>https://thedavidpage.pages.dev/posts/cloud/aws/networking/nat-gateway-s3-gateway-endpoint/</guid><description>&lt;p&gt;&lt;strong&gt;A client&amp;rsquo;s NAT Gateway bill hit a record ~$3,000/month. VPC Flow Logs pointed straight at S3 — except the client swore they barely used S3. Here&amp;rsquo;s what was actually going on.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Hi everyone 👋&lt;/p&gt;
&lt;p&gt;A client came to us about a month after going live with a new system built by a different vendor — one they no longer had a maintenance contract with. Their first full invoice after launch showed a &lt;strong&gt;NAT Gateway bill at a record high, roughly $3,000/month&lt;/strong&gt;. Standard architecture on their end: ECS services running in private subnets for security, NAT Gateway for outbound access. Textbook setup on paper — which made a bill that high, right out of the gate, more confusing, not less.&lt;/p&gt;</description></item><item><title>The MTU 9001 Trap: Flaky Connections Over VPC Peering and VPN</title><link>https://thedavidpage.pages.dev/posts/cloud/aws/networking/mtu-9001-path-mtu-discovery-black-hole/</link><pubDate>Fri, 20 Feb 2026 09:00:00 +0700</pubDate><guid>https://thedavidpage.pages.dev/posts/cloud/aws/networking/mtu-9001-path-mtu-discovery-black-hole/</guid><description>&lt;p&gt;&lt;strong&gt;Ping works. SSH works. But the moment the app sends a large payload over VPN or cross-region peering, it just&amp;hellip; hangs. This is why.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Hi everyone 👋&lt;/p&gt;
&lt;p&gt;This is a classic debugging trap that can burn a new DevOps engineer several days, precisely because the system never throws a clear error log.&lt;/p&gt;
&lt;h2 id="-the-confusing-symptom"&gt;😱 The confusing symptom&lt;/h2&gt;
&lt;p&gt;Two EC2 instances in different VPCs, connected over VPC peering, VPN, or Direct Connect. Ping between them responds fine. SSH works fine too. But the moment the application transfers a large file, or sends a long JSON payload over an API call on that same connection, the request hangs indefinitely until it eventually times out.&lt;/p&gt;</description></item><item><title>The Hidden Cost of Cross-AZ Data Transfer on AWS</title><link>https://thedavidpage.pages.dev/posts/cloud/aws/networking/cross-az-data-transfer-cost/</link><pubDate>Wed, 14 Jan 2026 09:00:00 +0700</pubDate><guid>https://thedavidpage.pages.dev/posts/cloud/aws/networking/cross-az-data-transfer-cost/</guid><description>&lt;p&gt;&lt;strong&gt;Multi-AZ for high availability quietly turned into a network bill bigger than the compute bill — here&amp;rsquo;s why.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Hi everyone 👋&lt;/p&gt;
&lt;p&gt;This is one of those &amp;ldquo;hidden landmines&amp;rdquo; on AWS: things that never throw a clear error, never show up in a StackOverflow top answer, but can quietly make a system flaky or burn thousands of dollars a month. First up: cross-AZ data transfer.&lt;/p&gt;
&lt;h2 id="-the-assumption-that-gets-everyone"&gt;😱 The assumption that gets everyone&lt;/h2&gt;
&lt;p&gt;Everyone knows data transfer &lt;em&gt;out to the internet&lt;/em&gt; costs money. Far fewer people realize that &lt;strong&gt;traffic between Availability Zones inside the same Region isn&amp;rsquo;t free either&lt;/strong&gt; — a lot of us assume &amp;ldquo;it&amp;rsquo;s all internal, so it&amp;rsquo;s free.&amp;rdquo;&lt;/p&gt;</description></item></channel></rss>