<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Simran Rajoriya</title>
    <description>The latest articles on DEV Community by Simran Rajoriya (@simran_rajoriya).</description>
    <link>https://dev.to/simran_rajoriya</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3823256%2F5224ca03-9894-4b9d-a6ef-da317578f9e4.png</url>
      <title>DEV Community: Simran Rajoriya</title>
      <link>https://dev.to/simran_rajoriya</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/simran_rajoriya"/>
    <language>en</language>
    <item>
      <title>AMI vs EBS Snapshot: Which One Should We Use for EC2 Recovery?</title>
      <dc:creator>Simran Rajoriya</dc:creator>
      <pubDate>Sun, 11 Oct 2026 15:58:18 +0000</pubDate>
      <link>https://dev.to/simran_rajoriya/ami-vs-ebs-snapshot-which-one-should-we-use-for-ec2-recovery-1ofc</link>
      <guid>https://dev.to/simran_rajoriya/ami-vs-ebs-snapshot-which-one-should-we-use-for-ec2-recovery-1ofc</guid>
      <description>&lt;p&gt;I have learned about AMIs and EBS snapshots. If I need to launch a replacement EC2 instance after a failure, when should I use an AMI, and when is an EBS snapshot enough?&lt;/p&gt;

</description>
      <category>aws</category>
      <category>ec2</category>
      <category>cloud</category>
    </item>
    <item>
      <title>What Happens If an AWS EC2 Instance Suddenly Fails?</title>
      <dc:creator>Simran Rajoriya</dc:creator>
      <pubDate>Sun, 11 Oct 2026 15:54:55 +0000</pubDate>
      <link>https://dev.to/simran_rajoriya/what-happens-if-an-aws-ec2-instance-suddenly-fails-4kc3</link>
      <guid>https://dev.to/simran_rajoriya/what-happens-if-an-aws-ec2-instance-suddenly-fails-4kc3</guid>
      <description>&lt;p&gt;If an EC2 instance hosting a website suddenly fails, how would you restore the application with minimum downtime? Would you use an AMI, Auto Scaling, or both?&lt;br&gt;
Tags: aws cloud devops&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>infrastructure</category>
      <category>scalability</category>
    </item>
    <item>
      <title>Why Is AWS Classic Load Balancer (CLB) Used Less Today? CLB vs ALB vs NLB</title>
      <dc:creator>Simran Rajoriya</dc:creator>
      <pubDate>Sun, 11 Oct 2026 15:50:20 +0000</pubDate>
      <link>https://dev.to/simran_rajoriya/why-is-aws-classic-load-balancer-clb-used-less-today-clb-vs-alb-vs-nlb-5523</link>
      <guid>https://dev.to/simran_rajoriya/why-is-aws-classic-load-balancer-clb-used-less-today-clb-vs-alb-vs-nlb-5523</guid>
      <description>&lt;p&gt;While learning AWS, I explored the Classic Load Balancer (CLB) and discovered why modern applications often use Application Load Balancer (ALB) or Network Load Balancer (NLB) instead.&lt;/p&gt;

&lt;p&gt;Let's understand the differences! 🚀&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What Is a Classic Load Balancer (CLB)?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Classic Load Balancer is an older-generation AWS load balancing service that distributes incoming traffic across registered EC2 instances.&lt;/p&gt;

&lt;p&gt;For example, when multiple users access a website, CLB distributes their requests across available backend instances instead of sending all traffic to a single server.&lt;/p&gt;

&lt;p&gt;Traffic Flow:&lt;/p&gt;

&lt;p&gt;Clients → Internet → CLB → EC2 Instances → Response to Clients&lt;/p&gt;

&lt;p&gt;This helps improve application availability and traffic distribution.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Why Is CLB Used Less Today?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;CLB is still available in AWS, but it has fewer advanced capabilities than newer load balancers.&lt;/p&gt;

&lt;p&gt;Here are the main reasons:&lt;/p&gt;

&lt;p&gt;Limited routing features: CLB does not offer the advanced host-based and path-based routing available with ALB.&lt;/p&gt;

&lt;p&gt;Modern application requirements: ALB provides features suitable for web applications, APIs, and microservices.&lt;/p&gt;

&lt;p&gt;Layer 4 traffic needs: NLB is designed for TCP, UDP, and TLS traffic use cases.&lt;/p&gt;

&lt;p&gt;Architecture flexibility: ALB and NLB provide different capabilities that can better match modern application requirements.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;CLB vs ALB vs NLB&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Classic Load Balancer (CLB)&lt;/p&gt;

&lt;p&gt;Older-generation load balancer.&lt;/p&gt;

&lt;p&gt;Supports basic load balancing for applications using HTTP/HTTPS and TCP/SSL.&lt;/p&gt;

&lt;p&gt;Useful for certain existing legacy applications.&lt;/p&gt;

&lt;p&gt;Application Load Balancer (ALB)&lt;/p&gt;

&lt;p&gt;Operates at Layer 7 of the OSI model.&lt;/p&gt;

&lt;p&gt;Supports HTTP/HTTPS traffic.&lt;/p&gt;

&lt;p&gt;Supports path-based and host-based routing.&lt;/p&gt;

&lt;p&gt;Suitable for web applications, APIs, and microservices.&lt;/p&gt;

&lt;p&gt;Network Load Balancer (NLB)&lt;/p&gt;

