<?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: Onkar Vhatkar</title>
    <description>The latest articles on DEV Community by Onkar Vhatkar (@ovhatkar).</description>
    <link>https://dev.to/ovhatkar</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1847301%2F918cc163-ec6b-4640-8e9d-bb42a5bc5c6f.png</url>
      <title>DEV Community: Onkar Vhatkar</title>
      <link>https://dev.to/ovhatkar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ovhatkar"/>
    <language>en</language>
    <item>
      <title>Deploying a Scalable Web App with ALB &amp; Auto Scaling on AWS</title>
      <dc:creator>Onkar Vhatkar</dc:creator>
      <pubDate>Thu, 03 Apr 2025 06:46:12 +0000</pubDate>
      <link>https://dev.to/ovhatkar/deploying-a-scalable-web-app-with-alb-auto-scaling-on-aws-15lh</link>
      <guid>https://dev.to/ovhatkar/deploying-a-scalable-web-app-with-alb-auto-scaling-on-aws-15lh</guid>
      <description>&lt;p&gt;&lt;strong&gt;Problem Statement&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As web applications grow, they need to handle fluctuating traffic while maintaining high availability. A single EC2 instance is not reliable for production environments due to potential failures and performance limitations. The solution is to deploy an architecture using EC2, Application Load Balancer (ALB), and Auto Scaling to ensure high availability, fault tolerance, and scalability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Debugging Challenges&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;During the deployment process, several issues may arise:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Launch Template Misconfiguration&lt;/strong&gt;: Missing key configurations such as AMI selection, instance type, or incorrect user data script can cause instances to fail.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Auto Scaling Group Not Scaling Properly&lt;/strong&gt;: If scaling policies are not set correctly, instances might not scale in or out as expected.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;ALB Not Routing Traffic&lt;/strong&gt;: Incorrect target group attachment or health check misconfiguration can prevent the ALB from directing traffic to EC2 instances.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Security Group Restrictions&lt;/strong&gt;: If the security group does not allow HTTP (80) or SSH (22), instances may not be accessible.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;VPC and Subnet Selection Issues&lt;/strong&gt;: If subnets are not spread across multiple availability zones, high availability cannot be ensured.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Solution Approach&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Create a Launch Template&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Navigate to &lt;strong&gt;AWS Console&lt;/strong&gt; → &lt;strong&gt;EC2&lt;/strong&gt; → &lt;strong&gt;Launch Templates&lt;/strong&gt; → &lt;strong&gt;Create Launch Template&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Configure the Launch Template&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Name&lt;/strong&gt;: WebAppTemplate&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AMI&lt;/strong&gt;: Amazon Linux 2 or Ubuntu&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Instance Type&lt;/strong&gt;: t2.micro(Free Tier) or t3.medium&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Key Pair&lt;/strong&gt;: Select an existing key pair or create a new one.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;User Data(for automatic Apache/Nginx installation)&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    #!/bin/bash
    sudo yum update -y
    sudo yum install httpd -y
    sudo systemctl start httpd
    sudo systemctl enable httpd
    echo "&amp;lt;h1&amp;gt;Welcome to Scalable Web App&amp;lt;/h1&amp;gt;" | sudo tee /var/www/html/index.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security Group&lt;/strong&gt;: Allow SSH (22), HTTP (80), and HTTPS (443).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Create the Launch Template&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Create an Auto Scaling Group&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Navigate to &lt;strong&gt;EC2&lt;/strong&gt; → &lt;strong&gt;Auto Scaling Groups&lt;/strong&gt; → &lt;strong&gt;Create Auto Scaling Group&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Select Launch Template&lt;/strong&gt;: Choose WebAppTemplate.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Configure Group Size&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Desired Capacity: &lt;strong&gt;2&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Minimum Instances: &lt;strong&gt;1&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Maximum Instances: &lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Network Configuration&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Choose an &lt;strong&gt;existing VPC&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select at least &lt;strong&gt;two subnets&lt;/strong&gt; across different &lt;strong&gt;Availability Zones (AZs)&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Attach Load Balancer&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Choose &lt;strong&gt;Application Load Balancer (ALB)&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Create Target Group&lt;/strong&gt;:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Target Type&lt;/strong&gt;: Instance&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Protocol&lt;/strong&gt;: HTTP&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Health Check&lt;/strong&gt;: /&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Register instances later (Auto Scaling will handle this).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt; Set Scaling Policies (Optional):&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Enable &lt;strong&gt;Auto Scaling based on CPU utilization&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Example Policy: &lt;strong&gt;Scale out when CPU &amp;gt; 60%, Scale in when CPU &amp;lt; 40%&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Create Auto Scaling Group&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Create an Application Load Balancer (ALB)&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Navigate to &lt;strong&gt;EC2&lt;/strong&gt; → &lt;strong&gt;Load Balancers&lt;/strong&gt; → &lt;strong&gt;Create Load Balancer&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Select Application Load Balancer&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Configure Basic Settings&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Name&lt;/strong&gt;: WebAppALB&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scheme&lt;/strong&gt;: Internet-facing&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;VPC&lt;/strong&gt;: Select the same VPC as Auto Scaling.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Availability Zones&lt;/strong&gt;: Choose at least two.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Configure Listeners&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Protocol&lt;/strong&gt;: HTTP&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Port&lt;/strong&gt;: 80&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Target Group&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;  Select existing &lt;strong&gt;Target Group&lt;/strong&gt; (from Auto Scaling Group).&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Security Group&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;  Allow HTTP (80).&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Create Load Balancer.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Test the Setup&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Get ALB DNS Name&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Navigate to &lt;strong&gt;EC2&lt;/strong&gt; → &lt;strong&gt;Load Balancers&lt;/strong&gt; → &lt;strong&gt;Copy ALB DNS Name&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open a browser and enter:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;http://your-alb-dns-name&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  You should see: Welcome to Scalable Web App.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Verify Auto Scaling&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Increase Load to Trigger Scaling&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Use &lt;strong&gt;Apache Benchmark (ab)&lt;/strong&gt; or manually increase traffic.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;ab -n 1000 -c 50 http://your-alb-dns-name/&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Check &lt;strong&gt;EC2&lt;/strong&gt; → &lt;strong&gt;Auto Scaling Group&lt;/strong&gt; to see if new instances launch.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Stop an Instance&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;  Manually stop an instance to verify if Auto Scaling replaces it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This setup ensures: &lt;br&gt;
