AWS Account Setup
Create your AWS account from scratch, set up billing alerts, secure it with MFA, and create a proper IAM user.
What you'll accomplish
A secure AWS account with billing alerts, MFA enabled, and a dedicated IAM user for daily use
Prerequisites
- Valid email address
- Credit or debit card (required even for free tier)
- Phone number for verification
Before You Start: What Are You Deploying?
This track teaches AWS deployment mechanics. Before diving in, consider what you're deploying:
Deploying a frontend/static site? You might not need AWS at all—platforms like Vercel handle this with zero configuration.
Deploying a complete SaaS product? You'll also need:
- User authentication and sessions
- Subscription billing (Stripe integration)
- Transactional email and notifications
- Multi-tenant data architecture
Your options for the backend:
- Build it yourself — this track + our SaaS Starter template
- Use a backend platform — services like StackForDevs provide auth, billing, and notifications as APIs, so you only deploy your frontend
This track focuses on deployment infrastructure. Make sure you know what you're deploying before proceeding.
Why AWS?
Amazon Web Services is the most widely-used cloud platform, powering everything from startups to Netflix. While it has a steeper learning curve than platforms like Vercel, it offers:
- Complete control over your infrastructure
- Enterprise-grade reliability (99.99% uptime SLAs)
- Compliance certifications (HIPAA, SOC2, PCI-DSS)
- Massive ecosystem of 200+ services
- Free tier that's generous enough for learning and small projects
Note
AWS Free Tier includes 750 hours/month of EC2 t2.micro, 5GB S3 storage, and many other services free for 12 months. Some services (like Lambda) have an always-free tier.
Step 1: Create Your AWS Account
1.1 Go to AWS Signup
Open your browser and navigate to:
https://portal.aws.amazon.com/billing/signup
1.2 Enter Your Email and Account Name
- Email address: Use an email you check regularly - AWS sends important security and billing notifications here
- Account name: Choose something descriptive like "MyCompany Production" or "Personal Projects"
Note
Use a dedicated email for AWS if possible. This becomes your "root" account email and is critical for account recovery.
1.3 Verify Your Email
AWS will send a verification code to your email. Enter it to continue.
1.4 Create Root Password
Create a strong, unique password. This is your "root" account - the most powerful credential in your AWS account.
Password requirements:
- Minimum 8 characters
- Include uppercase, lowercase, numbers, and symbols
- Don't reuse passwords from other sites
Note
Write down this password and store it securely. Losing root account access is extremely difficult to recover from.
1.5 Enter Contact Information
Select Personal or Business account type, then fill in:
- Full name
- Phone number
- Country
- Address
1.6 Add Payment Method
AWS requires a valid credit or debit card even for the free tier. You'll see a temporary $1 authorization (refunded within 3-5 days).
Note
You won't be charged unless you exceed free tier limits. We'll set up billing alerts in the next section to prevent surprises.
1.7 Verify Your Identity
AWS will call or text you with a verification code. Enter it to prove you're human.
1.8 Select Support Plan
Choose Basic Support (Free) unless you need paid technical support. You can upgrade later.
1.9 Complete Signup
Click Complete sign up. Your account will be ready in a few minutes (sometimes up to 24 hours for full activation).
Step 2: Set Up Billing Alerts (Critical!)
Before doing anything else, set up billing alerts so you never get surprised by charges.
2.1 Access Billing Dashboard
- Sign in to the AWS Console at
https://console.aws.amazon.com - Click your account name in the top-right corner
- Select Billing and Cost Management
2.2 Enable Billing Alerts
- In the left sidebar, click Billing preferences
- Under Alert preferences, click Edit
- Enable:
- Receive AWS Free Tier alerts - warns you before exceeding free limits
- Receive CloudWatch billing alerts - enables custom budget alerts
- Enter your email address
- Click Update
2.3 Create a Budget
- In the left sidebar, click Budgets
- Click Create budget
- Select Use a template (simplified)
- Choose Zero spend budget (alerts if ANY charges occur)
- Enter your email for notifications
- Click Create budget
Note
Now you'll receive an email immediately if any charges appear on your account. This is your safety net.
2.4 Create a Monthly Budget (Optional)
For ongoing projects, also create a monthly cost budget:
- Click Create budget again
- Select Use a template (simplified)
- Choose Monthly cost budget
- Set your threshold (e.g., $10)
- Enter your email
- Click Create budget
Step 3: Secure Your Root Account with MFA
Your root account is like the master key to your entire AWS infrastructure. Secure it with Multi-Factor Authentication (MFA).
3.1 Access Security Credentials
- Click your account name in the top-right corner
- Select Security credentials
- You may see a warning about using root credentials - that's fine for now
3.2 Set Up MFA
- Scroll to Multi-factor authentication (MFA)
- Click Assign MFA device
- Enter a device name (e.g., "MyPhone")
- Select Authenticator app
- Click Next
3.3 Configure Your Authenticator
-
Install an authenticator app if you don't have one:
- Google Authenticator (iOS/Android)
- Authy (iOS/Android/Desktop)
- 1Password (if you use it for passwords)
-
In the app, add a new account by scanning the QR code shown by AWS
-
Enter two consecutive MFA codes from the app (wait for the code to refresh between entries)
-
Click Add MFA
Note
Your root account is now protected by MFA. Even if someone steals your password, they can't access your account without your phone.
Step 4: Create an IAM User (Don't Use Root!)
The root account should only be used for billing and account management. For daily work, create an IAM (Identity and Access Management) user.
4.1 Access IAM
- In the AWS Console search bar, type "IAM"
- Click IAM to open the Identity and Access Management dashboard
4.2 Create a New User
- In the left sidebar, click Users
- Click Create user
- Enter a username (e.g., "admin" or your name)
- Check Provide user access to the AWS Management Console
- Select I want to create an IAM user
- Choose Custom password and enter a strong password
- Uncheck Users must create a new password at next sign-in (unless others will use this)
- Click Next
4.3 Set Permissions
- Select Attach policies directly
- Search for and check AdministratorAccess
- Click Next
Note
AdministratorAccess gives full control of your AWS account. For production environments with multiple users, create more restrictive policies.
4.4 Review and Create
- Review your settings
- Click Create user
- Important: Save the sign-in URL shown (it looks like
https://123456789012.signin.aws.amazon.com/console)
4.5 Set Up MFA for IAM User
- Click on your newly created user
- Select the Security credentials tab
- Under Multi-factor authentication (MFA), click Assign MFA device
- Follow the same MFA setup process as before
4.6 Create Access Keys (for CLI)
- Still in the Security credentials tab
- Scroll to Access keys
- Click Create access key
- Select Command Line Interface (CLI)
- Check the confirmation checkbox
- Click Next
- Add a description (e.g., "My laptop CLI")
- Click Create access key
- Critical: Download the CSV file or copy both keys NOW - you cannot view the secret key again!
Note
Store your access keys securely! Never commit them to git, paste them in chat, or share them. Treat them like passwords.
Step 5: Sign Out of Root, Sign In as IAM User
- Click your account name in the top-right corner
- Click Sign out
- Go to your IAM sign-in URL (saved in step 4.4)
- Enter your IAM username and password
- Enter your MFA code
Note
From now on, always use this IAM user for daily work. Only use the root account for billing and account-level changes.
Quick Reference: Your AWS Credentials
You now have several credentials. Here's what each is for:
| Credential | Where to Use | How to Store |
|---|---|---|
| Root email + password | Console login (emergencies only) | Password manager |
| Root MFA | Console login (emergencies only) | Authenticator app |
| IAM username + password | Daily console login | Password manager |
| IAM MFA | Daily console login | Authenticator app |
| Access Key ID | AWS CLI, SDKs | ~/.aws/credentials |
| Secret Access Key | AWS CLI, SDKs | ~/.aws/credentials |
What's Next?
Your AWS account is now secure and ready to use. In the next lesson, we'll install and configure the AWS CLI so you can control AWS from your terminal.
Note
Checkpoint: Before continuing, verify you can sign in to the AWS Console using your IAM user credentials and MFA.