Skip to main content

Command Palette

Search for a command to run...

My Journey to Learning AWS: From EC2 Basics to Infrastructure Automation

Updated
3 min read
My Journey to Learning AWS: From EC2 Basics to Infrastructure Automation

Introduction

Hi, I’m Sadikshya Baral — a recent computing graduate and a cloud enthusiast. A few months ago, I started my journey into the world of Amazon Web Services (AWS) with no prior cloud experience. Today, I’ve completed over 35 hands-on AWS projects ranging from hosting static sites to automating infrastructure with Terraform.

This blog is the first in a 4-week series where I’ll share my journey, projects, learnings, and key takeaways — in the hope that it will inspire or guide others stepping into cloud computing.


How It Started: Spinning Up My First EC2 Instance

Like many, my AWS learning began with EC2, Amazon’s virtual server. I started by:

  • Creating an EC2 instance from scratch

  • Hosting a WordPress site

  • Learning how to SSH into instances

  • Understanding key pairs and security groups

The first time I saw my WordPress site live from an EC2 instance, it was an "aha" moment. I realized how powerful and accessible cloud infrastructure could be.


IAM, S3, and Lambda: Exploring AWS Core Services

After EC2, I dived deeper into:

  • IAM: Created custom IAM roles and policies to understand access control

  • S3: Built and hosted static websites, explored lifecycle policies, versioning, and replication

  • Lambda: Developed my first serverless functions, including one that analyzes text uploaded to S3

I also hosted Jenkins on EC2 and used the AWS pricing calculator to estimate costs, reinforcing how cloud is both technical and financial.


Learning by Building: Databases, CI/CD & Serverless

As I got more confident, I started integrating multiple services:

  • Installed MySQL on EC2, connected it with MySQL Workbench

  • Created and managed RDS databases

  • Set up CI/CD pipelines using:

    • GitHub

    • CodeCommit

    • CodePipeline

    • CodeBuild

  • Built and deployed static websites automatically

One of my favorite serverless projects was counting words from a text file automatically using Lambda triggered by S3 events.


Evolving into DevOps & Infrastructure as Code

Once I mastered individual services, I wanted to automate the whole process.

That’s when I discovered CloudFormation and Terraform:

  • Used CloudFormation to automate S3 website hosting

  • Wrote Terraform scripts to:

    • Provision EC2

    • Set up S3 buckets

    • Automate S3 replication

    • Deploy scalable websites using ALB, EC2, and CloudFront

This was a turning point — I saw how infrastructure as code (IaC) could reduce time, errors, and boost productivity.


API Security & Cloud Compliance

With the foundation laid, I focused on security and scalability:

  • Used Amazon Cognito for securing API access

  • Learned about AWS Service Catalog for governance and compliance

  • Backed up EC2 instances using AWS Backup

  • Accessed EC2 securely using Session Manager and OpenVPN


Key Takeaways So Far

  • Hands-on is the best way to learn AWS. Reading is not enough — build!

  • Start small, but keep scaling your knowledge as you go.

  • Automation is powerful. Once you get into CloudFormation and Terraform, everything clicks.

  • Security matters: IAM, Cognito, and backups are just as important as deploying services.


What’s Next in Week 2?

In Week 2, I’ll dive deeper into a technical post about most practical and exciting projects I’ve done.


Final Note

If you’re just starting out with AWS, don’t be intimidated. I was there too — confused by acronyms and overwhelmed by the AWS dashboard. But with consistency and curiosity, I turned that confusion into confidence.

Thanks for reading! 😊
Let’s keep building.