<?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: Asma Akram</title>
    <description>The latest articles on DEV Community by Asma Akram (@asma_akram).</description>
    <link>https://dev.to/asma_akram</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%2F1650571%2Fd4f995d6-8dc7-433f-8cab-c02ca0ecf220.png</url>
      <title>DEV Community: Asma Akram</title>
      <link>https://dev.to/asma_akram</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/asma_akram"/>
    <language>en</language>
    <item>
      <title>3 Tier Web Application in AWS</title>
      <dc:creator>Asma Akram</dc:creator>
      <pubDate>Wed, 19 Jun 2024 11:01:05 +0000</pubDate>
      <link>https://dev.to/asma_akram/3-tier-web-application-in-aws-p67</link>
      <guid>https://dev.to/asma_akram/3-tier-web-application-in-aws-p67</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi2ty29n7hou2uld2yxxh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi2ty29n7hou2uld2yxxh.png" alt="Image description" width="800" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is 3 tier Architecture?&lt;/strong&gt;&lt;br&gt;
Three tier architecture is a client server architecture pattern, that separates Application into 3 interconnected layers or tiers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Presentation or Web Tier:&lt;/strong&gt;&lt;br&gt;
This is the topmost level of the application responsible for displaying the user interface and handling user interactions. It provides a graphical or web-based interface through which users can interact with the application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Application Tier:&lt;/strong&gt;&lt;br&gt;
This middle layer contains the core functionality of the application, processing the business logic, making logical decisions, and performing computations. It acts as a bridge between the presentation tier and the data tier.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Tier:&lt;/strong&gt;&lt;br&gt;
The bottommost layer is responsible for data storage and management. It handles database operations such as querying, updating, and storing data.&lt;/p&gt;

&lt;p&gt;Lets start implementing:&lt;br&gt;
Task 1. Create VPC&lt;/p&gt;

&lt;p&gt;Task 2. Create Subnets&lt;/p&gt;

&lt;p&gt;Task 3. Setting up Internet GW: Create an Internet Gateway and attach it to your VPC.&lt;/p&gt;

&lt;p&gt;Task 4. Create NAT GW:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a NAT Gateway in the public subnet with an Elastic IP.&lt;/li&gt;
&lt;li&gt;Create a route in the private subnet route table to direct internet traffic to the NAT Gateway.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Task 5.Create Route Tables :&lt;/p&gt;

&lt;h4&gt;
  
  
  Public Route Table
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Create a route table for the public subnet.&lt;/li&gt;
&lt;li&gt;Add a route for &lt;code&gt;0.0.0.0/0&lt;/code&gt; pointing to the Internet Gateway.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Private Route Table
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Create a route table for the private subnet.&lt;/li&gt;
&lt;li&gt;Add a route for &lt;code&gt;0.0.0.0/0&lt;/code&gt; pointing to the NAT Gateway.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Task 6. Configure Launch Templates: 6.1. Create a Launch Template for the web tier EC2 instances, with User Data script.&lt;/p&gt;

&lt;p&gt;6.2. Create a Launch Template for the application tier EC2 instances.&lt;/p&gt;

&lt;p&gt;Task 7. Auto scaling groups:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create an Auto Scaling Group for the web tier using the web tier Launch Template and specify the public subnet.&lt;/li&gt;
&lt;li&gt;Create an Auto Scaling Group for the application tier using the application tier Launch Template and specify the private subnet.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Task 8. Database Tier:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create an RDS instance in the database subnet.&lt;/li&gt;
&lt;li&gt;Configure the RDS instance to use the Database Security Group.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Task 9. Testing the setup&lt;/p&gt;

&lt;p&gt;Architecture Diagram of above implementation:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpgfpdh8effwfad77arg6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpgfpdh8effwfad77arg6.png" alt="Image description" width="800" height="695"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Task 1. Creating VPC:
&lt;/h2&gt;

&lt;p&gt;Login to AWS Management Console, in the search bar type VPC, once the page is open click on Create VPC&lt;br&gt;
Select VPC only&lt;br&gt;
Give a name of your choice&lt;br&gt;
IPv4 CIDR as 10.0.0.0/16&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8p4de3w2zvkcol44g55r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8p4de3w2zvkcol44g55r.png" alt="Image description" width="800" height="656"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;. Click on Create VPC&lt;/p&gt;

&lt;h2&gt;
  
  
  Task 2. Create a Subnet
&lt;/h2&gt;