&lt;p&gt;Operates primarily at Layer 4.&lt;/p&gt;

&lt;p&gt;Supports TCP, UDP, and TLS traffic use cases.&lt;/p&gt;

&lt;p&gt;Supports static IP addresses.&lt;/p&gt;

&lt;p&gt;Suitable for applications that require high performance and low-latency network traffic handling.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Real-World Example&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Imagine an e-commerce website with three services:&lt;/p&gt;

&lt;p&gt;/products → Product service&lt;/p&gt;

&lt;p&gt;/payments → Payment service&lt;/p&gt;

&lt;p&gt;/users → User service&lt;/p&gt;

&lt;p&gt;With ALB, we can configure path-based routing to forward requests to the appropriate target groups.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Client → ALB → /products → Product EC2 instances&lt;/p&gt;

&lt;p&gt;Client → ALB → /payments → Payment EC2 instances&lt;/p&gt;

&lt;p&gt;This helps organize traffic routing for applications with multiple services.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Which Load Balancer Should We Choose?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Choose ALB for HTTP/HTTPS applications that need advanced routing.&lt;/p&gt;

&lt;p&gt;Choose NLB for suitable Layer 4 workloads that require TCP/UDP support or static IP addresses.&lt;/p&gt;

&lt;p&gt;Consider CLB when maintaining an existing legacy application that already meets its requirements.&lt;/p&gt;

&lt;p&gt;For new applications, AWS generally recommends considering ALB or NLB according to the workload.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What I Learned&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This exploration helped me understand that load balancing is not just about distributing requests. It is also about choosing the right architecture based on application requirements, traffic patterns, routing, and scalability.&lt;/p&gt;

&lt;p&gt;I'm continuing to learn AWS through hands-on practice and exploring how EC2, load balancers, and Auto Scaling work together to build highly available applications.&lt;/p&gt;

&lt;p&gt;What would you choose for a new AWS web application: ALB or NLB? Share your thoughts in the comments!&lt;/p&gt;

&lt;h1&gt;
  
  
  AWS #CloudComputing #AmazonEC2 #LoadBalancing #CLB #ALB #NLB #DevOps #CloudEngineering #LearningInPublic
&lt;/h1&gt;

</description>
      <category>architecture</category>
      <category>aws</category>
      <category>infrastructure</category>
      <category>networking</category>
    </item>
    <item>
      <title>Understanding Classic Load Balancer (CLB) in AWS 🚀</title>
      <dc:creator>Simran Rajoriya</dc:creator>
      <pubDate>Sun, 11 Oct 2026 15:47:30 +0000</pubDate>
      <link>https://dev.to/simran_rajoriya/understanding-classic-load-balancer-clb-in-aws-g14</link>
      <guid>https://dev.to/simran_rajoriya/understanding-classic-load-balancer-clb-in-aws-g14</guid>
      <description>&lt;p&gt;While learning AWS and cloud computing, I explored how a Classic Load Balancer (CLB) distributes incoming traffic across multiple EC2 instances.&lt;/p&gt;

&lt;p&gt;🔹 What is a Classic Load Balancer?&lt;/p&gt;

&lt;p&gt;A Classic Load Balancer (CLB) is an AWS load balancing service that distributes incoming requests from multiple clients across registered EC2 instances.&lt;/p&gt;

&lt;p&gt;When clients send requests over the internet, the load balancer forwards those requests to healthy backend servers and returns the responses to the clients.&lt;/p&gt;

&lt;p&gt;🔹 How Does It Work?&lt;/p&gt;

&lt;p&gt;The traffic flow looks like this:&lt;/p&gt;

&lt;p&gt;Clients → Internet → Classic Load Balancer → EC2 Instances → Response to Clients&lt;/p&gt;

&lt;p&gt;For example, imagine an application running on two EC2 instances:&lt;/p&gt;

&lt;p&gt;EC2 Instance 1: Handles some incoming requests.&lt;/p&gt;

&lt;p&gt;EC2 Instance 2: Handles other incoming requests.&lt;/p&gt;

&lt;p&gt;Classic Load Balancer: Distributes traffic across registered instances and avoids routing requests to instances identified as unhealthy.&lt;/p&gt;

&lt;p&gt;This helps improve application availability, fault tolerance, and traffic distribution.&lt;/p&gt;

&lt;p&gt;🔹 Benefits of Load Balancing&lt;/p&gt;

&lt;p&gt;✅ Distributes incoming traffic across multiple servers.&lt;/p&gt;

&lt;p&gt;✅ Improves application availability.&lt;/p&gt;

&lt;p&gt;✅ Supports fault tolerance by routing traffic to healthy instances.&lt;/p&gt;

&lt;p&gt;✅ Helps applications handle multiple client requests.&lt;/p&gt;

&lt;p&gt;🔹 CLB vs ALB vs NLB&lt;/p&gt;

&lt;p&gt;CLB is the older generation of AWS load balancers. For new applications, AWS generally recommends choosing a load balancer based on the application's requirements:&lt;/p&gt;

&lt;p&gt;Classic Load Balancer (CLB): Older-generation load balancer.&lt;/p&gt;

&lt;p&gt;Application Load Balancer (ALB): Best suited for HTTP/HTTPS applications and Layer 7 routing.&lt;/p&gt;

&lt;p&gt;Network Load Balancer (NLB): Best suited for Layer 4 TCP/UDP/TLS traffic and applications requiring high performance.&lt;/p&gt;

