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
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
Cost — Low 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.
You are done when
0 of 4
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.
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#
- What did you expect, exactly?
- What happened instead — the error text, not a paraphrase?
- Which layer is that error from?
- What is the smallest command that proves the layer below is fine?
The concept behind it
Next up
Lab 15 of 58 on the project path