Skip to content
EgyKode
03 · AWS by handLab 15 / 59
Challengeaws

AWS VPC Networking by Hand — Challenge

Build the network by hand so the Terraform version stops being magic — and find out what actually makes a subnet public.

Time
27 min
Level
Beginner
Objectives
4 objectives
Cost
Low cost

Where this fits in the platform

Before you start

You will need

  • AWS CLI v2, configured
  • An AWS account

You will be able to

  • Explain what makes a subnet public, in terms of the route table
  • Distinguish a security group from a NACL by their statefulness
  • Reach an instance in a private subnet without a public IP

CostLow cost

— a VPC, subnets, an Internet Gateway and one `t3.micro`. No NAT Gateway is created, deliberately: it is the one resource here that bills hourly.

How to clean up

The goal#

Achieve the same outcome as AWS VPC Networking by Hand, from an empty starting point, without the steps.

The Terraform VPC lab produces a working network in one command, which is the point of Terraform and also the problem: nothing about it explains why it works.

Build the same thing by hand once, and every later terraform apply becomes readable.

Hands-on environment

Run it on AWS

This lab builds real cloud infrastructure, so it needs your own AWS account. Follow the cost and cleanup notes above — the resources are yours, and so is the bill.

Anything you tick here is your own record. EgyKode cannot see inside that terminal, so the success criteria stay self-assessed even when the environment checks your work for you.

What must be true when you are done

Step 1 of 3

What must be true when you are done#

  • A VPC with one public and one private subnet exists, built by hand.
  • An instance in the public subnet is reachable over SSH; one in the private subnet is not.
  • You can state which single route makes the public subnet public.
  • You reached the private instance without giving it a public IP.

Rules#

  • Do not open the guided lab until you are finished, or until the same problem has held you up for 20 minutes.
  • Documentation is allowed and encouraged.
  • Verify every criterion with a command whose output you can read.

If you get stuck#

  1. What did you expect, exactly?
  2. What happened instead — the error text, not a paraphrase?
  3. Which layer is that error from?
  4. What is the smallest command that proves the layer below is fine?

You are done when

0 of 4

The concept behind it

Stuck?Open the guided lab

Next up

Lab 15 of 59 on the project path

Static Site on S3 + CloudFrontServe a site from a private bucket through a CDN with HTTPS, correct cache headers, and a cleanup you actually run.55 minBeginner