✅ &lt;strong&gt;High Availability&lt;/strong&gt; using ALB. &lt;br&gt;
✅ &lt;strong&gt;Scalability&lt;/strong&gt; using Auto Scaling. &lt;br&gt;
✅ &lt;strong&gt;Redundancy&lt;/strong&gt; across multiple AZs.&lt;/p&gt;

&lt;p&gt;This architecture is commonly used for production applications that require reliability, scalability, and cost optimization. By learning in public, you not only solidify your understanding but also help others in their AWS journey!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>devops</category>
      <category>autoscaling</category>
      <category>loadbalancer</category>
    </item>
    <item>
      <title>Deploying an EC2-Based Web Server: A Practical Guide</title>
      <dc:creator>Onkar Vhatkar</dc:creator>
      <pubDate>Wed, 26 Mar 2025 16:41:14 +0000</pubDate>
      <link>https://dev.to/ovhatkar/deploying-an-ec2-based-web-server-a-practical-guide-1p02</link>
      <guid>https://dev.to/ovhatkar/deploying-an-ec2-based-web-server-a-practical-guide-1p02</guid>
      <description>&lt;p&gt;&lt;strong&gt;Problem Statement:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When deploying a web application, developers often require a reliable and scalable web server. Hosting a website or web application on AWS EC2 is a common solution, but configuring the web server properly can be challenging for beginners. The goal of this project is to set up an EC2 instance, install Apache or Nginx, and ensure it serves web content efficiently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Debugging Challenges&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;During the deployment process, several issues may arise:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;SSH Connection Issues:&lt;/strong&gt; Misconfigured security groups or incorrect key pairs may prevent SSH access.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Package Installation Failures:&lt;/strong&gt; Package repositories may be outdated, requiring updates before installation.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Service Not Starting:&lt;/strong&gt; Apache or Nginx might fail to start due to incorrect permissions, missing dependencies, or conflicts.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Firewall Restrictions:&lt;/strong&gt; If the firewall or security group settings are misconfigured, the web server might not be accessible.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;File Path Issues:&lt;/strong&gt; The default web directory may vary depending on the web server, leading to content not being served correctly.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Solution Approach&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Launch an EC2 Instance&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Navigate to &lt;strong&gt;AWS Management Console → EC2.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Launch Instance&lt;/strong&gt; and configure:&lt;br&gt;
   o    &lt;strong&gt;Name:&lt;/strong&gt; MyWebServer&lt;br&gt;
   o    &lt;strong&gt;AMI:&lt;/strong&gt; Amazon Linux 2 or Ubuntu&lt;br&gt;
   o    &lt;strong&gt;Instance Type:&lt;/strong&gt; t2.micro (Free Tier eligible)&lt;br&gt;
   o    &lt;strong&gt;Key Pair:&lt;/strong&gt; Create or use an existing key pair.&lt;br&gt;
   o    &lt;strong&gt;Security Group:&lt;/strong&gt; Allow SSH (22) and HTTP (80) traffic.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Launch.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Connect to the EC2 Instance&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh -i your-key.pem ec2-user@your-instance-public-ip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt; (For Ubuntu, use ubuntu instead of ec2-user)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Install Apache or Nginx&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Apache Installation&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo yum update -y  # Amazon Linux