&lt;p&gt;Click on Create Subnet&lt;br&gt;
Select VPC Id as 3TierApp&lt;br&gt;
Note : Here we will create 6 Subnets 2 Subnets for Web Tier, 2 Private Subnets for Application Tier and 2 Private subnets for Database Tier&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6qidlutkc74n7bkcuaky.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6qidlutkc74n7bkcuaky.png" alt="Image description" width="800" height="657"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Give the name of Subnet of your choice “webtier1-public”&lt;br&gt;
IPv4 Subnet CIDR Block “10.0.32.0/24”&lt;br&gt;
Enable Auto-assign IP settings&lt;br&gt;
Click on Create Subnet&lt;/p&gt;

&lt;p&gt;Note : Similarly create 5 new subnets&lt;br&gt;
2nd Subnet with name “webtier2-public”, IPv4 subnet CIDR Block “10.0.0.0/24”, Enable Auto-assign IP settings&lt;/p&gt;

&lt;p&gt;3rd Subnet with name “applicationtier1-private”, IPv4 subnet CIDR Block “10.0.160.0/24”&lt;/p&gt;

&lt;p&gt;4th Subnet with name “applicationtier2-private” and IPv4 subnet CIDR Block “10.0.128.0/24”&lt;/p&gt;

&lt;p&gt;5th Subnet with name “databasetier1-private” IPv4 subnet CIDR Block “10.0.96.0/24”&lt;/p&gt;

&lt;p&gt;6th Subnet with name “databasetier2-private” IPv4 subnet CIDR Block “10.0.64.0/24” , select different AZ as us-east-1a&lt;/p&gt;

&lt;p&gt;All the subnets are successfully created&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpg3usl79zf8z4xic37bb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpg3usl79zf8z4xic37bb.png" alt="Image description" width="800" height="556"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Task 3. Setting up Internet GW
&lt;/h2&gt;

&lt;p&gt;Go to Internet Gateway from left Navigation Panel and click on click Internet GW&lt;br&gt;
Give the name of your choice “igw-3tierapplication”&lt;br&gt;
Click on Create Internet GW&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxp99tvzjgyf9pepy45sy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxp99tvzjgyf9pepy45sy.png" alt="Image description" width="800" height="149"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Attach the newly created IGW to VPC&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyflatez9qq7wjdzz9zhf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyflatez9qq7wjdzz9zhf.png" alt="Image description" width="800" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on Attach internet gateway&lt;/p&gt;

&lt;h2&gt;
  
  
  Task 4. Create NAT GW
&lt;/h2&gt;

&lt;p&gt;From the left nagivation panel click on NAT gateways&lt;br&gt;
Give the name for Nat Gateway “nat-3tierapp”&lt;br&gt;
Select Subnet as which is connected to Internet GW, in our case we have associated webtier1-public to Internet GW so we will select “webtier1-public”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnqee1yf702vb654va6jt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnqee1yf702vb654va6jt.png" alt="Image description" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note : In order to create NAT GW you need to Allocate Elastic IP address and use the Elastic IP address while creating NAT GW&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff19qgv7ps8aldglposfr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff19qgv7ps8aldglposfr.png" alt="Image description" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Task 5.Create Route Tables
&lt;/h2&gt;

&lt;p&gt;Lets create 2 route tables one for public and another one for private&lt;/p&gt;

&lt;p&gt;Go to Route Tables and click on Create route table&lt;br&gt;
Give a name as “route-private”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwwztyvwexj1rvypkhmn7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwwztyvwexj1rvypkhmn7.png" alt="Image description" width="800" height="590"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create another route table and give name as “route-public” and select 3tierApp VPC&lt;br&gt;
Go to “route-public” and click on subnet association&lt;br&gt;
Click on Edit subnet association&lt;br&gt;
Select “webtier1-public”and “webtier2-public” and click on Save association.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc10l3mzfs2i0h8okk9ix.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc10l3mzfs2i0h8okk9ix.png" alt="Image description" width="800" height="337"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Go to Routes&lt;br&gt;
Click on Edit Routes&lt;br&gt;
Add new route, Destination as 0.0.0.0/0 and Target Select Igw, click on Save changes&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnzyhaivvn7a05hbdd5jm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnzyhaivvn7a05hbdd5jm.png" alt="Image description" width="800" height="236"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select other route table which is “route-private”&lt;br&gt;
Click on Subnet associations&lt;br&gt;
Select the two application subnets which we have created and click on Save associations&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fokrc0j7pxvvfb5ps1473.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fokrc0j7pxvvfb5ps1473.png" alt="Image description" width="800" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkng8d326qvkyp9pm2jsi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkng8d326qvkyp9pm2jsi.png" alt="Image description" width="800" height="299"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click on edit routes and add NAT GW as Target and select 0.0.0.0/0 as destination&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Task 6. Configure Launch Templates
&lt;/h2&gt;

