How this course works
The six parts of every lesson, and how to practise safely.
Part 1: The problem
Leo, QuickCart’s second engineer, wanted to learn AWS. He created an account, followed a tutorial that built a network with a NAT gateway and a load balancer, got it working, and closed his laptop.
He forgot about it. Nothing was using any of it. A month later, the bill arrived: about fifty dollars, for a network nobody had sent a single request to.
Leo got off lightly. He’d also made access keys for his root user, so the tutorial’s commands would work. Those keys were sitting in a file on his laptop, and they could do anything to his account, forever.
Neither of these needs bad luck. Both come from how the account was set up. This lesson sets yours up so neither can happen quietly, and explains how the rest of the course works.
Part 2: The idea
Two ideas: how each lesson is built, and how to practise on a real AWS account without risk.
Every lesson has the same six parts
| Part | What it gives you |
|---|---|
| The problem | What goes wrong for QuickCart without this idea, and a real case where it went wrong for someone |
| The idea | The concept in plain words, before any jargon, with one sentence to remember |
| See it | An interactive picture you can operate. It narrates what happens in words, too |
| Do it | A hands-on lab with numbered steps, a cost badge, and a clean-up step |
| Check yourself | A few questions. Every answer, right or wrong, explains why |
| Cheat sheet | The essentials on one card. You can print it |
The order never changes, so you always know where you are. The tracker on the right of wide screens shows which part you’re reading.
Practising on a real account is safe if you set it up properly
The labs run on your own AWS account. That’s the only way to really learn it. It’s also where the two dangers are:
| Danger | What protects you |
|---|---|
| Someone gets into your account | MFA on the root user, and you never use root day to day |
| Keys on your laptop leak | No long-lived access keys. You sign in through IAM Identity Center, which hands out credentials that expire after a few hours |
| You forget to delete something | A budget alert, a clean-up step at the end of every lab, and a cost badge at the start |
The root user is the email address you signed up with. It can do anything, including close the account, and no rule can limit it. So you lock it away and create a separate admin login for yourself.
What the cost badges mean
| Badge | Means | Examples |
|---|---|---|
| Free | Nothing in the lab costs money | Setting up IAM, a VPC with no NAT gateway |
| Pennies | A few cents at most, even if you’re slow | A small S3 bucket, a few minutes of a small server |
| Costs money | Charges every hour while it runs. The lab gives a rough figure, warns you at the start, and ends with a clean-up step | NAT gateways, load balancers, managed databases, Kubernetes clusters |
Rough prices in this course are for us-east-1, rounded, and AWS changes them over time. Treat them as “about this much”, not as a quote.
The free tier, honestly
AWS’s free offers changed in 2025, and which ones you get depends on when your account was created.
| Your account | What you get, at the time of writing |
|---|---|
| Created from mid-July 2025 | Credits: $100 when you sign up, and up to $100 more for trying certain services. You choose a free plan, which never charges you but ends after about six months or when the credits run out, and limits some services. Or a paid plan, where the credits are used first and then you pay |
| Created before that | The older free tier: some services free for 12 months, within limits, such as 750 hours a month of a small server |
| Either | Some things are always free within limits, and a few services charge nothing at all |
Check what applies to you in Billing and Cost Management → Free Tier. Don’t rely on “it’s probably free”. Some things this course uses, like NAT gateways and Kubernetes clusters, aren’t covered by the older free tier at all. If a lab needs something your plan doesn’t allow, the console tells you when you try.
The rules for every lab
| Rule | Why |
|---|---|
| Work in us-east-1, N. Virginia | Everything is in one place, so nothing gets forgotten in another region |
| Read the cost badge first | You know before you start whether anything will charge |
| Always do the clean-up step, even if the lab went wrong | A half-built lab costs the same as a finished one |
| Sign in as your admin user, not root | If your login leaks, it can be taken away without losing the account |
Part 3: See it
Start some of the things that charge by the hour, then let the days pass. Watch the bill, and the $10 budget. Then clean up and let more days pass.
- Not runningNAT gatewayabout $1.10 a dayabout $0.045 an hour, plus data
- Not runningLoad balancerabout $0.60 a dayabout $0.0225 an hour, plus its IP addresses
- Not runningEKS cluster and two small serversabout $4.40 a dayabout $0.10 an hour for the cluster, plus the servers
- Not runningSmall databaseabout $0.45 a dayabout $0.016 an hour, plus storage
What to notice: nothing in this picture is doing any work. There are no users. The bill grows anyway, because you pay for things existing, not for them being used. And the budget emails arrive while everything keeps running. The only thing that stops the number is Clean up everything.
Part 4: Do it
Free — creating an account, MFA, IAM Identity Center and a budget cost nothing.
You’ll create an AWS account and set it up safely: MFA on the root user, a budget alert, and a separate admin login through IAM Identity Center. About 30 minutes. If you already have an account, skip the first step and check the rest are done.
You need an email address that nobody else can read, a phone, and a payment card. AWS asks for a card even if you only use free things.
Create the account
Search the web for AWS create account, and open the sign-up page on AWS’s own site. The screens change from time to time, but they ask for these things:
Screen Enter Root user email address An email only you can read. This email is the root user AWS account name quickcart-learningVerify email address The code AWS emails you Root user password A long, unique password from a password manager Account plan Free plan or Paid plan, if you’re asked. See the free tier table in the idea. If you’re unsure, the free plan is the safer choice; you can upgrade later Contact information Your details. Choose Personal Billing information Your card Confirm your identity Your phone number, then the code AWS sends Support plan Basic support – Free You should seeA page saying your account is being activated. It can take a few minutes, sometimes longer, before every service works.
Turn on MFA for the root user
Sign in to the console as the root user: choose Root user on the sign-in page and use your email and password. AWS now requires MFA for the root user, so it may ask you to set it up straight away. If it doesn’t, do it now.
In the AWS console: Account menu (top right)Security credentialsAssign MFA device
Field Enter Device name root-phoneMFA device Passkey or security key if you have one, otherwise Authenticator app Choose Next. For an authenticator app, choose Show QR code, scan it with the app, then type two codes in a row from the app into MFA code 1 and MFA code 2. Choose Add MFA.
You should seeBack on Security credentials, the Multi-factor authentication (MFA) section lists
root-phone. Further down, the Access keys section says there are none. Keep it that way: never create access keys for root.Create a budget alert
You’re signed in as root, which can always see billing, so create the budget now. Pick your monthly limit from the roadmap lab. This course uses $10.
In the AWS console: Billing and Cost ManagementBudgetsCreate budget
Field Enter Budget setup Use a template (simplified) Templates Monthly cost budget Budget name quickcart-monthlyEnter your budgeted amount ($) 10Email recipients Your email address Choose Create budget.
You should seequickcart-monthlyin the list of budgets, with a budgeted amount of $10.00. The template emails you when your actual spend passes 85% and 100% of the amount, and when AWS forecasts you’ll pass 100%. The exact thresholds may differ if AWS changes the template.Turn on IAM Identity Center
IAM Identity Center is where you’ll create your everyday admin login. Check the region selector at the top right says N. Virginia (us-east-1) first: Identity Center lives in one region, and that’s where you’ll find it later.
In the AWS console: IAM Identity CenterEnable
If it asks how to enable it, choose to enable it with AWS Organizations. That makes your account the only member of a new organization. It’s free, and it’s what lets Identity Center give you access to the account.
You should seeThe IAM Identity Center dashboard. Under Settings summary, note the AWS access portal URL: a web address ending in
awsapps.com/start. Bookmark it. It’s where you’ll sign in from now on.Create your user
In the AWS console: IAM Identity CenterUsersAdd user
Field Enter Username Your first name in lowercase, like mayaPassword Send an email to this user with password setup instructions Email address Your email address Confirm email address The same again First name Your first name Last name Your last name Choose Next, skip Add user to groups with Next, then choose Add user.
You should seeYour user in the list, with a note that an invitation email was sent.
Create an admin permission set
A permission set is a named bundle of permissions that Identity Center can give to people in an account.
In the AWS console: IAM Identity CenterPermission setsCreate permission set
Field Enter Permission set type Predefined permission set Policy for predefined permission set AdministratorAccess Choose Next.
Field Enter Permission set name AdministratorAccess, the defaultSession duration 1 hour, the default. Choose up to 12 hours if you’d rather sign in less often Choose Next, then Create.
Give your user admin access to the account
In the AWS console: IAM Identity CenterAWS accounts
Tick your account, then choose Assign users or groups. On the Users tab, tick your user and choose Next. Tick AdministratorAccess, choose Next, then Submit.
You should seeA message saying the assignment succeeded. Under your account, your user is listed with AdministratorAccess.
Sign in as your admin user
Open the email with the subject Invitation to join AWS IAM Identity Center and choose Accept invitation. Set a password, then register an MFA device when asked. It’s a separate login from root, so give it its own entry in your authenticator app.
You land on the AWS access portal. Open your account and choose AdministratorAccess.
You should seeThe AWS console. The account menu at the top right shows
AdministratorAccess/maya, with your own name in place ofmaya. This is how you’ll sign in from now on.Clean-up step: Clean up
Nothing here costs money, so there’s nothing to delete. Keep all of it: the MFA, the budget and your admin user are what keep the rest of the course safe.
Sign out of root, and put the root password and MFA somewhere safe. From now on, sign in only through your access portal bookmark.
Part 5: Check yourself
What should you use the root user of your AWS account for, day to day?
Your $10 budget alert email arrives. What has AWS done about the resources that are running?
You finish a lab that used a NAT gateway and go to bed without cleaning up. What happens?
Why does this course use IAM Identity Center for your login instead of an IAM user with access keys?
Which part of every lesson should you check before you start its lab?
Part 6: Cheat sheet
| Idea | In one line |
|---|---|
| The six parts | Problem, idea, see it, do it, check yourself, cheat sheet |
| Root user | The sign-up email. MFA on, no access keys, almost never used |
| IAM Identity Center | Where your everyday admin login lives. Credentials expire after hours |
| Access portal | The awsapps.com/start address you sign in from. Bookmark it |
| Permission set | A named bundle of permissions, like AdministratorAccess |
| Budget | Emails you at 85% and 100%. It does not stop anything |
| Free badge | Nothing costs money |
| Pennies badge | A few cents at most |
| Costs money badge | Charges every hour until the clean-up step |
| Region | Always us-east-1 in this course |
| Free tier | Depends on when the account was made. Check Billing → Free Tier |