&lt;p&gt;🔹 What I Learned&lt;/p&gt;

&lt;p&gt;I learned how a load balancer acts as an entry point for incoming application traffic and distributes requests across multiple backend servers instead of relying on a single EC2 instance.&lt;/p&gt;

&lt;p&gt;This is an important concept for building highly available and scalable applications on AWS.&lt;/p&gt;

&lt;p&gt;I'm continuing to explore AWS services and strengthen my cloud computing skills through hands-on learning.&lt;/p&gt;

&lt;h1&gt;
  
  
  AWS #CloudComputing #AmazonEC2 #LoadBalancing #CLB #ALB #NLB #CloudEngineering #LearningInPublic
&lt;/h1&gt;

</description>
      <category>architecture</category>
      <category>aws</category>
      <category>cloud</category>
      <category>infrastructure</category>
    </item>
    <item>
      <title>Can Multiple EC2 Instances Use the Same EBS Volume? 🤔</title>
      <dc:creator>Simran Rajoriya</dc:creator>
      <pubDate>Sun, 04 Oct 2026 04:19:35 +0000</pubDate>
      <link>https://dev.to/simran_rajoriya/can-multiple-ec2-instances-use-the-same-ebs-volume-4e6p</link>
      <guid>https://dev.to/simran_rajoriya/can-multiple-ec2-instances-use-the-same-ebs-volume-4e6p</guid>
      <description>&lt;p&gt;While learning AWS, I came across an interesting question:&lt;/p&gt;

&lt;p&gt;Can one EBS volume be attached to multiple EC2 instances at the same time?&lt;/p&gt;

&lt;p&gt;The short answer is:&lt;/p&gt;

&lt;p&gt;Normally, one EBS volume is attached to one EC2 instance. But AWS provides EBS Multi-Attach for specific use cases.&lt;/p&gt;

&lt;p&gt;🔹 Normal EBS Attachment&lt;/p&gt;

&lt;p&gt;In the standard setup, an EBS volume is attached to a single EC2 instance:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    EBS Volume
         |
         |
      EC2-1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;For example, if I create an EBS volume and attach it to EC2-1, that volume is being used by that instance.&lt;/p&gt;

&lt;p&gt;I cannot simply attach the same volume to EC2-2 and start using it simultaneously.&lt;/p&gt;

&lt;p&gt;🔹 What about Multiple EC2 Instances?&lt;/p&gt;

&lt;p&gt;AWS provides a feature called EBS Multi-Attach.&lt;/p&gt;

&lt;p&gt;With Multi-Attach, a supported EBS volume can be attached to multiple EC2 instances simultaneously.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;          EBS Volume
              |
    ┌─────────┼─────────┐
    |         |         |
  EC2-1     EC2-2     EC2-3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This can be useful for applications that are specifically designed to handle shared block storage.&lt;/p&gt;

&lt;p&gt;Important conditions&lt;/p&gt;

&lt;p&gt;EBS Multi-Attach has some limitations:&lt;/p&gt;

&lt;p&gt;It is available only for supported EBS volume types.&lt;/p&gt;

&lt;p&gt;The EC2 instances must be in the same Availability Zone.&lt;/p&gt;

&lt;p&gt;The application/filesystem must be designed to safely handle concurrent access.&lt;/p&gt;

&lt;p&gt;Simply mounting the same normal filesystem from multiple EC2 instances can result in data corruption.&lt;/p&gt;

&lt;p&gt;🔹 What if EC2 Instances Are in Different AZs?&lt;/p&gt;

&lt;p&gt;This is an important AWS concept.&lt;/p&gt;

&lt;p&gt;An EBS volume is tied to a specific Availability Zone.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Availability Zone 1a&lt;/p&gt;

&lt;p&gt;EBS Volume&lt;br&gt;
       |&lt;br&gt;
      EC2-1&lt;/p&gt;

&lt;p&gt;Availability Zone 1b&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  EC2-2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The EBS volume from 1a cannot directly be attached to an EC2 instance in 1b.&lt;/p&gt;

&lt;p&gt;If I need shared storage across multiple Availability Zones, I would generally consider services such as Amazon EFS instead of trying to share a single EBS volume.&lt;/p&gt;

&lt;p&gt;🔹 EBS vs EFS&lt;/p&gt;

&lt;p&gt;This helped me understand the difference:&lt;/p&gt;

&lt;p&gt;Requirement&lt;/p&gt;

&lt;p&gt;Better Choice&lt;/p&gt;

&lt;p&gt;Block storage for one EC2&lt;/p&gt;

&lt;p&gt;EBS&lt;/p&gt;

&lt;p&gt;Shared file storage&lt;/p&gt;

&lt;p&gt;EFS&lt;/p&gt;

&lt;p&gt;Multiple EC2 instances across AZs&lt;/p&gt;

&lt;p&gt;EFS&lt;/p&gt;

&lt;p&gt;Specific multi-instance block-storage use case&lt;/p&gt;

&lt;p&gt;EBS Multi-Attach&lt;/p&gt;

&lt;p&gt;💡 My Key Learning&lt;/p&gt;

&lt;p&gt;The important thing I learned is that EBS is not the same as shared storage by default.&lt;/p&gt;

&lt;p&gt;A normal EBS volume is designed to be attached to one EC2 instance, while EBS Multi-Attach provides a specialized way to attach supported volumes to multiple instances in the same Availability Zone.&lt;/p&gt;

