Day 15 β AWS EBS Snapshot Creation
Created a snapshot and verified the snapshot reached completed state successfully. Learning:
EBS snapshots are incremental backups that help in:
disaster recovery
data restoration
creating new volumes
infrastructure backup strategies
This task also gave practical understanding of snapshot lifecycle and validation timing in AWS.
Day 16 β AWS IAM User Creation
Created an IAM user successfully in AWS IAM. Learning:
AWS IAM is the foundation of cloud security and access management. It helps control authentication and authorization:
who can access AWS
what resources they can use
what actions they are allowed to perform
This task also gave me exposure to the updated AWS IAM user creation workflow in the AWS console.
Day 17 β AWS IAM Group Creation
Created an IAM group successfully in AWS IAM. Learning:
IAM Groups provide centralized permission management for multiple AWS users.
This helped me understand how organizations structure access control by grouping users based on:
Day 19 β AWS IAM Policy Attachment
Attached the IAM policy to the IAM user successfully. Learning:
IAM policies are what actually grant permissions in AWS. Without policies, IAM users have little or no access to resources.
This task gave practical understanding of:
Day 20 β AWS IAM Role Creation
Created an IAM role
Trusted Entity: AWS Service (EC2)
Attached Policy Learning:
IAM Roles allow AWS services like EC2 to securely access other AWS resources using temporary credentials instead of hardcoded access keys.
This task helped me better understand:
Day 21 β AWS EC2 + Elastic IP Setup
Created an EC2 instance using a Linux AMI with instance type t2.micro and associated an Elastic IP Learning:
Elastic IPs provide fixed public addresses that help applications maintain stable external connectivity.
This task gave practical exposure to:
Day 22 of my 100 Days DevOps Challenge with KodeKloud
Today I worked on secure passwordless SSH authentication between a client host and an AWS EC2 instance. EC2 Instance: xfusion-ec2 Instance Type: t2.micro SSH Key Generated: /root/.ssh/id_rsa Tasks Performed:
Generated RSA SSH key pair on aws-client
Configured root user authorized_keys on EC2
Enabled SSH public key authentication
Configured passwordless SSH login successfully Key Learning:
This task gave me hands-on exposure to:
Linux SSH authentication
public/private key mechanism
authorized_keys management
SSH daemon configuration
secure remote server access in AWS
Successfully connected from aws-client β EC2 without password authentication
Day 23 β AWS S3 Data Migration using AWS CLI
Created a new private S3 bucket and migrated all data from old bucket using AWS CLI. Learning:
This task gave practical exposure to:
AWS CLI configuration
S3 bucket creation
aws s3 sync
cloud storage migration
data verification techniques
Also learned how synchronization commands help maintain consistency between source and destination buckets during migration workflows.
Day 24 of my DevOps/Cloud Learning Journey
Successfully completed an AWS Application Load Balancer (ALB) hands-on lab!
In this task, I configured: Application Load Balancer (ALB) Target Group Security Groups EC2 instance with Nginx Health checks and traffic routing
One of the biggest learnings from this lab was troubleshooting a 503 Service Temporarily Unavailable error. After investigation, I identified that the EC2 instance was deployed in a different Availability Zone than the ALB subnets, causing the target to appear as Unused. Recreated the ALB with the correct subnet/AZ mapping and the target became healthy successfully. Key takeaway:
ALB subnets must include the Availability Zone where the EC2 targets are running.
This lab improved my understanding of:
AWS Load Balancing
Target Groups & Health Checks
Security Group configurations
Availability Zones
Real-world troubleshooting in AWS
Hands-on practice is the best way to learn DevOps and Cloud technologies.
Thanks KodeKloud for the practical learning experience! #Day24#AWS#DevOps#CloudComputing#ElasticLoadBalancer#EC2#Nginx#Learning#KodeKloud#AWSCloud#ApplicationLoadBalancer
Day 25 of my DevOps/Cloud Learning Journey
Today I worked on AWS monitoring and alerting using CloudWatch and SNS. Created an EC2 instance Configured a CloudWatch alarm Monitored EC2 CPU Utilization Configured SNS notifications for alerts Alarm Configuration:
Metric: CPUUtilization
Statistic: Average
Threshold: CPU >= 90%
1 consecutive 5-minute period
SNS Topic: nautilus-sns-topic Key Learning:
This lab helped me understand:
AWS CloudWatch monitoring
infrastructure alerting
SNS notifications
proactive incident detection
observability concepts in cloud environments
Monitoring and alerting are critical parts of real-world DevOps and Site Reliability Engineering (SRE).
Day 26 Completed Successfully!
Today I configured an AWS EC2 instance with automated Nginx installation using User Data scripts.
Tasks completed: Created EC2 instance: devops-ec2 Used Ubuntu AMI Added User Data script for automatic Nginx setup Allowed HTTP traffic on port 80 Verified Nginx in browser successfully Interesting troubleshooting experience:
Initially Nginx was not installed because the User Data script had been edited after the first boot. Learned that cloud-init executes User Data only once by default.
Instead of recreating the instance, I used:
sudo cloud-init clean
sudo reboot
This reran the User Data script successfully and installed Nginx automatically.
Great practical learning on:
Day 27 of my DevOps/Cloud Learning Journey
Today I worked on AWS networking and infrastructure setup by creating a complete public VPC environment. Created a public VPC Created a public subnet Enabled auto-assignment of public IPs Configured Internet Gateway and Route Table Launched EC2 instance Enabled SSH access over the internet on port 22 Key Learning:
For an EC2 instance to be publicly accessible, multiple networking components must work together:
Public subnet
Internet Gateway
Route Table
Public IP assignment
Security Group rules
This lab helped me better understand:
AWS VPC networking
Public vs private subnets
Internet routing
EC2 networking
Security Groups
Real-world cloud infrastructure setup
Hands-on networking labs are extremely valuable for understanding how cloud infrastructure actually works behind the scenes. #Day27#AWS#VPC#EC2#CloudNetworking#DevOps#CloudComputing#SecurityGroups#AWSCloud#KodeKloud
Day 28 Completed Successfully!
Today I worked with Docker and Amazon ECR in AWS.
Tasks completed: Created private ECR repository: devops-ecr Built Docker image from Dockerfile located on aws-client Tagged image with latest Logged Docker into ECR Pushed image successfully to private ECR repository Great practical learning on:
Docker image lifecycle
Amazon ECR
private container registries
Docker tagging
container deployment workflows
Also learned how AWS ECR integrates into modern DevOps CI/CD pipelines for storing and deploying container images. #Day28#AWS#Docker#ECR#DevOps#Containers#KodeKloud
Day 29 of my DevOps/Cloud Learning Journey
Today I worked on AWS VPC Peering to enable communication between two different VPCs. Configured VPC Peering connection Connected default/public VPC with private VPC Updated route tables on both VPCs Configured Security Groups for ICMP traffic Verified connectivity between EC2 instances across VPCs Key Learning:
VPC Peering allows private communication between VPCs using AWS internal networking without using the public internet.
This lab helped me understand:
AWS VPC Peering
Route Tables
CIDR routing
Security Group configuration
Private networking in AWS
Cross-VPC communication
Real-world cloud troubleshooting One important takeaway:
Successful communication between VPCs requires: Active VPC Peering Proper route table entries Correct Security Group rules Correct CIDR configuration
Hands-on networking labs are giving me a much deeper understanding of AWS infrastructure. #Day29#AWS#VPC#VPCPeering#DevOps#CloudNetworking#EC2#AWSCloud#Networking#KodeKloud
It is fantastic to see your consistency with the 100 Days of AWS Challenge! This dedication is going to pay off tremendously in hands-on experience. If you run into any roadblocks or tricky configurations with your remaining tasks, feel free to reach outβIβve got you covered with a solid solution. Keep up the great work!
Yay! I am also amazed that I have reached till here after couple of bumps. It is a very good journey for me till now. Letβs see further the tasks will be more challenging as we move forward, very interesting days ahead. Thanks for your reply and I am following you , will definitely reach out to you for any obstacles further. Thanks a lot for your appreciation.