Laptop to Production

How this course works

The six parts of every lesson, and how to practise safely.

Time
35 minutes
Level
Beginner
Read first
Nothing — you can start here

Part 1: The problem

QuickCart, the first AWS bill

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

PartWhat it gives you
The problemWhat goes wrong for QuickCart without this idea, and a real case where it went wrong for someone
The ideaThe concept in plain words, before any jargon, with one sentence to remember
See itAn interactive picture you can operate. It narrates what happens in words, too
Do itA hands-on lab with numbered steps, a cost badge, and a clean-up step
Check yourselfA few questions. Every answer, right or wrong, explains why
Cheat sheetThe 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:

DangerWhat protects you
Someone gets into your accountMFA on the root user, and you never use root day to day
Keys on your laptop leakNo 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 somethingA 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.

Key point: Something that charges by the hour keeps charging until you delete it. A budget alert tells you; only deleting stops it.

What the cost badges mean

BadgeMeansExamples
FreeNothing in the lab costs moneySetting up IAM, a VPC with no NAT gateway
PenniesA few cents at most, even if you’re slowA small S3 bucket, a few minutes of a small server
Costs moneyCharges every hour while it runs. The lab gives a rough figure, warns you at the start, and ends with a clean-up stepNAT 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 accountWhat you get, at the time of writing
Created from mid-July 2025Credits: $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 thatThe older free tier: some services free for 12 months, within limits, such as 750 hours a month of a small server
EitherSome 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

RuleWhy
Work in us-east-1, N. VirginiaEverything is in one place, so nothing gets forgotten in another region
Read the cost badge firstYou know before you start whether anything will charge
Always do the clean-up step, even if the lab went wrongA half-built lab costs the same as a finished one
Sign in as your admin user, not rootIf 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.

Start
  • 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
Day 0Running now: $0.00 a day
$0.00on this month's bill
No budget alerts yet
Nothing runningStart one or more resources, then let the days pass. The budget is $10 a month.

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.

  1. 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:

    ScreenEnter
    Root user email addressAn email only you can read. This email is the root user
    AWS account namequickcart-learning
    Verify email addressThe code AWS emails you
    Root user passwordA long, unique password from a password manager
    Account planFree 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 informationYour details. Choose Personal
    Billing informationYour card
    Confirm your identityYour phone number, then the code AWS sends
    Support planBasic support – Free
    You should see

    A page saying your account is being activated. It can take a few minutes, sometimes longer, before every service works.

  2. 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

    FieldEnter
    Device nameroot-phone
    MFA devicePasskey 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 see

    Back 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.

  3. 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

    FieldEnter
    Budget setupUse a template (simplified)
    TemplatesMonthly cost budget
    Budget namequickcart-monthly
    Enter your budgeted amount ($)10
    Email recipientsYour email address

    Choose Create budget.

    You should see

    quickcart-monthly in 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.

  4. 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 see

    The 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.

  5. Create your user

    In the AWS console: IAM Identity CenterUsersAdd user

    FieldEnter
    UsernameYour first name in lowercase, like maya
    PasswordSend an email to this user with password setup instructions
    Email addressYour email address
    Confirm email addressThe same again
    First nameYour first name
    Last nameYour last name

    Choose Next, skip Add user to groups with Next, then choose Add user.

    You should see

    Your user in the list, with a note that an invitation email was sent.

  6. 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

    FieldEnter
    Permission set typePredefined permission set
    Policy for predefined permission setAdministratorAccess

    Choose Next.

    FieldEnter
    Permission set nameAdministratorAccess, the default
    Session duration1 hour, the default. Choose up to 12 hours if you’d rather sign in less often

    Choose Next, then Create.

  7. 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 see

    A message saying the assignment succeeded. Under your account, your user is listed with AdministratorAccess.

  8. 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 see

    The AWS console. The account menu at the top right shows AdministratorAccess/maya, with your own name in place of maya. This is how you’ll sign in from now on.

  9. 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

On one card
IdeaIn one line
The six partsProblem, idea, see it, do it, check yourself, cheat sheet
Root userThe sign-up email. MFA on, no access keys, almost never used
IAM Identity CenterWhere your everyday admin login lives. Credentials expire after hours
Access portalThe awsapps.com/start address you sign in from. Bookmark it
Permission setA named bundle of permissions, like AdministratorAccess
BudgetEmails you at 85% and 100%. It does not stop anything
Free badgeNothing costs money
Pennies badgeA few cents at most
Costs money badgeCharges every hour until the clean-up step
RegionAlways us-east-1 in this course
Free tierDepends on when the account was made. Check Billing → Free Tier

Finished the build and the quiz? Mark it done to fill in its stop on the route map.