Hereβs a hands-on learning plan with practical exercises for each key topic. Since you have a week, youβll complete one major hands-on activity per day in about 3 hours.
π Hands-On AWS Learning Plan (1 Week, 3 Hours/Day)
Each day includes:
β
Key concepts
β
Step-by-step hands-on labs
β
Estimated time required
π Day 1: Compute & Storage Basics (EC2, S3, VPC)
β³ Time Required: ~3 hours
πΉ Key Concepts
- EC2: Instances, security groups, key pairs
- S3: Buckets, storage classes, versioning
- VPC: Subnets, CIDR, Internet Gateway, Route Tables
π Hands-On Lab
β Launch an EC2 instance & configure access
- Go to EC2 β Launch Instance
- Choose Amazon Linux 2023
- Use t2.micro (Free Tier)
- Create a new key pair and download it
- Configure Security Group: Allow SSH (port 22)
- Connect to your EC2 instance via SSH β Create an S3 Bucket & Upload a File
- Go to S3 β Create Bucket (Name:
my-bucket-12345
) - Upload a file & enable versioning
- Set a Bucket Policy to make the file public
- Access the file via the S3 URL β Create a Simple VPC
- Go to VPC β Create VPC (IPv4 CIDR:
10.0.0.0/16
) - Create a Public Subnet (
10.0.1.0/24
) - Attach an Internet Gateway and update the Route Table
- Launch an EC2 instance inside the VPC
π Day 2: Security & Identity Management (IAM, Security Groups, Encryption)
β³ Time Required: ~3 hours
πΉ Key Concepts
- IAM: Users, groups, policies, roles
- Security Groups vs. NACLs
- AWS KMS: Encryption of data
π Hands-On Lab
β Create an IAM User with Limited Permissions
- Go to IAM β Users β Create User
- Grant only S3 Read-Only Access using a policy
- Generate Access Key ID & Secret
- Use AWS CLI (
aws s3 ls
) to verify permissions β Test Security Groups vs. NACLs - Create an EC2 instance
- Modify the Security Group to allow only your IP
- Modify NACL to block access on port 22 and test SSH β Enable Encryption for S3
- Go to S3 β Select your bucket
- Enable Default Encryption (AWS KMS)
- Upload a new file & check if itβs encrypted
π Day 3: Scaling & Load Balancing (Auto Scaling, ELB)
β³ Time Required: ~3 hours
πΉ Key Concepts
- Auto Scaling: Scale EC2 instances dynamically
- Elastic Load Balancer (ELB): Distributes traffic
π Hands-On Lab
β Deploy an Auto-Scaling Group with ELB
- Launch an EC2 instance, install Apache (
sudo yum install httpd
) - Create an Amazon Machine Image (AMI)
- Set up an Auto Scaling Group (Min: 1, Max: 3)
- Create an Application Load Balancer (ALB)
- Attach the ASG to the ALB and test scaling
π Day 4: Databases & Serverless (RDS, DynamoDB, Lambda, Fargate)
β³ Time Required: ~3 hours
πΉ Key Concepts
- RDS: Managed relational databases
- DynamoDB: Serverless NoSQL database
- Lambda: Serverless compute
- Fargate: Serverless container service
π Hands-On Lab
β Launch an RDS MySQL Database
- Go to RDS β Create Database
- Choose MySQL (Free Tier eligible)
- Enable Multi-AZ and Public Access
- Connect using MySQL CLI:
sh
mysql -h your-rds-endpoint -u admin -p
β
Create a DynamoDB Table
- Go to DynamoDB β Create Table (Name:
Users
, Partition Key:UserID
) - Insert an item using the AWS Console β Deploy a Lambda Function
- Go to Lambda β Create Function (Runtime: Python)
- Add this Hello World code:
python
def lambda_handler(event, context): return "Hello from AWS Lambda!"
- Test execution
π Day 5: Networking & DNS (Route 53, CloudFront)
β³ Time Required: ~3 hours
πΉ Key Concepts
- Route 53: DNS, domain registration
- CloudFront: Content Delivery Network (CDN)
π Hands-On Lab
β Set Up a Custom Domain with Route 53
- Buy/Register a domain in Route 53
- Create a Hosted Zone and configure a record
- Associate it with an EC2 instance or S3 website β Deploy CloudFront for an S3 Website
- Upload a website to S3
- Enable Static Website Hosting
- Create a CloudFront distribution for the S3 bucket
- Test your global access
π Day 6: Monitoring & Cost Optimization (CloudWatch, Cost Explorer)
β³ Time Required: ~3 hours
πΉ Key Concepts
- CloudWatch: Metrics, logs, alarms
- AWS Cost Explorer: Analyze and optimize costs
π Hands-On Lab
β Monitor EC2 with CloudWatch
- Go to CloudWatch β Create Alarm
- Set an alarm for CPU Utilization > 80%
- Create an SNS topic for email alerts β Analyze Your AWS Bill
- Go to Cost Explorer
- Enable Cost Anomaly Detection
- Set up a Budget Alert
π Day 7: Final Project β Deploy a Full AWS Web App
β³ Time Required: ~3 hours
πΉ Project Overview
You will deploy a 3-tier web app:
- Frontend: HTML hosted on S3 + CloudFront
- Backend: Python Flask API on EC2
- Database: RDS MySQL β Steps:
- Set up S3 for frontend
- Deploy Flask API on EC2 (Install Python, Flask)
- Connect API to RDS MySQL
- Secure with IAM roles & security groups
- Optimize performance using CloudFront