&lt;p&gt;For highly available architectures, choosing the correct storage service is just as important as choosing the correct compute service.&lt;/p&gt;

&lt;p&gt;Architecture Thinking&lt;/p&gt;

&lt;p&gt;Instead of asking:&lt;/p&gt;

&lt;p&gt;"How can I attach one EBS to multiple EC2 instances?"&lt;/p&gt;

&lt;p&gt;It's better to ask:&lt;/p&gt;

&lt;p&gt;"Do my EC2 instances actually need shared block storage, or do I need a shared file-storage service?"&lt;/p&gt;

&lt;p&gt;That mindset helps in designing better AWS architectures. 🚀&lt;/p&gt;

&lt;h1&gt;
  
  
  AWS #CloudComputing #EC2 #EBS #EFS #AWSSolutionsArchitect #DevOps #CloudEngineer #LearningAWS #100DaysOfCloud
&lt;/h1&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>infrastructure</category>
      <category>learning</category>
    </item>
    <item>
      <title>Understanding Elastic IP in AWS EC2</title>
      <dc:creator>Simran Rajoriya</dc:creator>
      <pubDate>Sun, 04 Oct 2026 03:51:24 +0000</pubDate>
      <link>https://dev.to/simran_rajoriya/understanding-elastic-ip-in-aws-ec2-2obg</link>
      <guid>https://dev.to/simran_rajoriya/understanding-elastic-ip-in-aws-ec2-2obg</guid>
      <description>&lt;p&gt;While working with Amazon EC2, I noticed something interesting about public IP addresses.&lt;/p&gt;

&lt;p&gt;I launched an EC2 instance and checked its public IP:&lt;/p&gt;

&lt;p&gt;Public IP: 13.x.x.x&lt;/p&gt;

&lt;p&gt;Then I stopped the instance and started it again.&lt;/p&gt;

&lt;p&gt;After restarting, I noticed that the public IP had changed:&lt;/p&gt;

&lt;p&gt;Old IP: 13.x.x.x&lt;br&gt;
New IP: 54.x.x.x&lt;/p&gt;

&lt;p&gt;This made me understand an important AWS concept:&lt;/p&gt;

&lt;p&gt;The default public IPv4 address of an EC2 instance is not persistent.&lt;/p&gt;

&lt;p&gt;🔹 So, how can we keep the same public IP?&lt;/p&gt;

&lt;p&gt;AWS provides Elastic IP, which is a static public IPv4 address.&lt;/p&gt;

&lt;p&gt;I allocated an Elastic IP and associated it with my running EC2 instance.&lt;/p&gt;

&lt;p&gt;After that, I stopped the instance and started it again.&lt;/p&gt;

&lt;p&gt;This time:&lt;/p&gt;

&lt;p&gt;Before Stop: 3.x.x.x&lt;br&gt;
After Start: 3.x.x.x ✅&lt;/p&gt;

&lt;p&gt;The IP remained the same.&lt;/p&gt;

&lt;p&gt;Architecture&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;         AWS
          |
    Elastic IP
      3.x.x.x
          |
          ▼
    EC2 Instance
   ┌─────────────┐
   │ Web Server  │
   └─────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;🔹 What did I learn?&lt;/p&gt;

&lt;p&gt;The key difference is:&lt;/p&gt;

&lt;p&gt;Default Public IP&lt;/p&gt;

&lt;p&gt;Automatically assigned by AWS&lt;/p&gt;

&lt;p&gt;Can change when an EC2 instance is stopped and started&lt;/p&gt;

&lt;p&gt;Not suitable when a fixed public IP is required&lt;/p&gt;

&lt;p&gt;Elastic IP&lt;/p&gt;

&lt;p&gt;Static public IPv4 address&lt;/p&gt;

&lt;p&gt;Can be associated with an EC2 instance&lt;/p&gt;

&lt;p&gt;Remains the same even after stop/start&lt;/p&gt;

&lt;p&gt;Can also be disassociated and associated with another resource when required&lt;/p&gt;

&lt;p&gt;🔹 How is it used in real-world environments?&lt;/p&gt;

&lt;p&gt;Elastic IPs are useful when a service needs a predictable public IP.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;IP whitelisting for external APIs&lt;/p&gt;

&lt;p&gt;Bastion/Jump hosts&lt;/p&gt;

&lt;p&gt;NAT Gateway for fixed outbound IP&lt;/p&gt;

&lt;p&gt;Applications where a fixed public IP is specifically required&lt;/p&gt;

&lt;p&gt;However, in a production architecture using Application Load Balancer + Auto Scaling, we generally don't assign an Elastic IP to every EC2 instance.&lt;/p&gt;

&lt;p&gt;Instead:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;         Internet
             |
             ▼
    Application Load Balancer
             |
      ┌──────┴──────┐
      ▼             ▼
    EC2-1         EC2-2
      │             │
      └──────┬──────┘
             ▼
      Auto Scaling
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The Load Balancer provides the stable entry point, while EC2 instances can scale in and out behind it.&lt;/p&gt;

&lt;p&gt;💡 My Key Takeaway&lt;/p&gt;

&lt;p&gt;This hands-on experiment helped me understand why AWS provides different types of IP addressing and when a static public IP is actually required.&lt;/p&gt;