&lt;p&gt;Go to EC2 and in the left navigation panel click on Launch Templates&lt;br&gt;
Click on Create Launch Template, give any name of your choice&lt;br&gt;
Check the box for Auto Scaling Guidance&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxmywqbfbrb35silxkueu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxmywqbfbrb35silxkueu.png" alt="Image description" width="800" height="645"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the Amazon Linux 2023 AMI&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1nwe424057ljmonws7rh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1nwe424057ljmonws7rh.png" alt="Image description" width="800" height="587"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select instance type as “t2.micro”&lt;br&gt;
Create new key pair&lt;br&gt;
In Network Settings, Create new SG and give name as “webtierSG”&lt;br&gt;
Give some description&lt;br&gt;
And select the 3tier VPC&lt;br&gt;
Inbound rules ssh and http from anywhere&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpmfin60b72eb5bzuyamd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpmfin60b72eb5bzuyamd.png" alt="Image description" width="800" height="609"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Scroll to the bottom and click on Advanced Settings&lt;br&gt;
Go to user data and paste the below script&lt;br&gt;
&lt;code&gt;#!/bin/bash&lt;br&gt;
yum update -y&lt;br&gt;
yum install -y httpd&lt;br&gt;
systemctl start httpd&lt;br&gt;
systemctl enable httpd&lt;br&gt;
echo "&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;h1&amp;gt;Tech Universe with Asma, Demo for 3Tier Application&amp;lt;/h1&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;" &amp;gt; /var/www/html/index.html&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Click on Create Launch Template&lt;br&gt;
&lt;strong&gt;6.2 Create another Launch Template for Application&lt;/strong&gt;&lt;br&gt;
Give name of your choice&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6f3qm2ae5yl7yjxmoy9w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6f3qm2ae5yl7yjxmoy9w.png" alt="Image description" width="800" height="660"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select AMI as Amazon Linux 2023&lt;br&gt;
Instance type as t2.micro&lt;br&gt;
Select the keypair which is created earlier&lt;br&gt;
Create new security group&lt;br&gt;
Create inbound rules for ssh, http and mysql connectivity&lt;br&gt;
For SSH we need to give the source as “webtierSG”, it means that webtier machine is only allowed to access the application tier&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpcf2mbvny83m78prn4tg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpcf2mbvny83m78prn4tg.png" alt="Image description" width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc0cl2yx2794750obkuzz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc0cl2yx2794750obkuzz.png" alt="Image description" width="800" height="706"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on Launch template&lt;/p&gt;

&lt;h2&gt;
  
  
  Task 7. Auto scaling groups
&lt;/h2&gt;

&lt;p&gt;Click on Auto scaling groups and click on create auto scaling group&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feracs76pj6vcf90xqklc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feracs76pj6vcf90xqklc.png" alt="Image description" width="800" height="280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Give a name of your choice&lt;br&gt;
Select the Launch template which is created in previous step&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyw33gyns13ccm3v7qm60.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyw33gyns13ccm3v7qm60.png" alt="Image description" width="800" height="578"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on Next and in Network, Select 3tierVPC&lt;br&gt;
Select both the webtier-public subnets, click on Next&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4k6unvvywk0sa93uwksj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4k6unvvywk0sa93uwksj.png" alt="Image description" width="800" height="584"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select desired capacity type as 1,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpkeuqbbfwrymortf5pqf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpkeuqbbfwrymortf5pqf.png" alt="Image description" width="662" height="755"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftrla9uw6gytuhx507ai3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftrla9uw6gytuhx507ai3.png" alt="Image description" width="662" height="755"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Give tag as Name and WebTierMachine&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3mw4d4i0zg0uz94eicdh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3mw4d4i0zg0uz94eicdh.png" alt="Image description" width="662" height="755"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Review everything and click on Create AutoScaling Group&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwsjqvbj8vwnvsdbkbm8w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwsjqvbj8vwnvsdbkbm8w.png" alt="Image description" width="800" height="178"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjf0hppg6asv3iefq9vzg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjf0hppg6asv3iefq9vzg.png" alt="Image description" width="800" height="197"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of the instance gets created go and check the details&lt;br&gt;
Go to tags and check that instance is created because of Auto Scaling group&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu4dtkxgj8vchviabpuub.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu4dtkxgj8vchviabpuub.png" alt="Image description" width="800" height="599"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Copy the public IP of WebTier and paste in browser , if you are able to see the below page, Web Tier is correctly setup.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9z7nskmccxj6a0jza4kg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9z7nskmccxj6a0jza4kg.png" alt="Image description" width="800" height="202"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  7.2 Create Auto Scaling group for Application Tier
&lt;/h2&gt;

