Create an AWS Account
Create an AWS account and set up the Free Tier in this first lesson of the AWS Cloud & DevOps with Python track. Get step-by-step sign-up guidance, billing alert setup, and troubleshooting tips to start your cloud journey safely and cost-effectively.
Focus: create an aws account and free tier setup
Create an AWS Account and Free Tier Setup
You want to deploy your Python apps to the cloud, but the first wall you hit is setting up an AWS account without accidentally racking up a bill. This lesson removes that friction: you'll create an AWS account, configure the Free Tier, and put billing safeguards in place—so you can start building with confidence and zero surprises on your credit card.
The problem this lesson solves
Every serious cloud project starts with an AWS account, but the sign-up flow can feel overwhelming: root user credentials, payment methods, identity verification, and a console that looks like a spaceship control room. If you skip the essential setup steps, you might face surprise charges, security risks from a compromised root account, or the frustration of not being able to launch your first EC2 instance.
This lesson solves those problems by walking you through the exact steps to create an AWS account, enable the Free Tier, and set up billing alerts—so you can focus on learning AWS Cloud & DevOps with Python instead of worrying about your wallet.
Core concept / mental model
Think of your AWS account as the front door to a massive cloud estate. The root user is the landlord with full access to everything—powerful and dangerous if misused. The Free Tier is your 12-month trial pass that lets you explore many services without paying, as long as you stay within usage limits.
A clear mental model: account → IAM users → services → billing. You create the account (root), then create a daily-driver IAM user for yourself (best practice), and use that user to access services like EC2 or S3. Meanwhile, billing alerts are your smoke detectors—they scream before you get a huge invoice.
Key terms you'll see:
- Root user: the account owner with unrestricted access; use it only for account-level tasks (billing, IAM setup).
- IAM user: a separate identity you create for everyday work; can be given limited permissions.
- Free Tier: a set of services with usage limits that cost nothing for 12 months (or forever for some like Lambda).
- Billing alert: a CloudWatch alarm that sends you an email when your estimated charges exceed a threshold you set.
How it works step by step
The process of creating an AWS account and setting up the Free Tier follows a logical sequence. Here's the cause-and-effect chain:
- Prepare your information — You'll need a valid email address, a credit/debit card (even for the Free Tier, for identity verification), and a phone number for verification.
- Sign up — Go to
aws.amazon.comand click "Create an AWS Account." Enter your email and password, then choose an account name (e.g.,yourname-dev). - Contact info — Choose "Personal" or "Professional" (both fine for learning), fill in your details, and agree to the AWS Customer Agreement.
- Payment method — Add your card. AWS charges a small temporary hold (e.g., $1–$2) to verify the card, then refunds it.
- Identity verification — You'll receive a text or call with a PIN to confirm your phone number.
- Support plan — Choose the Free Basic Support plan (default) — no need for paid support at this stage.
- Login — After a few minutes, sign in as the root user with your email and password.
- Set up billing alerts — Go to the billing dashboard, create a budget (e.g., $5/month), and add a CloudWatch alarm to email you when charges exceed $1.
- Create an IAM user — In IAM, create a user for yourself with admin access, and enable MFA for extra security.
The Free Tier is automatically applied to your account—you don't need to "activate" it. But you must stay within its limits (e.g., 750 hours of EC2 t2.micro per month) to avoid charges.
Hands-on walkthrough
Let's do it live. Follow these steps—no code required yet, but you'll soon use the AWS CLI to confirm your setup.
Step 1: Sign up for AWS
- Go to aws.amazon.com and click Create an AWS Account.
- Enter your email and a strong password (use a password manager). Choose a unique account name like
python-dev-2025. - Fill in your contact info and select Personal or Professional.
- Enter your card details. Remember: AWS won't charge you unless you exceed Free Tier limits.
- Complete phone verification by entering the PIN sent to your phone.
- Select Free Basic Support and finish.
Wait a few minutes until your account is active, then sign in to the console.
Step 2: Set up billing alerts
Once logged in, go to the Billing Dashboard (search "Billing" in the top search bar).
- Click Budgets on the left.
- Click Create a budget.
- Choose Cost budget and set a recurring budget of $5/month.
- Add an alert at 80% of the budget so you get an email when you're approaching $4.
- Also create a CloudWatch billing alarm that triggers when estimated charges exceed $1. This is a lower bar for early warning.
Pro tip: A budget is a forecast; a CloudWatch alarm reacts to actual charges. Set both for double protection.
Step 3: Create an IAM admin user (best practice)
Never use the root user for daily work. Instead:
- Go to IAM > Users > Create user.
- Enter a username (e.g.,
dev-admin). - Check Provide user access to the AWS Management Console and set a custom password (or let AWS generate one).
- On permissions, choose Attach policies directly and select AdministratorAccess (fine for learning).
- Create the user and save the credentials.
- Enable MFA on your root user and on this IAM user for security.
Now sign out of root and sign in as dev-admin. You'll use this identity for the rest of the track.
Step 4: Verify with the AWS CLI
Install the AWS CLI (see AWS CLI docs) and configure it with your IAM user's access keys:
aws configure
# AWS Access Key ID: (your key)
# AWS Secret Access Key: (your secret)
# Default region name: us-east-1
# Default output format: json
Then run a simple command to verify your account:
aws sts get-caller-identity
Example output:
{
"UserId": "AIDA...EXAMPLE",
"Account": "123456789012",
"Arn": "arn:aws:iam::123456789012:user/dev-admin"
}
Seeing your account ID confirms your setup is correct.
Step 5: Confirm Free Tier usage
Check your Free Tier usage at any time via the Billing Dashboard > Free Tier. It shows what you've used and what remain.
Compare options / when to choose what
You have a few choices during setup. Here's how to pick:
| Option | When to choose | Notes |
|---|---|---|
| Personal vs Professional account | Personal for learning; Professional if you're a business | Both work; only affects contact info |
| Free Basic Support vs paid plans | Always start with Free Basic | Paid support is for production needs |
| Root user vs IAM user for daily work | IAM user with admin access | Root only for account-level changes |
| Budget alert vs CloudWatch alarm | Use both | Budget forecasts; alarm reacts to actuals |
| MFA on root vs IAM user | Enable on both | Adds security against compromise |
Troubleshooting & edge cases
- "Card declined" or verification failed — Double-check the billing address matches your card's zip code; try a different card if needed.
- Account not active after sign-up — Wait up to 24 hours; check your email for verification links.
- Sign in as root user using email — Make sure you're on the root user sign-in page, not IAM user sign-in.
- Free Tier charges appear — You likely exceeded a limit (e.g., created a resource outside Free Tier). Check the Free Tier dashboard and terminate unused resources.
- Forgot IAM password — Use the root user to reset it; enable password recovery options.
- MFA device lost — If you lose the device, you may need to contact AWS support (proof of identity required).
- Unexpected bill — Check CloudWatch billing alarms; if they trigger, terminate resources (e.g., stop EC2 instances) and revisit your usage.
What you learned & what's next
You now have a secure AWS account with Free Tier enabled, billing alerts in place, and an IAM user configured for everyday work. You verified your setup with the AWS CLI—a key DevOps skill.
Your next lesson in this track is IAM deeply — where you'll create users, groups, and roles, and write Python scripts (using boto3) to manage permissions programmatically. This foundational IAM knowledge will underpin everything else you build on AWS.
To reinforce your learning, try this mini exercise: write a small Python script that uses boto3 to list your IAM users. If it returns your user list, you're ready for the next step.
import boto3
# Create an IAM client
iam = boto3.client('iam')
# List all users in your account
response = iam.list_users()
for user in response['Users']:
print(f"Username: {user['UserName']}, ARN: {user['Arn']}")
Expected output (example):
Username: dev-admin, ARN: arn:aws:iam::123456789012:user/dev-admin
Practice recap
Create a budget of $5/month and a CloudWatch billing alarm set to trigger at $1. Then, using the AWS CLI, run aws sts get-caller-identity to confirm your account is live. Finally, use boto3 in Python to list your IAM users—this will be your first automated AWS task.
Common mistakes
- Using the root user for daily work—always create an IAM user with least privilege.
- Skipping billing alerts—you can incur charges without realizing it until the bill arrives.
- Sharing root credentials—anyone with them can control your whole account; enable MFA and use IAM users instead.
- Assuming all AWS services are free—the Free Tier only covers specific services and usage limits; check the Free Tier page.
Variations
- You can use AWS Organizations to create multiple accounts under one payer account for better cost isolation and governance.
- Instead of the AWS Management Console, you can use AWS CLI or AWS CloudShell (available in the console) for most account setup tasks.
- For programmatic access, you can create access keys for your IAM user and configure them in the AWS CLI—making it easy to automate everything.
Real-world use cases
- A developer sets up a personal AWS account to learn cloud and DevOps using Python, using the Free Tier to experiment with EC2 and S3.
- A startup creates an AWS account with billing alerts to monitor costs from day one, ensuring no surprise charges while building an MVP.
- An organization uses AWS Organizations to create separate accounts for staging and production, each with its own Free Tier eligibility and budgets.
Key takeaways
- Your AWS account uses the root user for account-level tasks, but you should create an IAM admin user for daily work.
- The Free Tier gives you a 12-month window of free usage—but only for approved services and usage limits.
- Billing alerts are essential: set a budget and a CloudWatch alarm to avoid surprise charges.
- Identity verification and payment information are required even for the Free Tier.
- The AWS CLI lets you verify your account setup and is the first step to automation.
- Always enable MFA for your root user and IAM users to protect against unauthorized access.
Keep learning
Related tutorials, quizzes, and articles for this topic.
Discussion
Questions, corrections, and tips help everyone reading this page.
0 comments
Add a comment
No comments yet — start the thread.