How we 10x Our Lambda@Edge Development Speed 🚀


AWS FOR THE REAL WORLD
⏱️
Reading time: 10 minutes
🎯
Main Learning: Building and testing Lambda@Edge functions with CloudFront is complicated, as deployments can take up to 10 minutes. With LocalStack, you can build, test, and debug your Lambda@Edge functions locally!
📝

Hey Reader 👋🏽

Happy new year! We hope you had a great time with your families and loved ones 😊

We took some time off. Sandro is bridging the cold winter in Thailand (say hi if you're here!) and Tobi started working with a new client project this year. Finally, some HUGE AWS scale again - hopefully we can talk more about that in the future 👀

We don't have any AWS news for you this time. Nothing exciting came out - if you've found something, share it with us!

In this issue, we talk about CloudFront and Lambda@Edge deployments.

Rather watch a video? We've recorded one for you!

Lambda@Edge functions are great for things like:

  • Request forwarding
  • URL rewriting
  • A/B testing

In theory they're powerful. But building and debugging them is a pain. This is what this deep dive is about 👆🏽

video preview

Note: This issue is not sponsored by LocalStack. But we love the tool + the founders. Here's how we've used it for this use case.

Let's get into it!

Cover

📚 This Week's Deep Dive

The Problem: 10-Minute Deployments for Every Change

Lambda@Edge functions are powerful. But debugging them is painful. Even in 2025.

Every change triggers a CloudFront deployment. That's up to 10 minutes of waiting. One typo? Another 10 minutes. Wrong header name? Another 10 minutes.

The Solution: LocalStack for Lambda@Edge

LocalStack lets you run CloudFront and Lambda@Edge locally. Change your function, redeploy in seconds. No waiting. No risk of breaking production.

The video walks through the full setup: LocalStack CLI, creating distributions via awslocal, attaching Lambda@Edge functions, and iterating on custom response headers.

🎬 Watch the Full Tutorial →

Prefer reading? Read the blog post instead

Have you used Lambda@Edge or CloudFront Functions before? If you need more information about CloudFront, here's our infographic!

Our topics for the next weeks:

  • Generating diagrams with Kiro & AI
  • How to save Lambda costs

All of them will come with videos as well!

Have a great start of the year and see you soon!

Sandro & Tobi

PS: Here's a snapshot from Thailand 😊

AWS for the Real World

We teach AWS for the real world - not for certifications. Join more than 10,500 developers learning how to build real-world applications on AWS.

Read more from AWS for the Real World

AWS FOR THE REAL WORLD ⏱️ Reading time: 5 minutes 🎯 Main Learning: Deploy AWS's open-source TEAM solution for temporary admin access with approval workflows 🎬 Watch on YouTube Hey Reader 👋🏽 I hope you had a great weekend and have a great week ahead. One thing I see over and over again in AWS setups: admin permissions are either handed out way too easily or way too hard. There is no middle ground. In other systems this was already solved. You shouldn’t have to DM somebody for admin access. We...

AWS FOR THE REAL WORLD ⏱️ Reading time: 12 minutes 🎯 Main Learning: Run an always-on AI agent on a $5 Lightsail instance with zero open ports, SSM access, and GitHub as a time machine for your agent's brain 📝 Blog Post 🎬 Watch on YouTube Hey Reader 👋🏽 the past weeks there is obviously one driving topic: OpenClaw 🦞 We love seeing that a developer from our neighbor country 🇦🇹 built a tool that got so MUCH hype. That is why we needed to try it out as well! While I (Sandro) added OpenClaw to my...

AWS FOR THE REAL WORLD ⏱️ Reading time: 8 minutes 🎯 Main Learning: How to securely connect Claude Code to a private RDS database using MCP, SSM tunnels, and VPC endpoints 📝 Blog Post 💻 GitHub Repository 🎬 Watch on YouTube Hey Reader 👋🏽 AI coding assistants are great. If you give them the right context. Your database schema is one of the most valuable pieces of context you can provide. But there's a problem: your RDS is in a private subnet. As it should be. So how do you connect Claude Code to...