Free tech learning for everyone, from basics to pro

Cloud LabsLabsBeginner

Lab: using cloud free tiers safely (budgets, MFA, clean-up)

In short: Free tiers and credits are a great way to learn cloud, but they have limits and expiry dates, and anything beyond them is billed. This lab sets up MFA and budgets first, then teaches a routine of tagging, deleting and checking that keeps your account safe and your bill near zero.

Aim and what you need

The aim is to prepare a personal cloud account so you can practise without two common disasters: a stolen login used to run expensive resources, and a forgotten resource quietly billing you for months. The free offers differ by provider and change over time. Typically you get a time-limited credit for new accounts plus some services that are free up to a monthly limit. Read the current terms on the provider's own pages before you start, and note the end date in your calendar.

  • A dedicated email address for the cloud account, not shared with anything else.
  • A payment card (required for sign-up by most providers). A prepaid or virtual card with a low limit adds protection.
  • An authenticator app or a hardware security key.
  • Optional: the AWS CLI, Azure CLI or Google Cloud CLI on your computer.
Safety settings before your first resourceRoot or owner MFAphishing-resistant if possibleBudget alertssmall amount, several levelsAdmin identitydaily login, also with MFAOne home regioneasier to find thingsTags or groupsproject=lab on everything
Figure 1. Five settings, applied in this order, prevent most security problems and surprise bills in student cloud accounts.

Steps

  1. Sign up, then immediately turn on MFA (multi-factor authentication) for the root user (AWS), the owner account (Azure) or your Google account. A passkey or hardware key is best.
  2. Create a budget with alerts at 50%, 80% and 100% of a small amount, following the budget alerts lab. On AWS, also turn on free tier usage alerts in billing preferences.
  3. Stop using the root or owner login for daily work. Create an admin identity with MFA, as in the AWS IAM and MFA lab.
  4. Pick one region close to you and use it for every lab.
  5. Put every lab into something you can delete in one go: an Azure resource group, a Google Cloud project, or on AWS a CloudFormation stack, a Terraform folder, or at least a project=lab tag.
  6. At the end of every session, delete what you built, then run the inventory commands below.
aws resourcegroupstaggingapi get-resources --tag-filters Key=project,Values=lab --query "ResourceTagMappingList[].ResourceARN"
for r in $(aws ec2 describe-regions --query "Regions[].RegionName" --output text); do echo $r; aws ec2 describe-instances --region $r --query "Reservations[].Instances[].[InstanceId,State.Name]" --output text; aws ec2 describe-addresses --region $r --query "Addresses[].PublicIp" --output text; done
aws ec2 describe-nat-gateways --query "NatGateways[?State=='available'].NatGatewayId"
az resource list --output table
az group delete --name rg-lab-week1 --yes --no-wait
gcloud projects list
gcloud projects delete <lab-project-id>
The lab session routinePlanwhat and how longBuildtag every resourceTestdo the labDeletewhole group or stackCheck billnext day
Figure 2. Every cloud lab session ends with deleting what you built and checking billing the following day.

How to verify

You are set up correctly when the security page of each account shows MFA as active for the owner, a test budget alert email has arrived (set one temporarily to a tiny amount if needed), and your inventory commands return nothing after clean-up. The next day, open the billing or cost page and confirm that today's charges are zero or match what you expected. Remember that billing data lags by several hours, and budgets warn you but do not stop spending.

Common money traps and clean-up

TrapWhy it costsWhat to do
NAT gatewayCharged per hour plus data, even when idleAvoid in labs; delete straight after use
Public IPv4 addressesCharged per hour on AWS, including unattached onesRelease Elastic IPs; prefer one public host
Stopped VMsCompute stops, but disks and snapshots still billDelete the VM and its disks
Other regionsResources hide where you are not lookingUse one region and check all of them weekly
Leaked access keysAttackers run crypto-mining at your costNo long-lived keys in code or public repositories

If you get a surprise charge, delete the resource first, then contact the provider's billing support; they will sometimes help first-time learners. When you finish with the platform, close the account properly rather than abandoning it.

Practice

Does a budget stop resources when it reaches 100%?
No. A budget sends alerts; resources keep running until you delete them or build an automated action.
Why put each lab in a resource group, project or stack?
So you can delete everything from that lab in one action and nothing is forgotten.
Why is a stopped VM not free?
Its disks, snapshots and any reserved public IP address are still billed.

Key takeaways

  • Turn on MFA for the owner login before anything else.
  • Create a small budget with several alert levels on day one.
  • Group or tag every lab resource so it can be deleted together.
  • Watch for NAT gateways, public IPs, disks and other regions.
  • Delete after each session and check the bill the next day.
Tracks your learning on this device only. See your progress on the learning paths.

About the author

Mohamed Fayas

Founder of FM TecHub. CCNA certified, with a BTEC HND in Network Engineering, and BEng (Hons) in Computer Networking and Cloud Security. He writes practical, plain-English guides on networking, security and cloud.

More about the author

Original content written by Mohamed Fayas for FM TecHub. © 2026 FM TecHub. You're welcome to share a link to this page; please don't copy the text elsewhere without permission.

Stay up to date by email

New notes, tools and security news from FM TecHub, explained simply. Free.

We only use your email to send these updates. See our privacy policy.