sudo apt update -y  # Ubuntu
sudo yum install httpd -y  # Amazon Linux
sudo apt install apache2 -y  # Ubuntu
sudo systemctl start httpd  # Amazon Linux
sudo systemctl enable httpd  # Amazon Linux
sudo systemctl start apache2  # Ubuntu
sudo systemctl enable apache2  # Ubuntu

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verify installation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl status httpd  # Amazon Linux
sudo systemctl status apache2  # Ubuntu

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Nginx Installation&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo yum install nginx -y  # Amazon Linux
sudo apt install nginx -y  # Ubuntu
sudo systemctl start nginx
sudo systemctl enable nginx

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verify installation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl status nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 4: Configure Firewall&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Allow HTTP traffic:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(For Ubuntu, security groups handle firewall settings in AWS.)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Deploy a Web Page&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo echo "&amp;lt;h1&amp;gt;Welcome to My Web Server&amp;lt;/h1&amp;gt;" &amp;gt; /var/www/html/index.html  # Apache
sudo echo "&amp;lt;h1&amp;gt;Welcome to My Web Server&amp;lt;/h1&amp;gt;" &amp;gt; /usr/share/nginx/html/index.html  # Nginx

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 6: Access the Web Server&lt;/strong&gt;&lt;br&gt;
Open a browser and navigate to:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;http://your-instance-public-ip&lt;/code&gt;&lt;br&gt;
You should see "Welcome to My Web Server" displayed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 7: Configure Auto Start (Optional)&lt;/strong&gt;&lt;br&gt;
Ensure the web server starts automatically on reboot:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl enable httpd  # Apache
sudo systemctl enable nginx  # Nginx

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;By following these steps, we successfully set up an EC2-based web server running Apache or Nginx. This approach is widely used in hosting websites, web applications, and reverse proxy configurations. Debugging common issues such as SSH connectivity, package installation, and firewall settings ensures a smooth deployment experience.&lt;br&gt;
By learning in public, sharing our debugging challenges and solutions, we not only solidify our understanding but also help others facing similar issues. Happy deploying!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>awschallenge</category>
      <category>cloudcomputing</category>
      <category>ec2</category>
    </item>
  </channel>
</rss>