&lt;p&gt;Create Auto Scaling group&lt;br&gt;
Give the name of your choice&lt;br&gt;
Select Launch template as “application-3tierapp”&lt;br&gt;
Select VPC as 3tierVPC&lt;br&gt;
Availability Zones select “applicationtier1-private and application2-private”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsml10zwsntkdv8lonjd2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsml10zwsntkdv8lonjd2.png" alt="Image description" width="800" height="567"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsb724wtw2ble5vjhnjbu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsb724wtw2ble5vjhnjbu.png" alt="Image description" width="800" height="586"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Keep everything as it is.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzgwhq3181nxxz8wv414d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzgwhq3181nxxz8wv414d.png" alt="Image description" width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on Create AutoScaling group&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgrl9o9464suehv1b5xww.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgrl9o9464suehv1b5xww.png" alt="Image description" width="800" height="700"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Go to EC2 Instance and Click on Instances and see if the new instance is launched because of newly created application tier autoscaling group&lt;/p&gt;

&lt;h2&gt;
  
  
  Task 8. Database Tier
&lt;/h2&gt;

&lt;p&gt;In the search bar search “RDS”&lt;br&gt;
Click on “Create Database”&lt;br&gt;
Select Standard Create and select “MySql”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvn3auf5mdsm0hp52jjz2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvn3auf5mdsm0hp52jjz2.png" alt="Image description" width="800" height="640"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Free tier&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2xt6tcq7541hbf3iozwe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2xt6tcq7541hbf3iozwe.png" alt="Image description" width="800" height="211"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Scroll down and give the password&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm88ant56vibw8zj13ygm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm88ant56vibw8zj13ygm.png" alt="Image description" width="800" height="465"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Instance configuration “db.t3.micro”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flkmoft3o7lssbcslpblp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flkmoft3o7lssbcslpblp.png" alt="Image description" width="800" height="513"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Uncheck Storage autoscaling&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzxxbzlqd42n7vnot80eq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzxxbzlqd42n7vnot80eq.png" alt="Image description" width="800" height="216"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Connectivity choose 3TierApp VPC&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7kn3gypndylv2vsdfl6b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7kn3gypndylv2vsdfl6b.png" alt="Image description" width="800" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F478rk8xnkhbtosizw82g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F478rk8xnkhbtosizw82g.png" alt="Image description" width="800" height="198"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create new DB Subnet Group and new security group&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5id43c2rhdv8rcoftaw2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5id43c2rhdv8rcoftaw2.png" alt="Image description" width="800" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on Create Database&lt;br&gt;
Database is created successfully&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9tlqxki1ftngijggsvdj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9tlqxki1ftngijggsvdj.png" alt="Image description" width="800" height="162"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkdsrvh9tm10nrmjeb0bn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkdsrvh9tm10nrmjeb0bn.png" alt="Image description" width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Go to EC2 Instance and Click on Application Machine and click on Security Group, Open Security Group and click on Edit Inbound Rules&lt;/p&gt;

&lt;p&gt;Click on Inbound rules, edit Mysql inbound rule and in source type database security group&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy46ja3o9c9nlhye7t0wf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy46ja3o9c9nlhye7t0wf.png" alt="Image description" width="800" height="206"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now SSH into the Web Tier Machine from my laptop&lt;/p&gt;

&lt;p&gt;once connected, type the below command and it confirms that web tier is running correctly.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;curl http://localhost&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7sq2d372rec86175ve8a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7sq2d372rec86175ve8a.png" alt="Image description" width="800" height="322"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now try to connect the application tier from the Web tier.&lt;br&gt;
Select the application machine and you will see there is no public ip, copy the private IP and ping the IP from Webtier machine&lt;/p&gt;