&lt;p&gt;Need a fixed public IP → Elastic IP&lt;br&gt;
Need scalable public access → Load Balancer&lt;br&gt;
Need fixed outbound IP for private resources → NAT Gateway + Elastic IP&lt;/p&gt;

&lt;p&gt;Learning AWS concepts becomes much clearer when you actually test them instead of only reading about them.&lt;/p&gt;

&lt;h1&gt;
  
  
  AWS #AWSCloud #EC2 #ElasticIP #CloudComputing #DevOps #CloudEngineer #LearningAWS #100DaysOfCloud
&lt;/h1&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>infrastructure</category>
      <category>networking</category>
    </item>
    <item>
      <title>Automating Docker Installation on an AWS EC2 Instance Using User Data</title>
      <dc:creator>Simran Rajoriya</dc:creator>
      <pubDate>Sun, 04 Oct 2026 03:02:22 +0000</pubDate>
      <link>https://dev.to/simran_rajoriya/automating-docker-installation-on-an-aws-ec2-instance-using-user-data-10mj</link>
      <guid>https://dev.to/simran_rajoriya/automating-docker-installation-on-an-aws-ec2-instance-using-user-data-10mj</guid>
      <description>&lt;h1&gt;
  
  
  Automating Docker Installation on an AWS EC2 Instance Using User Data 🚀
&lt;/h1&gt;

&lt;p&gt;While working with AWS EC2, I wanted to automate the Docker installation process instead of connecting to the instance and installing Docker manually.&lt;/p&gt;

&lt;p&gt;The goal was simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Launch EC2 → Run User Data → Install Docker → Start Nginx Container → Access it using Public IP&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔹 The Challenge
&lt;/h2&gt;

&lt;p&gt;Initially, I used this User Data script:&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
#!/bin/bash

dnf update -y
dnf install -y docker

systemctl start docker
systemctl enable docker

usermod -aG docker ec2-user

systemctl restart docker

But my EC2 instance was running Ubuntu.
So Docker was not installed because dnf is used with distributions such as Amazon Linux, while Ubuntu uses apt.
When I tried checking Docker, I got:
docker: command not found

🔹 The Solution
I created a new Ubuntu EC2 instance and used the correct User Data script:
#!/bin/bash

apt update -y
apt install -y docker.io

systemctl start docker
systemctl enable docker

usermod -aG docker ubuntu

docker run -d -p 80:80 nginx

What does this script do?
- apt update → Updates package information
- apt install docker.io → Installs Docker
- systemctl start docker → Starts Docker
- systemctl enable docker → Starts Docker automatically after reboot
- usermod -aG docker ubuntu → Adds the Ubuntu user to the Docker group
- docker run -d -p 80:80 nginx → Starts an Nginx container and maps port 80
🔹 Security Group Configuration
I also allowed HTTP traffic through port 80:
Type: HTTP
Protocol: TCP
Port: 80
Source: 0.0.0.0/0

🔹 Testing
After launching the instance, I copied the Public IPv4 address and opened it in a new browser tab:
http://&amp;lt;EC2-Public-IP&amp;gt;

And finally, I got:
Welcome to nginx! 🎉
This confirmed that the complete flow was working:
AWS EC2
   ↓
User Data
   ↓
Docker Installation
   ↓
Nginx Container
   ↓
Port 80
   ↓
Security Group
   ↓
Public IP
   ↓
Nginx Welcome Page

🔹 What I Learned
This small hands-on task helped me understand an important AWS concept:
User Data can automate the initial configuration of an EC2 instance during launch.
I also learned that the User Data script must match the operating system.
For example:
Amazon Linux → dnf
Ubuntu → apt
The biggest learning for me was that a small difference in the operating system can make an automation script fail.
Instead of manually installing Docker every time, User Data allows the setup to happen automatically when the instance starts.
![ ](https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/2ods8hbb1yrljqyzp5j1.png)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>automation</category>
      <category>aws</category>
      <category>devops</category>
      <category>docker</category>
    </item>
    <item>
      <title>AWS Question That Made Me Think About Cloud Architecture</title>
      <dc:creator>Simran Rajoriya</dc:creator>
      <pubDate>Fri, 02 Oct 2026 17:59:38 +0000</pubDate>
      <link>https://dev.to/simran_rajoriya/aws-question-that-made-me-think-about-cloud-architecture-ckb</link>
      <guid>https://dev.to/simran_rajoriya/aws-question-that-made-me-think-about-cloud-architecture-ckb</guid>
      <description>&lt;p&gt;While learning AWS, I had an interesting question:&lt;/p&gt;

&lt;p&gt;Suppose in the Mumbai Region (ap-south-1), there are three Availability Zones:&lt;/p&gt;

&lt;p&gt;ap-south-1a&lt;/p&gt;

&lt;p&gt;ap-south-1b&lt;/p&gt;

&lt;p&gt;ap-south-1c&lt;/p&gt;

&lt;p&gt;If I create many EC2 instances and they are launched in ap-south-1a, and many other users also launch instances in the same AZ, then:&lt;/p&gt;

&lt;p&gt;❓ Why doesn't AWS automatically move instances to other AZs?&lt;br&gt;
❓ What is the purpose of multiple Availability Zones?&lt;/p&gt;

&lt;p&gt;My Understanding&lt;/p&gt;

&lt;p&gt;AWS does not automatically shift existing EC2 instances from one AZ to another because the Availability Zone is part of the infrastructure design chosen by the user.&lt;/p&gt;

