# 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.