&lt;p&gt;There would be no response from Application Machine, there has to be icmp enabled for ping command to work correctly.&lt;br&gt;
Now you have to add the private key to EC2 instance, for this you need to copy the content of private key from your personal laptop to the webtier machine.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Febquj8xqbd1es2s0t47p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Febquj8xqbd1es2s0t47p.png" alt="Image description" width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffp2qyyew0pgq2j5vhikv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffp2qyyew0pgq2j5vhikv.png" alt="Image description" width="800" height="162"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fozzw6rw5f5e41t8111hn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fozzw6rw5f5e41t8111hn.png" alt="Image description" width="800" height="317"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we are able to connect Webtier Machine to Application Tier.&lt;/p&gt;

&lt;p&gt;Lets connect Database from Application Machine.&lt;/p&gt;

&lt;p&gt;First we need to install mysql on the Application machine, type the below command&lt;/p&gt;

&lt;p&gt;sudo yum install mysql -y&lt;br&gt;
mysql will get installed on application machine, but it does not have internet connectivity but NAT GW is attached to the instance.&lt;/p&gt;

&lt;p&gt;Copy the endpoint of Database&lt;br&gt;
database-1.cyrewq2xhdxm.us-east-1.rds.amazonaws.com&lt;/p&gt;

&lt;p&gt;Initiate your DB connection with database endpoint. In the following command, replace the RDS endpoint and the username, and then execute it in the browser terminal:&lt;br&gt;
mysql -h database-1.cyrewq2xhdxm.us-east-1.rds.amazonaws.com -P 3306 -u admin -p password &lt;br&gt;
You will then be prompted to type in your password. Once you input the password and hit enter, you should now be connected to your database.&lt;/p&gt;

&lt;p&gt;NOTE: If you cannot reach your database, check your credentials and security groups.&lt;/p&gt;

&lt;p&gt;Create a database , insert data with the help of SQL commands using the MySQL CLI.&lt;br&gt;
Thats awesome , We successfully connected to our database from our application server.&lt;/p&gt;

&lt;p&gt;We’ve successfully created a highly available, 3-tier application architecture.&lt;/p&gt;

&lt;p&gt;Benefits of using 3 Tier Architeture on AWS:&lt;br&gt;
Using a three-tier architecture on AWS provides several benefits, particularly when aligned with the AWS Well-Architected Framework. Here are some key advantages:&lt;/p&gt;

&lt;p&gt;Scalability:&lt;br&gt;
Auto Scaling: Each tier (web, application, and database) can be scaled independently based on demand, allowing efficient resource utilization and cost management.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;High Availability and Fault Tolerance:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Multi-AZ Deployments: Services like RDS can be configured for Multi-AZ deployments, providing automatic failover to a standby instance in case of an outage.&lt;/p&gt;

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

&lt;p&gt;Network Segmentation: Using VPCs and subnets to isolate different tiers enhances security by limiting access to sensitive components like databases.&lt;br&gt;
Security Groups and NACLs: Fine-grained control over inbound and outbound traffic at the instance and subnet level.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Manageability:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Separation of Concerns: Dividing the architecture into three tiers (web, application, and data) simplifies management, updates, and troubleshooting.&lt;br&gt;
Infrastructure as Code (IaC): Services like AWS CloudFormation and AWS CDK allow you to define and deploy infrastructure consistently and repeatably.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Cost Optimization:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Right-Sizing: Each tier can be sized independently based on its specific resource requirements, preventing over-provisioning.&lt;br&gt;
Reserved Instances and Savings Plans: Cost savings on long-term commitments for predictable workloads.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Performance Efficiency:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Auto Scaling: Automatically adjusts capacity to maintain steady and predictable performance.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Service Integration: Easily integrates with other AWS services (e.g., S3 for storage, SNS for messaging) to extend functionality and support different use cases.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Environment Isolation: Development, staging, and production environments can be easily separated within the same architecture.&lt;br&gt;
By leveraging these benefits, a three-tier architecture on AWS, following the Well-Architected Framework principles, ensures robust, efficient, and scalable application deployments.&lt;br&gt;
Remember to delete your resources (ASG, VPC, Subnets, DB, NAT Gateway) and release all elastic IPs, so you don’t continue to get charged!&lt;br&gt;
Thank you!&lt;br&gt;
Appreciate your time reading! If you found value in this article, a round of applause (👏) would be fantastic to help others discover it. Feel free to share your insights and comments below, I’m eager to hear your thoughts!&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