&lt;p&gt;An EC2 instance is launched inside a specific subnet, and that subnet belongs to a specific AZ.&lt;/p&gt;

&lt;p&gt;The AWS Solution&lt;/p&gt;

&lt;p&gt;For High Availability and Fault Tolerance, AWS provides:&lt;/p&gt;

&lt;p&gt;✅ Multiple Subnets across different AZs&lt;br&gt;
✅ Application Load Balancer (ALB)&lt;br&gt;
✅ Auto Scaling Groups (ASG)&lt;/p&gt;

&lt;p&gt;Example architecture:&lt;/p&gt;

&lt;p&gt;Internet → ALB → Auto Scaling Group → EC2 Instances in AZ-1a, AZ-1b, and AZ-1c&lt;/p&gt;

&lt;p&gt;This ensures:&lt;/p&gt;

&lt;p&gt;High Availability&lt;/p&gt;

&lt;p&gt;Fault Tolerance&lt;/p&gt;

&lt;p&gt;Better Traffic Distribution&lt;/p&gt;

&lt;p&gt;Automatic Scaling&lt;/p&gt;

&lt;p&gt;Key Learning&lt;/p&gt;

&lt;p&gt;AWS does not automatically redesign our architecture. As cloud engineers, we must design applications across multiple Availability Zones for reliability and scalability.&lt;/p&gt;

&lt;p&gt;Internet&lt;br&gt;
    |&lt;br&gt;
    ↓&lt;br&gt;
ALB&lt;br&gt;
 / | \&lt;br&gt;
1a 1b 1c&lt;br&gt;
 |   |   |&lt;br&gt;
EC2 EC2 EC2&lt;/p&gt;

&lt;h1&gt;
  
  
  AWS #CloudComputing #EC2 #AutoScaling #LoadBalancer #CloudArchitecture #DevOps #LearningInPublic
&lt;/h1&gt;

</description>
      <category>architecture</category>
      <category>aws</category>
      <category>cloud</category>
      <category>infrastructure</category>
    </item>
    <item>
      <title>AWS IAM: What I Learned About Identity and Access Management</title>
      <dc:creator>Simran Rajoriya</dc:creator>
      <pubDate>Fri, 02 Oct 2026 16:28:18 +0000</pubDate>
      <link>https://dev.to/simran_rajoriya/aws-iam-what-i-learned-about-identity-and-access-management-2ale</link>
      <guid>https://dev.to/simran_rajoriya/aws-iam-what-i-learned-about-identity-and-access-management-2ale</guid>
      <description>&lt;p&gt;While learning AWS, I recently started exploring IAM (Identity and Access Management).&lt;/p&gt;

&lt;p&gt;At first, IAM sounded like another complicated AWS service. But after understanding the basic concept, I realized that it's actually about one simple question:&lt;/p&gt;

&lt;p&gt;Who can access my AWS resources, and what are they allowed to do?&lt;/p&gt;

&lt;p&gt;So, what exactly is IAM?&lt;/p&gt;

&lt;p&gt;IAM is an AWS service that helps us manage users and control access to AWS resources.&lt;/p&gt;

&lt;p&gt;For example, imagine you're working on a project with a team. You probably wouldn't give everyone access to everything.&lt;/p&gt;

&lt;p&gt;One person might need to work with EC2, another might need access to S3, while an administrator may need access to almost everything.&lt;/p&gt;

&lt;p&gt;That's where IAM comes in.&lt;/p&gt;

&lt;p&gt;The 4 important IAM concepts I learned&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;IAM User 👤&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;An IAM user represents a person or identity that needs access to AWS.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Simran → Developer&lt;/p&gt;

&lt;p&gt;Instead of giving every user complete access, we can give them only the permissions they need.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;IAM Group 👥&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A group is simply a way to organize users who need similar permissions.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Developers&lt;br&gt;
 ├── Simran&lt;br&gt;
 ├── Saif&lt;br&gt;
 └── Priya&lt;/p&gt;

&lt;p&gt;If all developers need similar permissions, we can manage those permissions through the group.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;IAM Policy 📜&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is where we define what an identity is allowed or not allowed to do.&lt;/p&gt;

&lt;p&gt;For example, a policy could allow a user to start and stop EC2 instances.&lt;/p&gt;

&lt;p&gt;So basically:&lt;/p&gt;

&lt;p&gt;Policy = Rules that define permissions.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;IAM Role 🔑&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This was one of the concepts I found especially useful.&lt;/p&gt;

&lt;p&gt;An IAM role allows AWS services to access other AWS resources securely.&lt;/p&gt;

&lt;p&gt;For example, suppose an EC2 instance needs to read files from an S3 bucket.&lt;/p&gt;

&lt;p&gt;Instead of putting AWS access keys directly on the EC2 instance, we can use:&lt;/p&gt;

&lt;p&gt;EC2&lt;br&gt;
 ↓&lt;br&gt;
IAM Role&lt;br&gt;
 ↓&lt;br&gt;
IAM Policy&lt;br&gt;
 ↓&lt;br&gt;
S3&lt;/p&gt;

&lt;p&gt;This provides a much better way to manage permissions.&lt;/p&gt;

&lt;p&gt;🔐 One important concept: Least Privilege&lt;/p&gt;

&lt;p&gt;Another thing I learned is the Principle of Least Privilege.&lt;/p&gt;

&lt;p&gt;It simply means:&lt;/p&gt;

