Step-by-step guide to create and secure your AWS account
A complete walkthrough to create your AWS account, set up billing alerts, and secure it with best practices.
Email address → Use a new email (this becomes root user)
AWS account name → Your name or organization name
Password → Strong password (12+ chars, mixed case, numbers, symbols)
🔐 Important: The email you use becomes the root user — the most powerful account. Use an email you'll always have access to.
| Type | Best For |
|---|---|
| Personal | Learning, side projects, individual use |
| Professional | Business, company, organization |
| Plan | Cost | Recommended For |
|---|---|---|
| Basic (Free) | $0/month | Learning, personal projects |
| Developer | $29/month | Development workloads |
| Business | $100+/month | Production workloads |
| Enterprise | Custom | Large organizations |
Choose Basic (Free) — you can upgrade later if needed.
┌─────────────────────────────────────────────────────────────┐
│ AWS Logo Services ▼ Search bar Region ▼ Account │
├─────────────────────────────────────────────────────────────┤
│ │
│ Recently visited services │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ EC2 │ │ S3 │ │ IAM │ │
│ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ AWS Health Dashboard │
│ Cost & Usage │
│ │
└─────────────────────────────────────────────────────────────┘
The root account has unlimited access to everything. Secure it immediately.
✓ Done! Your root account now requires MFA to sign in.
Never use root for daily tasks. Create an IAM user instead.
akshaya-admin)For a personal admin user:
Avoid surprise charges by setting up billing alerts.
Threshold type → Static
Whenever... → Greater than
Than... → 5 (or your preferred amount in USD)
billing-alerts📩 Check your email and confirm the SNS subscription
AWS offers a Free Tier for 12 months after account creation.
| Type | Duration | Examples |
|---|---|---|
| 12 Months Free | First year only | EC2 t2.micro, S3, RDS |
| Always Free | Forever | Lambda, DynamoDB, SNS |
| Trials | Short period | SageMaker, Redshift |
| Service | Free Tier Limit |
|---|---|
| EC2 | 750 hours/month of t2.micro or t3.micro |
| S3 | 5 GB storage, 20,000 GET, 2,000 PUT requests |
| RDS | 750 hours/month of db.t2.micro or db.t3.micro |
| Lambda | 1 million requests/month, 3.2M seconds compute |
| DynamoDB | 25 GB storage, 25 WCU/RCU |
The AWS Command Line Interface lets you manage AWS from your terminal.
# Download and install
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
# Verify installation
aws --version
Download the MSI installer from AWS CLI page
aws configure
Enter:
AWS Access Key ID → (your key)
AWS Secret Access Key → (your secret)
Default region name → ap-south-1 (or your preferred region)
Default output format → json
⚠ Warning: Never share or commit access keys to Git!
# Check who you are
aws sts get-caller-identity
# List S3 buckets
aws s3 ls
# List EC2 instances
aws ec2 describe-instances
| Do | Don't |
|---|---|
| ✓ Use IAM users for daily work | ✗ Use root account for daily tasks |
| ✓ Enable MFA on all accounts | ✗ Skip MFA setup |
| ✓ Set up billing alerts | ✗ Ignore billing until month-end |
| ✓ Use strong, unique passwords | ✗ Reuse passwords |
| ✓ Rotate access keys regularly | ✗ Commit keys to Git |
| ✓ Start with least privilege | ✗ Give everyone admin access |