Deploying Web Applications on AWS, v3

Steve Kinney
Temporal
3 hours, 37 minutes CC
Deploying Web Applications on AWS, v3

Course Description

Deploy production-ready SPAs on AWS. Keep your apps lightning-fast with static hosting on S3 and a CloudFront global CDN with caching. Create IAM roles to secure access to the infrastructure. Gain experience with CloudFront Functions and Lambda@Edge, giving you the tools to manipulate requests and responses at the edge. Confidently navigate the AWS console and ship real apps.

Prerequisite: Complete Intro to Web Development or experience with building websites and frontend applications.
Preview

Course Details

Published: June 18, 2026

Learn Straight from the Experts Who Shape the Modern Web

Your Path to Senior Developer and Beyond
  • 300+ In-depth courses
  • 24 Learning Paths
  • Industry Leading Experts
  • Live Interactive Workshops

Table of Contents

Introduction

Section Duration: 10 minutes
  • Introduction
    Steve Kinney introduces the course by outlining the goals of deploying web applications on AWS, covering challenges and the evolution of hosting methods. The course focuses on leveraging AWS, setting up a CDN, and making it programmable to enhance performance and adaptability. Steve also walks through the resources available for the lesson, including the course website, example apps, and JSON configuration files

Setup AWS Account

Section Duration: 43 minutes
  • Create an AWS Account
    Steve covers the initial AWS account setup, emphasizing the importance of securing the root user and enabling multi-factor authentication. He also explains transitioning to an admin user and the option to assign alternative contacts for account recovery.
  • Create an Admin User
    Steve demonstrates how to create an admin user in AWS, walking through group setup, permission assignment, and user creation with a custom password. He highlights security measures like requiring a password reset at first sign-in.
  • Login with Admin User
    Steve explains the concept of a daily driver account, including setting up a unique console login URL and two-factor authentication. He clarifies the distinction between the admin and root user and why maintaining both improves overall account security.
  • IAM
    Steve breaks down Identity and Access Management (IAM), explaining how it governs access to AWS resources through users, groups, roles, and policies. He emphasizes the principle of least access and the importance of granular permission control.
  • Setup the AWS CLI
    Steve guides students through setting up the AWS CLI, including configuration options and creating access keys. He also demonstrates creating policies and users via both the UI and the command line.

Static File Hosting

Section Duration: 1 hour, 2 minutes
  • AWS Services
    Steve tours the core AWS technologies covered in the course: S3, CloudFront, and Lambda. He explains how they connect and previews how CloudFront's programmability, Lambda@Edge, and API Gateway can be used to manipulate requests and responses at the edge.
  • S3 Buckets
    Steve dives into S3, explaining object storage concepts and walking through bucket creation, including settings for namespacing, public access, versioning, and encryption. He also covers the significance of globally unique bucket names and practical use cases for S3.
  • Adding Files to S3
    Steve presents a sample single-page React app students can clone as a starting point, then covers S3 storage classes like Standard, Infrequently Accessed, and Glacier. He also demonstrates configuring a bucket for static website hosting, including setting the index.html and redirection rules.
  • Configure Bucket Policies
    Steve explains how to configure a public read-only bucket policy and discusses caching strategies for different asset types, such as index.html versus fingerprinted JS and CSS bundles. He also covers using the AWS CLI to sync directories to S3 and touches on authentication options at the S3 and CDN level.
  • Using S3 with the AWS CLI
    Steve discusses strategies for limiting access to S3 resources, demonstrating how to set permissions for specific file types within a bucket. He highlights the efficiency of the AWS CLI for scripting tasks like checking public access settings and managing bucket interactions.
  • S3 SDK
    Steve covers advanced S3 features relevant to web developers, focusing on pre-signed URLs as a way to grant secure, time-limited access to private objects. He demonstrates how to generate these URLs programmatically using an S3 client.

Regions & CDNs

Section Duration: 1 hour, 7 minutes
  • Create a CloudFront CDN
    Steve walks through creating a CloudFront distribution and configuring the web application firewall for added security. He also covers copying the required bucket policy and outlines potential costs associated with CloudFront content delivery.
  • CDNs with CloudFront
    Steve explains how regional edge caches work and why distributing infrastructure closer to users improves data retrieval performance. He emphasizes measuring before implementing changes and uses real-world CDN examples to illustrate reliability and caching benefits.
  • Configuring the CDN
    Steve reviews key settings in the CloudFront distribution, including the default root object, price class, and edge location options. He demonstrates how to adjust and save these settings and notes how the CLI simplifies the process.
  • Cache Invalidation
    Steve explains cache invalidation, including when and how to invalidate specific files like index.html and the cost implications beyond the free monthly limit. He then covers custom error responses, showing how to handle client-side routes by configuring behavior for 403 and 404 HTTP status codes.
  • Deploying a SPA to S3
    Steve demonstrates a full app deployment using CLI commands, discussing necessary script variable adjustments. He also addresses caching behavior, explaining how browser cache and CloudFront work together and how caching rules can be customized per asset type.
  • Error Handling on CDN
    Steve explains how 404 and 403 errors are configured to return index.html, enabling client-side routing to function correctly while still adhering to proper HTTP response codes. He previews the use of Lambda and CloudFront functions for more advanced request and response manipulation.

Edge Compute

Section Duration: 24 minutes
  • Lambda@Edge & CloudFront Functions
    Steve compares CloudFront Functions and Lambda@Edge, outlining the trade-offs in runtime capability, flexibility, and proximity to the origin server. He demonstrates how Lambda@Edge enables more powerful serverless logic by allowing request and response modifications at multiple points in the CDN cycle.
  • Create a Lambda@Edge Function
    Steve demonstrates associating a CloudFront behavior with a Lambda@Edge function to handle specific client-side routes. He shows how to manipulate the event object within the function to return the correct status codes for matching requests.

Wrapping Up

Section Duration: 9 minutes
  • Wrapping Up
    Steve wraps up the course by connecting the day's work to broader AWS possibilities like databases, API Gateway, and backend-for-frontend patterns. He highlights Lambda@Edge use cases such as A/B testing and cookie management, and points students toward related courses for automating and extending what they've built.