&lt;p&gt;Give a user or service only the permissions they actually need.&lt;/p&gt;

&lt;p&gt;For example, if someone only needs to start and stop EC2 instances, there's no reason to give them full administrator access.&lt;/p&gt;

&lt;p&gt;What I'm taking away from IAM&lt;/p&gt;

&lt;p&gt;Before learning IAM, I mostly thought about AWS services like EC2, S3 and VPC as separate services.&lt;/p&gt;

&lt;p&gt;Now I'm starting to understand that security and permissions are equally important when building anything on AWS.&lt;/p&gt;

&lt;p&gt;I'm currently learning AWS step by step and trying to understand these concepts through hands-on practice rather than just memorizing definitions.&lt;/p&gt;

&lt;p&gt;One concept at a time. 🚀&lt;/p&gt;

&lt;h1&gt;
  
  
  AWS #IAM #CloudComputing #DevOps #AWSCloud #CloudSecurity #LearningInPublic
&lt;/h1&gt;

</description>
      <category>aws</category>
      <category>beginners</category>
      <category>learning</category>
      <category>security</category>
    </item>
    <item>
      <title>cloudcomputing</title>
      <dc:creator>Simran Rajoriya</dc:creator>
      <pubDate>Sun, 27 Sep 2026 06:06:08 +0000</pubDate>
      <link>https://dev.to/simran_rajoriya/cloudcomputing-3p6m</link>
      <guid>https://dev.to/simran_rajoriya/cloudcomputing-3p6m</guid>
      <description>&lt;p&gt;If you're just starting your journey into AWS and DevOps, understanding a few core concepts first will make everything else — EC2, S3, VPC — click into place much faster. Here's a breakdown of the fundamentals every beginner should know.&lt;/p&gt;

&lt;p&gt;What Is Cloud Computing, Really?&lt;/p&gt;

&lt;p&gt;At its core, cloud computing means using computing resources — servers, storage, databases, networking — over the internet, instead of owning and maintaining your own physical hardware.&lt;/p&gt;

&lt;p&gt;Think of it like electricity. You don't build your own power plant to light your house; you plug in and pay for what you use. Cloud computing works the same way: you "plug into" AWS's infrastructure and pay only for what you consume.&lt;/p&gt;

&lt;p&gt;Traditional setup: Buy servers, build a data center, hire a team to maintain it — expensive and slow to scale.&lt;br&gt;
Cloud setup: Rent what you need from a provider like AWS — fast, flexible, and billed on a pay-as-you-go basis.&lt;/p&gt;

&lt;p&gt;Understanding IaaS, PaaS, and SaaS&lt;/p&gt;

&lt;p&gt;Cloud services come in three main flavors, based on how much you manage versus how much the provider handles for you:&lt;/p&gt;

&lt;p&gt;Model   What You Get    Example Who Manages What&lt;br&gt;
IaaS (Infrastructure as a Service)  Raw building blocks — VMs, storage, networking    AWS EC2, S3 You manage the OS, runtime, and apps; AWS manages the hardware&lt;br&gt;
PaaS (Platform as a Service)    A ready platform to deploy your code on AWS Elastic Beanstalk, Heroku   You just deploy code; the provider handles the rest&lt;br&gt;
SaaS (Software as a Service)    A fully built, ready-to-use application Gmail, Dropbox, Salesforce  You just use it — nothing to manage&lt;/p&gt;

&lt;p&gt;A simple way to remember it: IaaS hands you bricks to build a house, PaaS gives you a house frame ready for furnishing, and SaaS hands you a fully furnished apartment.&lt;/p&gt;

&lt;p&gt;Public, Private, and Hybrid Cloud&lt;/p&gt;

&lt;p&gt;These describe where your cloud infrastructure lives:&lt;/p&gt;

&lt;p&gt;Public Cloud — Shared infrastructure run by providers like AWS, Azure, or GCP. Cost-effective and scalable; most companies run here.&lt;br&gt;
Private Cloud — Dedicated infrastructure for a single organization, offering more control and security, but at a higher cost.&lt;br&gt;
Hybrid Cloud — A mix of both. Sensitive data stays in a private environment, while scalable workloads run on the public cloud. Banks and healthcare companies often use this model.&lt;br&gt;
AWS Global Infrastructure&lt;/p&gt;

&lt;p&gt;AWS's physical footprint spans the globe, organized into three layers:&lt;/p&gt;

&lt;p&gt;Regions — A geographic area (e.g., Mumbai = ap-south-1, N. Virginia = us-east-1). Each region operates independently, and data typically stays within the region it's stored in — important for compliance and latency.&lt;br&gt;
Availability Zones (AZs) — Each region contains multiple AZs — physically separate data centers with their own power, cooling, and networking. If one AZ fails, others keep running, which is the foundation of high availability.&lt;br&gt;
Edge Locations — Smaller sites, even more numerous than regions, positioned close to end-users. These power services like CloudFront (CDN), delivering content faster by caching it closer to users.&lt;/p&gt;

&lt;p&gt;The hierarchy: Region (broad geographic area) → Availability Zone (data centers within a region) → Edge Location (closest point to the user).&lt;/p&gt;

&lt;p&gt;The Shared Responsibility Model&lt;/p&gt;

&lt;p&gt;This is one of the most important — and most tested — AWS concepts. It defines where AWS's security responsibilities end and yours begin.&lt;/p&gt;

&lt;p&gt;AWS handles "Security OF the Cloud": physical data centers, hardware, networking infrastructure, and virtualization.&lt;br&gt;
You handle "Security IN the Cloud": OS patching, firewall/security group configuration, data encryption, IAM permissions, and your application's own security.&lt;/p&gt;

&lt;p&gt;Example: If you launch an EC2 instance, AWS ensures the physical server is safe and always available — but if you leave a weak password or misconfigure a security group, that's on you.&lt;/p&gt;

&lt;p&gt;The split shifts depending on the service: with IaaS (like EC2), you carry more responsibility; with SaaS, AWS carries more.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>beginners</category>
      <category>cloud</category>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>Cloud Computing Fundamentals — Access the World Without Buying Hardware</title>
      <dc:creator>Simran Rajoriya</dc:creator>
      <pubDate>Sun, 27 Sep 2026 05:47:42 +0000</pubDate>
      <link>https://dev.to/simran_rajoriya/cloud-computing-fundamentals-access-the-world-without-buying-hardware-b4e</link>
      <guid>https://dev.to/simran_rajoriya/cloud-computing-fundamentals-access-the-world-without-buying-hardware-b4e</guid>
      <description>&lt;p&gt;When I first heard the term "cloud computing," I honestly thought it meant your data gets stored somewhere literally in the clouds. Turns out, the reality is a bit more boring but way more powerful.&lt;/p&gt;

&lt;p&gt;In simple words — cloud computing means using resources like servers, storage, and databases over the internet, without buying your own hardware. Companies like AWS or Azure basically "rent" out these resources to you. And the best part? You only pay for what you actually use — just like your electricity bill. Didn't run the AC all month? Lower bill. Cloud works the exact same way.&lt;/p&gt;

&lt;p&gt;Think about how things used to work traditionally: if a company wanted to launch an app, they'd first have to buy physical servers, build an entire data center, and then hire a separate team just to maintain it. It was expensive and slow — need to scale? Order new servers, wait for delivery, install them.&lt;/p&gt;

&lt;p&gt;Cloud got rid of this entire problem. Now, even a startup can sit in their bedroom, create an AWS account, and spin up a server in minutes. Traffic spikes? Scale up with one click. Traffic drops? Scale down and save money.&lt;/p&gt;

&lt;p&gt;When I started my DevOps roadmap, this was the first concept I made sure to get clear — because AWS, Docker, Kubernetes, all of it is built on this foundation. If the basic "why cloud" doesn't make sense, everything else just feels like a bunch of tools with no real purpose behind them.&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>cloudcomputing</category>
      <category>infrastructure</category>
    </item>
    <item>
      <title>Launching an EC2 Instance</title>
      <dc:creator>Simran Rajoriya</dc:creator>
      <pubDate>Sat, 14 Mar 2026 02:49:06 +0000</pubDate>
      <link>https://dev.to/simran_rajoriya/launching-an-ec2-instance-mfo</link>
      <guid>https://dev.to/simran_rajoriya/launching-an-ec2-instance-mfo</guid>
      <description>&lt;p&gt;What is Amazon EC2?&lt;br&gt;
  Amazon EC2 stands for Elastic Compute Cloud.It is a service provided by AWS that allows users to create virtual servers in the cloud.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Steps to Launch an EC2 Instance&lt;/strong&gt;&lt;br&gt;
Step 1: Login to AWS Console&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;First, login to the AWS Management Console.&lt;/li&gt;
&lt;li&gt;After login, go to the search bar and type EC2.&lt;/li&gt;
&lt;li&gt;Click on EC2 service to open the dashboard.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Step 2: Launch Instance&lt;/p&gt;

&lt;p&gt;1.Inside the EC2 dashboard, click on Launch Instance.&lt;br&gt;
2.This will start the process of creating a new virtual&lt;br&gt;&lt;br&gt;
server.&lt;/p&gt;

&lt;p&gt;Step 3: Choose Instance Type&lt;/p&gt;

&lt;p&gt;1.Next step is selecting the instance type.&lt;br&gt;
2.t2.micro or t3.micro&lt;br&gt;
(These are free-tier eligible instances.)&lt;/p&gt;

&lt;p&gt;Step 4: Configure Key Pair&lt;/p&gt;

&lt;p&gt;1.Now you need to create a key pair.&lt;br&gt;
2.This key pair is used to securely connect to your EC2 instance.&lt;br&gt;
(Download the key pair file and keep it safe.)&lt;/p&gt;

&lt;p&gt;Step 5: Configure Security Group&lt;/p&gt;

&lt;p&gt;In this step, you allow network access.&lt;br&gt;
1.SSH (port 22) for connecting to server&lt;br&gt;
2.HTTP (port 80) if you want to host a website&lt;/p&gt;

&lt;p&gt;Step 6: Launch the Instance&lt;/p&gt;

&lt;p&gt;Now click on Launch Instance.&lt;br&gt;
(After a few seconds your EC2 instance will start running.)&lt;/p&gt;

&lt;p&gt;Step 7: Connect to the Instance&lt;/p&gt;

&lt;p&gt;Go to the EC2 dashboard and select your instance.&lt;br&gt;
Click Connect and follow the instructions to connect using SSH.&lt;/p&gt;

&lt;p&gt;Now your cloud server is ready to use.&lt;/p&gt;

</description>
      <category>webdev</category>
    </item>
  </channel>
</rss>
