<?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: Sulagna Nandi</title>
    <description>The latest articles on DEV Community by Sulagna Nandi (@sulagna206).</description>
    <link>https://dev.to/sulagna206</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%2F806609%2F6d42e5ec-2a13-4d76-99e3-acf3dff89822.png</url>
      <title>DEV Community: Sulagna Nandi</title>
      <link>https://dev.to/sulagna206</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sulagna206"/>
    <language>en</language>
    <item>
      <title>Point to Site Configuration in Azure</title>
      <dc:creator>Sulagna Nandi</dc:creator>
      <pubDate>Tue, 09 Aug 2022 05:19:08 +0000</pubDate>
      <link>https://dev.to/sulagna206/point-to-site-configuration-in-azure-15n5</link>
      <guid>https://dev.to/sulagna206/point-to-site-configuration-in-azure-15n5</guid>
      <description>&lt;p&gt;As per the official documentation of Microsoft Azure &lt;em&gt;"A Point-to-Site (P2S) VPN gateway connection lets you create a secure connection to your virtual network from an individual client computer."&lt;/em&gt; Clearly justifying it's name Point to Site basically connects your Point which is an individual computer or system to the Azure Site Virtual Network. And this connection is a secured connection &lt;strong&gt;not via the Internet&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Point to Site configuration is very easy in Azure portal. Here are all the steps required.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Prior to that , we have some pre configured setup as follows:&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Virtual Network in Azure:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BjLw9Ehk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6ag9nu0fbve7i39887jg.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BjLw9Ehk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6ag9nu0fbve7i39887jg.PNG" alt="Virtual Network in Azure" width="880" height="766"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For the Point, I have created a Virtual Machine in the Azure and have not given it a public IP (it will not be connected via Internet)&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--psGIcnBd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bymxdnr2zy1jcxk7t2an.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--psGIcnBd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bymxdnr2zy1jcxk7t2an.PNG" alt="VM" width="880" height="661"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now, let's continue the steps:&lt;br&gt;
&lt;strong&gt;1. Add a Gateway Subnet to the Virtual Network :&lt;/strong&gt;&lt;br&gt;
Go to the Virtual Network Resource &amp;gt;&amp;gt; Add Gateway Subnet &amp;gt;&amp;gt; Provide a proper CIDR &amp;gt;&amp;gt; Save it&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VbPhDAJf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cqbsrkowhsp6ojwe24a4.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VbPhDAJf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cqbsrkowhsp6ojwe24a4.PNG" alt="Gateway Subnet" width="880" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Create Virtual Network Gateway :&lt;/strong&gt;&lt;br&gt;
Search for Virtual Network Gateway from all resources and Add it on the Virtual Network with the Gateway Subnet&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--d0PcRWg4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f0z2sxo46gd9u30nr42k.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--d0PcRWg4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f0z2sxo46gd9u30nr42k.PNG" alt="VGW" width="880" height="760"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Create the Root and Child Certificates :&lt;/strong&gt;&lt;br&gt;
Here we need to create two Certificates needed for configuration. For this we have to follow the commands from &lt;a href="https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-certificates-point-to-site"&gt;here.&lt;/a&gt;&lt;br&gt;
These commands are to run in the Windows Powershell which will generate two Certificates. To view the certificates open the Certificate Manager in your system. It will look as follows:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DaHMmAHP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ls95m8vh693xwzuloopn.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DaHMmAHP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ls95m8vh693xwzuloopn.PNG" alt="Certificates" width="880" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Export the certificates :&lt;/strong&gt;&lt;br&gt;
Firstly, to Export the Certificates you need to &lt;strong&gt;right click and find All Tasks &amp;gt;&amp;gt; Export&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iQPZO6hf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/soltzvmejr6lwvncnrv3.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iQPZO6hf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/soltzvmejr6lwvncnrv3.PNG" alt="Export" width="880" height="314"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now, for the Root Certificate Export with no Password but Choose Base64 Encoded&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mxWKsSP0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hr3v9lcgnr9ajddtw295.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mxWKsSP0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hr3v9lcgnr9ajddtw295.PNG" alt="Base64" width="806" height="830"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Second, in the same way you need to Export the Child Certificate but for Child you need to provide a Password since this will be shared with people.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6k6EjDqK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/402ack8cgzum4qv8cp96.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6k6EjDqK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/402ack8cgzum4qv8cp96.PNG" alt="Child" width="804" height="826"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Save both these certificates in your system. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Create a Point to Site connection in Virtual Network Gateway :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Create a Point to Site connection inside the Virtual Network Gateway &amp;gt;&amp;gt; Provide a Address pool &amp;gt;&amp;gt; Choose Tunnel Type according to need &amp;gt;&amp;gt; Choose Certificate for authentication &amp;gt;&amp;gt; Provide the Name of the root file &amp;gt;&amp;gt; Copy paste the contents of root certificate (open by notepad)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jTMDC9h4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w1xn2kpj6dkrhmnds1nz.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jTMDC9h4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w1xn2kpj6dkrhmnds1nz.PNG" alt="Point to Site connection" width="880" height="581"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Save the Changes and after saving Download the VPN client. A zip file will be downloaded as shown below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hbYbNdj5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a0hjpgnsm71k6ifpzwh6.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hbYbNdj5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a0hjpgnsm71k6ifpzwh6.PNG" alt="Download" width="880" height="482"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Extract the zip file and Install the client :&lt;/strong&gt;&lt;br&gt;
On extracting the file you will get files as shown:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GOjuF6qi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7xdawbbjsu0unwq2bnbg.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GOjuF6qi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7xdawbbjsu0unwq2bnbg.PNG" alt="Extract" width="524" height="197"&gt;&lt;/a&gt;&lt;br&gt;
Next, Double click on the Child certificate, provide the password and Install the certificate&lt;/p&gt;

&lt;p&gt;Choose the file according to your system configuration and Install the VPN client. After successfully verifying with the child certificate, you will get options in your network and connectivity as such :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_liuuXRR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n1wm0c30nro61gn01r99.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_liuuXRR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n1wm0c30nro61gn01r99.PNG" alt="VPN" width="880" height="156"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Final connection :&lt;/strong&gt;&lt;br&gt;
Let's see the magic here.&lt;br&gt;
Try to connect your Virtual Server without connecting to the VPN client.&lt;br&gt;
You will see you are unable to connect. This is obvious since you don't have a public IP and can't connect via private IP since you are not yet in the network of the Virtual Network in which your server lies.&lt;br&gt;
Here is me trying to connect the server without connecting to the VPN.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZDB4qXNj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zvvygz1yktqle82hn666.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZDB4qXNj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zvvygz1yktqle82hn666.PNG" alt="Before" width="771" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, let's connect to the VPN. Once you have connected to the VPN , now if you SSH into the Virtual machine , you will be allowed since by connecting the VPN you have become a part of the Virtual Network.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dgwU1WkV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q9t3gqxemj1bzr544u9e.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dgwU1WkV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q9t3gqxemj1bzr544u9e.PNG" alt="After" width="814" height="765"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's all the steps for Point to Site connectivity.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>tutorial</category>
      <category>cloud</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>Hosting a static website on Azure VM and mapping it with SSL configured domain name</title>
      <dc:creator>Sulagna Nandi</dc:creator>
      <pubDate>Thu, 04 Aug 2022 05:27:00 +0000</pubDate>
      <link>https://dev.to/sulagna206/hosting-a-static-website-on-azure-vm-and-mapping-it-with-ssl-configured-domain-name-2o9m</link>
      <guid>https://dev.to/sulagna206/hosting-a-static-website-on-azure-vm-and-mapping-it-with-ssl-configured-domain-name-2o9m</guid>
      <description>&lt;p&gt;Azure virtual servers can easily host static websites with minimal efforts. Here is a documentation where I have replicated a situation in which I have deployed a web server in the public subnet and hosted a static site and linked it's IP to a proper SSL configured domain name.&lt;/p&gt;

&lt;p&gt;Here are the components needed:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Virtual Network&lt;/strong&gt; - defining the public and private subnets&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Virtual Machines&lt;/strong&gt; - Web servers and Database servers(we don't need this to host the site)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Domain Name&lt;/strong&gt; - Any free or paid Domain Name&lt;/li&gt;
&lt;li&gt;Add &lt;strong&gt;DNS zones and Records&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SSL configuration with Let'sEncrypt&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In this documentation we assume you have a Virtual Network with public and private subnets. And, we have a web server and database server on public and private subnet respectively.&lt;br&gt;
This is the VNET configuration:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--A6D73GwD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/slws5dxnvux30q8abd5i.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A6D73GwD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/slws5dxnvux30q8abd5i.PNG" alt="VNET" width="777" height="817"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the Virtual Machines configuration. Here I have used Ubuntu Virtual Machine.&lt;br&gt;
Note:: Database server should have Private IP.(Although, it's not used here)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MHa-WeFw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/okjw2izsxscm5mlsfm3i.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MHa-WeFw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/okjw2izsxscm5mlsfm3i.PNG" alt="Virtual Machine" width="880" height="116"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, SSH into the Virtual Machine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1- Install apache server.&lt;/strong&gt;&lt;br&gt;
Commands used :&lt;br&gt;
Gain super user : &lt;code&gt;sudo su&lt;/code&gt; then &lt;code&gt;cd&lt;/code&gt;&lt;br&gt;
Install apache : &lt;code&gt;apt install apache2&lt;/code&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Wuc7Q0uF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6g8pxy82tl6yonttd1ej.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Wuc7Q0uF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6g8pxy82tl6yonttd1ej.PNG" alt="Apache" width="880" height="518"&gt;&lt;/a&gt;&lt;br&gt;
Start and Enable apache : &lt;br&gt;
&lt;code&gt;systemctl start apache2&lt;/code&gt; then &lt;code&gt;systemctl enable apache2&lt;/code&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LwkjqnTi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/of12c280z6folj06f8rj.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LwkjqnTi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/of12c280z6folj06f8rj.PNG" alt="Enable" width="880" height="141"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2- Add contents of the site.&lt;/strong&gt;&lt;br&gt;
Add the contents of the site from WinSCP. ( &lt;a href="https://winscp.net/eng/download.php"&gt;Download from here&lt;/a&gt; )&lt;br&gt;
Download any static website files or any of your own.&lt;br&gt;
Here I have used demo static site from &lt;a href="https://www.free-css.com/free-css-templates"&gt;Free CSS template&lt;/a&gt;&lt;br&gt;
Connect and add the contents.&lt;br&gt;
Follow the steps as given &lt;a href="https://dev.to/sulagna206/host-a-site-into-ec2-459j#step31"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is how the tab looks like:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QNHoWYFe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3i25ylvmae7jnh8dl6sd.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QNHoWYFe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3i25ylvmae7jnh8dl6sd.PNG" alt="WinSCP" width="880" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3- Add the files and folders to proper directory&lt;/strong&gt;&lt;br&gt;
Copy all the files and folders to the &lt;code&gt;/var/www/html/&lt;/code&gt; directory.&lt;br&gt;
Use the command : &lt;code&gt;cp -r /home/#your_user_name/* /var/www/html/&lt;/code&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LDaqu7uM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ymv5o42m3h2haafseigx.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LDaqu7uM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ymv5o42m3h2haafseigx.PNG" alt="Contents" width="880" height="323"&gt;&lt;/a&gt;&lt;br&gt;
Now, on hitting the public IP you get the site.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WpU_BkD6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z82zr22yej378yo7kn0s.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WpU_BkD6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z82zr22yej378yo7kn0s.PNG" alt="Public IP" width="880" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4- Now create a Domain Name&lt;/strong&gt;&lt;br&gt;
You can get a Domain Name from any Domain Registrar. Here I have got a free Domain Name from &lt;a href="https://www.freenom.com/"&gt;Freenom.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5- Now create DNS zone and update the NameServers&lt;/strong&gt;&lt;br&gt;
Search for the DNS zone service in Azure portal. &lt;br&gt;
Next click on Add DNS zone.&lt;br&gt;
Now, add your Domain Name and Create the DNS zone.&lt;br&gt;
You will get some NameServers.&lt;br&gt;
This is what it looks like.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--omvMoZmB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gbmiqrnq06vafgl8dcra.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--omvMoZmB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gbmiqrnq06vafgl8dcra.PNG" alt="DNS" width="880" height="210"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, you need to copy these NameServers one by one and change the default NameServers of your Domain Name. For this go to Management Tools of your Domain Name.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qLbmfOoN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xvrtqrnzoa8cak9899cm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qLbmfOoN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xvrtqrnzoa8cak9899cm.png" alt="Manage" width="880" height="1011"&gt;&lt;/a&gt;&lt;br&gt;
After successfully changing the NameServers follow the next step.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6- Now create DNS Records&lt;/strong&gt;&lt;br&gt;
Click on Add Record Set present on the top of the DNS zone. &lt;br&gt;
Add a A record specifying the proper domain name and alias it to the public IP of the web server.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--V7Q4Cqb4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6308c38dzmgjc6szrphj.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--V7Q4Cqb4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6308c38dzmgjc6szrphj.PNG" alt="Records" width="880" height="329"&gt;&lt;/a&gt;&lt;br&gt;
Now, if you hit the Domain Name you will get your site up and running.&lt;em&gt;(This sometimes may take some time)&lt;/em&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SZ-3WZVB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5lwwid2lwjq4qc6q3hbe.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SZ-3WZVB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5lwwid2lwjq4qc6q3hbe.PNG" alt="DNS" width="880" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But, the main point to be noted here is the site says &lt;strong&gt;"Not Secure"&lt;/strong&gt;. No one wants their site to show up like this. A HTTP request site is not any client is will to have. Everyone prefers encryption and security and thus the demand of a HTTPS site.&lt;br&gt;
The next step shows how you can get the HTTPS site.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 7- Get the SSL encryption by Let's Encrypt&lt;/strong&gt;&lt;br&gt;
A SSL certificate is what converts the HTTP site into a secured HTTPS one. There are various SSL certificate sites from where you can request one. Here I am using the &lt;a href="https://letsencrypt.org/getting-started/"&gt;Let's Encrypt site&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Since I am using a Ubuntu machine and as per the documentation here, I will be using CertBot for easily requesting a Certificate. &lt;br&gt;
Choose your Software and System type for CertBot&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PWrqpjLc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ftog3bafdibjl8jofdvm.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PWrqpjLc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ftog3bafdibjl8jofdvm.PNG" alt="CertBot" width="880" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now follow the simple steps as per the CertBot.&lt;br&gt;
You can refer in the picture below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gdMU4_k0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/heb5m49z3wtg5utotcgv.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gdMU4_k0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/heb5m49z3wtg5utotcgv.PNG" alt="CertBot" width="880" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now on hitting the Domain Name you find your Site as Secured.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EzzsxTIM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/na2zvatjs6djuba06y9f.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EzzsxTIM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/na2zvatjs6djuba06y9f.PNG" alt="Final" width="880" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>azure</category>
      <category>tutorial</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Site to Site setup in Azure</title>
      <dc:creator>Sulagna Nandi</dc:creator>
      <pubDate>Mon, 01 Aug 2022 04:58:42 +0000</pubDate>
      <link>https://dev.to/sulagna206/site-to-site-setup-in-azure-4hh8</link>
      <guid>https://dev.to/sulagna206/site-to-site-setup-in-azure-4hh8</guid>
      <description>&lt;p&gt;Site to site is an amazing concept introduced in every cloud platform. &lt;strong&gt;Site to site , as the name suggests is a technique in which one site (on-cloud) is connected to a second site (on-premises).&lt;/strong&gt;&lt;br&gt;
There are many such situations when we will require to setup such a situation where our on-premises servers can communicate with cloud virtual machines or servers safely and securely.&lt;br&gt;
The solution to such a setup is creating a Site to Site connection.&lt;/p&gt;

&lt;p&gt;Below, I have shown all the steps you need to configure at the Azure side to set a Site-to-Site connection. After following the steps you will get a configuration file which will be handed to the network manager of the on-premises server and complete setup will be done.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Components required for this setup are:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Virtual network with a default defined subnet and a Gateway subnet.&lt;/li&gt;
&lt;li&gt;Virtual network gateway&lt;/li&gt;
&lt;li&gt;Local network gateway&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step- 1: Create a Virtual network with a default subnet&lt;/strong&gt;&lt;br&gt;
Specify the Virtual network IP address and create the Virtual network with a default subnet. I have created the Virtual network with IP as 10.0.0.0/16 and subnet with 10.0.1.0/24 . The final details will be shown as follows:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I0PHd_xM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/09cpnuym4iqt1xzu7jfc.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I0PHd_xM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/09cpnuym4iqt1xzu7jfc.PNG" alt="Virtual network" width="880" height="669"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step- 2: Add the Gateway Subnet to this Network&lt;/strong&gt;&lt;br&gt;
To add Gateway Subnet, Go to Subnets &amp;gt;&amp;gt; Click on the "+Gateway subnet" &amp;gt;&amp;gt; Now specify the address for it and click on Add.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dejj-SYp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/84ofo2p8vqk91jrgzxfy.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dejj-SYp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/84ofo2p8vqk91jrgzxfy.PNG" alt="Gateway" width="880" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step- 3: Create a Local Network Gateway&lt;/strong&gt;&lt;br&gt;
Here, all the specifications of your on-premises server is added.&lt;br&gt;
Since, this is just for tutorial purpose I don't have a on-premises server, I am using some random IP address. In real situation you have to specify the &lt;strong&gt;Static IP address&lt;/strong&gt; of the on-premises server or the &lt;strong&gt;Fully Qualified Domain Name&lt;/strong&gt;&lt;br&gt;
The final configuration should look like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nWWtCQwR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9bdrpr4jcwc9y84si6wf.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nWWtCQwR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9bdrpr4jcwc9y84si6wf.PNG" alt="Local gateway" width="868" height="661"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step- 4: Create Virtual Network Gateway&lt;/strong&gt;&lt;br&gt;
Search for Virtual Network Gateway and select the Virtual network created. Select other options as required or leave to Default.&lt;br&gt;
Final configurations for reference:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eeR0LBQr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5898v91dqie0rvvcm3wi.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eeR0LBQr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5898v91dqie0rvvcm3wi.PNG" alt="VPN gateway" width="880" height="602"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---Q7V3xLK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/veqfd39nuglojn85fqu0.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---Q7V3xLK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/veqfd39nuglojn85fqu0.PNG" alt="VPN gateway 2" width="880" height="478"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step- 5: Create a Connection&lt;/strong&gt;&lt;br&gt;
Inside the Virtual Network gateway resource , Select Connections. Then Select Add connection.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MsjRrmsw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hdnj5ljew51o95m2m9sc.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MsjRrmsw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hdnj5ljew51o95m2m9sc.PNG" alt="Connection" width="880" height="337"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next specify the connection details and choose Site to Site in the connection type. Next you need to specify the Shared Access Key of your on-premises server. After successfully completing the steps you will find a configuration file. Download this and provide to the network engineers on the other side&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pDR9w5xB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o6rn565gyh7rnqrwms80.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pDR9w5xB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o6rn565gyh7rnqrwms80.PNG" alt="Connection" width="880" height="823"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That was all the steps for setting a Site to Site connection.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>cloudnative</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Setting up Docker Swarm in AWS</title>
      <dc:creator>Sulagna Nandi</dc:creator>
      <pubDate>Wed, 25 May 2022 17:04:42 +0000</pubDate>
      <link>https://dev.to/sulagna206/setting-up-docker-swarm-in-aws-4pfi</link>
      <guid>https://dev.to/sulagna206/setting-up-docker-swarm-in-aws-4pfi</guid>
      <description>&lt;h3&gt;
  
  
  Docker and Docker Swarm
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Docker is an open source containerization platform&lt;/strong&gt;. Docker containers are lightweight software packages which includes all tools , libraries and dependencies needed to run applications.&lt;br&gt;
Before the concepts of containerization and virtualization, there was often a gap between the application developer team and final production team. This was due to the difference in the system and dependencies of the environment in which the application was developed to the environment in which it is being tested. To bridge this gap concepts of virtualization and containerization was introduced which enabled developers to run their application in different operating systems sharing the same hardware and then provide the entire system including the dependencies to the production team.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Docker Swarm is a mechanism to handle multiple images running on same host Operating System&lt;/strong&gt;. Images here refer to the templates that help to build containers. In Docker Swarm we have multiple nodes which are called as - Master and Worker Nodes. In each of these Nodes Docker daemon is initialized to interact with the Docker API. Docker Swarm supports Load balancing and Auto-Scaling features by the use of simple commands. All these are enabled by running services from the Master node.&lt;/p&gt;

&lt;p&gt;In this documentation I have demonstrated all the steps required to setup a Docker Swarm environment. For higher availability I have deployed each of the Docker nodes into different VPCs.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 1 : Create your VPCs :
&lt;/h4&gt;

&lt;p&gt;(a) We create three VPCs with the motive to deploy three instances in each of them [one Master Node and two Worker Nodes] with CIDR value as needed. We can also have more than one Master and Worker Nodes.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--E3oUwgDt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8dut6th0gxjhbsxiewr2.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--E3oUwgDt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8dut6th0gxjhbsxiewr2.PNG" alt="VPCs" width="880" height="105"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(b) Now, we need to create the Subnets for each VPCs&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--b0OcNRWt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/neh1orzlts86suoec6dt.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--b0OcNRWt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/neh1orzlts86suoec6dt.PNG" alt="Subnets" width="880" height="117"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(c) Since the nodes need to communicate between them, now we create a Peering connection between the different VPCs. To set a Peering connection search for the service and Create the Peering connection between each of the VPCs.(if three VPCs : A,B,C then create connection between A--&amp;gt;B , B--&amp;gt;C , C--&amp;gt;A)&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UTqXmlYX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zl7f52drivrp6jhdecoa.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UTqXmlYX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zl7f52drivrp6jhdecoa.PNG" alt="Peering" width="601" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After creation we need to accept the Peering request. In order to accept the request, select the request and go to Actions and select Accept Request.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JDsJproE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0rp4g16u949foc7lar7e.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JDsJproE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0rp4g16u949foc7lar7e.PNG" alt="Accept" width="880" height="175"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(d) Now, define the route tables. Create the route tables for each VPC and define them with &lt;strong&gt;proper routes&lt;/strong&gt; and attach to the appropriate &lt;strong&gt;subnets&lt;/strong&gt;. Also, create a &lt;strong&gt;Internet Gateway&lt;/strong&gt; and add to the route table in order to have internet access in each VPC. Finally the route table for each VPC should have the routes defined as follows:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Bdp4p8v_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zotsp9k6rvkr05d0aj8a.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Bdp4p8v_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zotsp9k6rvkr05d0aj8a.PNG" alt="Routes" width="880" height="253"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 2 : Create your EC2 instances :
&lt;/h4&gt;

&lt;p&gt;Deploy the instances in each VPC. Here since I have taken three nodes- one Master node and two Worker nodes, I have Launched three instances. Select the appropriate type of the Instances. In the &lt;strong&gt;Security rules remember to add a Custom TCP rule with port 2377&lt;/strong&gt;. Here is a sample of the Security rules put:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--A-3f7bMh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/go5y43pga160kozs31lh.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A-3f7bMh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/go5y43pga160kozs31lh.PNG" alt="TCP" width="880" height="152"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note: The Security rules should be added with only the IPs that are allowed or needed. The above rules are just for the demo.&lt;/strong&gt;&lt;br&gt;
Now, Connect to each instance.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 3 : Configure Docker Master and Worker Nodes:
&lt;/h4&gt;

&lt;p&gt;(a) First of all, configure Docker into each node by using the command &lt;code&gt;yum install docker* -y&lt;/code&gt;.&lt;br&gt;
(b) Now, start and enable the Docker into each node by using the command &lt;code&gt;systemctl start docker&lt;/code&gt; followed by &lt;code&gt;systemctl enable docker&lt;/code&gt;.&lt;br&gt;
(c) Next, choose a node and assign it as Master Node where all the services will run. For this run the command &lt;code&gt;docker swarm init&lt;/code&gt;. Now, a token will be shown . Copy this token and paste it in the other nodes. Now the other nodes will become the Worker nodes.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I_thFTSP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ucum6xabf5sei04bfv4j.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I_thFTSP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ucum6xabf5sei04bfv4j.PNG" alt="Swarm" width="880" height="318"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can check the joining status of the nodes by using the command &lt;code&gt;docker node ls&lt;/code&gt; in the Master Node.&lt;/p&gt;

&lt;p&gt;(d) Create a Dockerfile that will download a sample website.&lt;br&gt;
First of all to create the Dockerfile type &lt;code&gt;vi Dockerfile&lt;/code&gt;. This Docker file will be created in every node.&lt;br&gt;
This is a sample Docker file content:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IY4kNU3r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l21mvchmyw9lxo9y6ah8.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IY4kNU3r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l21mvchmyw9lxo9y6ah8.PNG" alt="File" width="880" height="235"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Build the image by command &lt;code&gt;docker image build -t appimg:1 .&lt;/code&gt;&lt;br&gt;
You can check the image by using the command &lt;code&gt;docker image ls&lt;/code&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 4 : Run the services and create the Containers:
&lt;/h4&gt;

&lt;p&gt;(a) Now, you have to run the services from the Master Node. This can be done by using the command &lt;code&gt;docker service create --name #name_of_the_service -p 80:80 #any_name_of_image:1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Check the service id using command &lt;code&gt;docker service ls&lt;/code&gt; .Note this service ID.&lt;/p&gt;

&lt;p&gt;(b) Next, create the containers using command: &lt;code&gt;docker service scale #service_id = 4(you can give any number of container)&lt;/code&gt;. The containers are randomly deployed on any one the Master or Worker nodes. Docker Swarm also provides the Load Balancing features thus providing maximum availability.&lt;/p&gt;

&lt;p&gt;Finally, your docker swarm is configured and ready. To view the contents we can map our EC2 instances to Application Load Balancer and attach it to a Domain Name via Route53 and then hit the Domain name. To do so &lt;a href="https://dev.to/sulagna206/get-your-site-a-domain-name-and-ssl-certificate-4d4l"&gt;Refer here.&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Auto-Scaling in AWS</title>
      <dc:creator>Sulagna Nandi</dc:creator>
      <pubDate>Sat, 14 May 2022 18:23:36 +0000</pubDate>
      <link>https://dev.to/sulagna206/auto-scaling-in-aws-3k0g</link>
      <guid>https://dev.to/sulagna206/auto-scaling-in-aws-3k0g</guid>
      <description>&lt;p&gt;&lt;strong&gt;Availability , Flexibility and Scalability&lt;/strong&gt; are among the few very important features of cloud computing. Simply using a single instance for all the work creates load on the server causing it to fail and various other problems. Distributing the workload with automatic scaling up or down based on the workload is the perfect solution to all the issues. &lt;strong&gt;Cloud load balancing is defined as dividing workload and properties in the servers&lt;/strong&gt;. &lt;strong&gt;Auto-Scaling is the technique in which automatically the number of servers can increase or decrease as per demand&lt;/strong&gt;. This helps to provide a continuous uninterrupted service to the customers.&lt;br&gt;
&lt;strong&gt;In Auto-Scaling, we mainly define three threshold values - Desired Capacity , Minimum Capacity and Maximum Capacity.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Desired Capacity&lt;/strong&gt; refers to the desired number of servers which will start launching by an Auto Scaling Group.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Minimum Capacity&lt;/strong&gt; refers to the minimum number of instances running at all times.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Maximum Capacity&lt;/strong&gt; puts a restriction on the maximum number of servers that we can have. This helps to handle DOS attacks where unnecessarily demand increases on the instances which can lead to sudden increase in the number of instances which will lead to no profit.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here, I have documented all the steps needed for enabling Auto Scaling on your instances.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 1 - Launch a EC2 instance.
&lt;/h4&gt;

&lt;p&gt;Launch a EC2 instance specifying all the requirements and host any static site on it. (&lt;a href="https://dev.to/sulagna206/host-a-site-into-ec2-459j"&gt;Refer here&lt;/a&gt;)&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 2 - Create a Image of the instance.
&lt;/h4&gt;

&lt;p&gt;Choose the EC2 instance  &amp;gt;&amp;gt; Click on Actions &amp;gt;&amp;gt; Create Image. Then Create the image and provide a suitable name to the image.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--THI8w-gb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tuu7jei34gq9hf2ez3xc.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--THI8w-gb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tuu7jei34gq9hf2ez3xc.PNG" alt="Create a Image of the instance" width="880" height="226"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 3 - Create a Load Balancer.
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;First of all to have a Load Balancer we need to create a Target Group. First Create the Target group with suitable name, &lt;strong&gt;but do not attach or register any target instances for now&lt;/strong&gt; &amp;gt;&amp;gt; Create Target Group.
Your final page should look like this : 
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MORpWKy9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l9ghedcdj9augl8lm68j.PNG" alt="Target group" width="880" height="457"&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now select the Target Group created and in Edit attribute decrease the deregistration time to 20sec. (This step is just to faster the scaling down process and can be avoided)&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--r6eSTwpI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mq81sjurmlm9xxsmy7ag.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r6eSTwpI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mq81sjurmlm9xxsmy7ag.PNG" alt="Edit attribute" width="880" height="514"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now, create a &lt;strong&gt;Application Load Balancer&lt;/strong&gt; . Provide a suitable name. Select all the subnets for high availability. While selecting the Security group , create a new security group with preferably the inbound and outbound rules as given below (however you can set the rules as per your need for stronger security)&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v5pmGFgg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bp6oqu6utg2y6195lbj0.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v5pmGFgg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bp6oqu6utg2y6195lbj0.PNG" alt="inbound and outbound rules" width="880" height="409"&gt;&lt;/a&gt;&lt;br&gt;
Now, select your Security group and the Target group created and create the Load Balancer.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Step 4 - Create a Launch Configuration.
&lt;/h4&gt;

&lt;p&gt;Go to the Launch Configuration menu and Launch a configuration.&lt;br&gt;
Give a suitable name &amp;gt;&amp;gt; Choose the Image that you had created &amp;gt;&amp;gt; Choose the instance type. Rest of the options can be left default. But, make sure you &lt;strong&gt;Enable the detailed monitoring by Cloud Watch&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7nCVbS1t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9gcv0u3bfwyw5z5jaxvg.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7nCVbS1t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9gcv0u3bfwyw5z5jaxvg.PNG" alt="Enable the detailed monitoring by Cloud Watch" width="880" height="556"&gt;&lt;/a&gt;&lt;br&gt;
Next, Add New Rule , to the Security rules, mentioning the inbound rules as below (however you can set the rules as per your need for stronger security)&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mn5WiMxc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xajveeesvoqlknf9e1ug.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mn5WiMxc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xajveeesvoqlknf9e1ug.PNG" alt="Add New Rule" width="880" height="210"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 5 - Create a Auto Scaling group.
&lt;/h4&gt;

&lt;p&gt;Create a Auto Scaling group with a suitable name. Now select the option of Launch Configuration and select the one just created.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DYnl7iRZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zrae8u54um8v7ngx0lcm.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DYnl7iRZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zrae8u54um8v7ngx0lcm.PNG" alt="Auto Scaling group" width="880" height="606"&gt;&lt;/a&gt;&lt;br&gt;
Next choose your networking , preferably choose all the subnets for high availability.&lt;br&gt;
Next attach to an Existing Load Balancer and choose the Target group we just created.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v1-fSZQT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5s6he8xi64ef8zhjq3jq.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v1-fSZQT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5s6he8xi64ef8zhjq3jq.PNG" alt="Existing Load Balancer and" width="880" height="662"&gt;&lt;/a&gt;&lt;br&gt;
Now, choose the desired , minimum and maximum capacities of instances as your choice.&lt;br&gt;
Finally, Create the Auto Scaling Group.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 6 - Create Cloud Watch Alarms.
&lt;/h4&gt;

&lt;p&gt;Search for the Cloud Watch Alarm Service then click on Create Alarm. &lt;br&gt;
&lt;strong&gt;In this step we have to create two Alarms - Scale-up and Scale-down.&lt;/strong&gt;&lt;br&gt;
The Alarms will monitor the Auto Scaling group based on the chosen metrics and thresholds.&lt;br&gt;
For metrics, choose Auto Scaling group and then choose CPU utilization as the metric.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KzWmPPx_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a36hfpqs8z8ccr0peui1.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KzWmPPx_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a36hfpqs8z8ccr0peui1.PNG" alt="Alarms" width="880" height="367"&gt;&lt;/a&gt;&lt;br&gt;
Next, give a name to the alarm and specify the threshold.&lt;br&gt;
There will be two alarms - Scale up and Scale down. Scale up will be used to monitor when the CPU utilization is higher than a threshold that will require to increase the number of instances and Scale down will be used to monitor when the CPU utilization is lower than a threshold that will require to remove some number of instances.&lt;br&gt;
Specify the details as given : &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--b2IckTze--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/37461vm58kp89dg6tbp3.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--b2IckTze--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/37461vm58kp89dg6tbp3.PNG" alt="Scale up and Scale down" width="880" height="685"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 7 - Create Dynamic Auto Scaling policies.
&lt;/h4&gt;

&lt;p&gt;After both the Scale-up and Scale-down alarms are ready , we need to attach them to the Auto Scaling policies specifying how we want the Auto Scaling to act on getting the alarms.&lt;br&gt;
For this, select the Auto Scaling Group, then choose the Automatic Scaling &amp;gt;&amp;gt; Create Dynamic policy.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tD28_udx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n6vdj9qrjl264qe0oxgw.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tD28_udx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n6vdj9qrjl264qe0oxgw.PNG" alt="Automatic Scaling" width="880" height="237"&gt;&lt;/a&gt;&lt;br&gt;
In policy type choose &lt;strong&gt;Simple Scaling&lt;/strong&gt; and select the alarm created just now, and specify the Actions.&lt;br&gt;
For a Scale-up policy, choose the Scale-up alarm and as Actions select to increase the capacity.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nJB0k6JZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/naz29blm1o1t35zfvz6j.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nJB0k6JZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/naz29blm1o1t35zfvz6j.PNG" alt="policy" width="880" height="708"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Similarly, create another policy to Scale-down specifying the Actions ie., select to decrease the capacity.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7ua9W68G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fu6d0ei7u33skxvv3ib6.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7ua9W68G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fu6d0ei7u33skxvv3ib6.PNG" alt="Scale-down" width="880" height="700"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And, your Auto Scaling Setup is ready. &lt;br&gt;
Here are few ways you can check if your Policies are working correctly : &lt;br&gt;
SSH into the Auto Scaling Group instance and increase the CPU utilization by using the command &lt;code&gt;yes &amp;gt; dev/null &amp;amp;&lt;/code&gt;&lt;br&gt;
On checking the Cloud alarms you can find the graph increasing. On checking the instances you can find there is addition of the new instances automatically. &lt;br&gt;
To check the Scaling down, use the command &lt;code&gt;&amp;lt;kill #process_id_here&amp;gt;&lt;/code&gt; and check the instances. After some time, instances will be shutting down.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2CTUq2vt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gj3iyr1jaxuso9wr4lvh.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2CTUq2vt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gj3iyr1jaxuso9wr4lvh.PNG" alt="Automatic" width="880" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Get your site a Domain Name and SSL certificate</title>
      <dc:creator>Sulagna Nandi</dc:creator>
      <pubDate>Thu, 17 Feb 2022 17:00:26 +0000</pubDate>
      <link>https://dev.to/sulagna206/get-your-site-a-domain-name-and-ssl-certificate-4d4l</link>
      <guid>https://dev.to/sulagna206/get-your-site-a-domain-name-and-ssl-certificate-4d4l</guid>
      <description>&lt;p&gt;Amazon EC2 Virtual Machines can help you to host a site. There are so many ways to host a site into EC2. Most common and easy ones were documented by me in this &lt;a href="https://dev.to/sulagna206/host-a-site-into-ec2-459j"&gt;blog&lt;/a&gt; of mine, by end of which you will be able to view your website up and running in your browser by hitting it's public IP.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;However, practically how many actual websites do we view by typing out their IPs? None, right?&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;The actual address of any website is a complex IP address, difficult to remember and interpret. Hence we have the Domain Name System (DNS) which maintains all the Domain Names and translates the Domain Names to the IP address of our site. This domain name is simple, interpretable and easily to remember name for our website. &lt;/p&gt;

&lt;p&gt;Also, we saw that the IP address we were hitting on the browser was showing as &lt;strong&gt;Connection not Secure&lt;/strong&gt;. This simply means the protocol by which our web pages were loading was &lt;strong&gt;HTTP protocol&lt;/strong&gt;. &lt;strong&gt;HTTP or HyperText Transfer Protocol is the simple, but not secure protocol to load our pages.&lt;/strong&gt; &lt;strong&gt;HTTPS is the HTTP + Secured type of HTTP protocol which encrypts our information and thus is more reliable and better way to loading and using the web pages. HTTPS uses the protocol called Transport Layer Security (TLS), also known as Secure Sockets Layer (SSL).&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So, in this blog ( is a continuation of &lt;a href="https://dev.to/sulagna206/host-a-site-into-ec2-459j"&gt;my previous blog&lt;/a&gt; ) we map the IP address of our site to Domain Name and also make the Connection Secure (HTTPS).&lt;/p&gt;

&lt;h3&gt;
  
  
  Map the IP address to a Domain Name
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Step 1 : Get a Domain Name&lt;/strong&gt;&lt;br&gt;
You need to purchase a Domain Name of your choice. You can get paid Domain Names from sites like &lt;a href="https://in.godaddy.com/"&gt;GoDaddy&lt;/a&gt; or &lt;a href="https://www.hostinger.com/"&gt;Hostinger&lt;/a&gt; or directly from AWS. It is recommended to use a paid Domain Name for professional use. However to practice you can use free Domain Names from sites like &lt;a href="https://my.freenom.com/"&gt;FreeNom&lt;/a&gt;. Here, I have used the Domain Name from FreeNom. You need to create an account and Register for a New Domain in Services. Then you can find your domain name in services and My Domains.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7-JVmhv0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/owfcrckd6kyktcmpf753.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7-JVmhv0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/owfcrckd6kyktcmpf753.PNG" alt="Domain Name" width="880" height="352"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Step 2 : Route 53&lt;/strong&gt;&lt;br&gt;
AWS provides the service of Route 53 which is the scalable Domain Name System of the cloud. It helps you to map the IP address to the Domain Name. Below are the steps to do so:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;1. Create a Hosted Zone in Route 53 :&lt;/strong&gt;&lt;br&gt;
Search for the service of Route 53 and select Create Hosted Zone from the Route 53 dashboard. Now, provide your Domain Name and Create the zone.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yofPg8Tb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/an92a88g9sfc6i63tvub.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yofPg8Tb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/an92a88g9sfc6i63tvub.PNG" alt="HostedZone" width="880" height="857"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Update the Name Servers :&lt;/strong&gt;&lt;br&gt;
Once you create the Hosted Zone, you will be able to see the Records. Select the Record with Type NS. You will be able to see the Value of the Name Servers on the right.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FGeTOcBg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9xwne3hcamdwaazbh60g.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FGeTOcBg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9xwne3hcamdwaazbh60g.PNG" alt="Name Servers" width="880" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, go to your Domain Registrar (FreeNom in my case) and select on Manage Domain. Now, select Management Tools and then Name Servers. Copy the Values of the Name Servers seen in your AWS Hosted zone and paste in the Values of Name Server in the Registrar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5cfzbHYI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5cg6wvrmnp8gjfng8px4.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5cfzbHYI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5cg6wvrmnp8gjfng8px4.PNG" alt="Name" width="880" height="1011"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Add Records :&lt;/strong&gt;&lt;br&gt;
Now, click on Create Records in the Route 53 records. You need to create another record (other than the default one) and add the Record name www to it. For both of the records provide the public IP Address of your EC2 as the Value. Now, Create the Records.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--umSBm32W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5ienqafzchv7jpywswpg.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--umSBm32W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5ienqafzchv7jpywswpg.PNG" alt="Create Records" width="880" height="321"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--U06UBhS0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t0ez043c9akdurqrx97a.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--U06UBhS0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t0ez043c9akdurqrx97a.PNG" alt="Record" width="813" height="635"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, on hitting your Domain Name in the browser you can find your website up and running.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6IumZria--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ijdn98r2vgz1jcvi6h97.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6IumZria--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ijdn98r2vgz1jcvi6h97.PNG" alt="Your site" width="880" height="210"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But, as you can see the connection is showing Not Secure. Now, let's make this secured.&lt;/p&gt;

&lt;h3&gt;
  
  
  Make the connection secure
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Step 1 : Request a SSL certificate&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Making the connection secure basically means changing the HTTP protocol to HTTPS. For this we will need a SSL certificate.&lt;/p&gt;

&lt;p&gt;Go to Certificate Manager in Services. Now, click on Request a Certificate. Then Select the default option of public certificate and click on Next.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SuIEK7Ck--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/llz588fcugqz7aog7x84.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SuIEK7Ck--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/llz588fcugqz7aog7x84.PNG" alt="Certificate Manager" width="880" height="805"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, add the fully qualified Domain Name. Then click on Add another name and fill the Domain Name along with the wild card character "*." before your Domain Name. Then click on Request.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--n6owzS7---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d6pygtwvm36p9bkx5sbn.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n6owzS7---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d6pygtwvm36p9bkx5sbn.PNG" alt="Certificate" width="823" height="686"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, select your certificate and select Create Records to Route 53 (under the Domain Names) and click on Create Records.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GLt_5vSJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u2h4f2x0pbmwndbgjbl5.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GLt_5vSJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u2h4f2x0pbmwndbgjbl5.PNG" alt="Certificate Manager" width="880" height="639"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, wait for the Certificate to be issued.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Step 2 : Create a Load Balancer&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once the certificate is issued, in order to attach the certificate we will need to create a load balancer.&lt;br&gt;
Select Load Balancer from the EC2 dashboard and click on Create Load Balancer. Select the Application Load Balancer and Create.&lt;br&gt;
Give a name to your Load Balancer, Select Internet Facing and IPv4. Under Network routing choose default VPC(or any existing VPC of your EC2) and select all the subnets.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--e7-HMupa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u7wrhtbswbkb92bxwjm3.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--e7-HMupa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u7wrhtbswbkb92bxwjm3.PNG" alt="Load Balancer" width="850" height="1616"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, create a new Security Group with HTTP and HTTPS - Anywhere as inbound rules. &lt;/p&gt;

&lt;p&gt;Now, in Listener Create a new target group. Give a name to your target group leave all the default options and click on next. Now choose your instances and click on include below as pending and create the target group.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cboZNAsV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kht5jxmsyvp9khwnxx06.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cboZNAsV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kht5jxmsyvp9khwnxx06.PNG" alt="Target" width="880" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, back in load balancer select the newly created target group for listener HTTP. Now, click on Add Listener and Create a HTTPS listener with the same newly created target group.&lt;br&gt;
Under the Secure Listener Settings select your SSL certificate in the drop down.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0E3MhFKh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lkxv3i7hbhl5s9w6wo2g.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0E3MhFKh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lkxv3i7hbhl5s9w6wo2g.PNG" alt="Listener" width="880" height="608"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally create the Load Balancer and wait for it to become Active.&lt;/p&gt;

&lt;p&gt;Once the Load Balancer is Active you need to modify the HTTP listener of your Load Balancer (this enables anyone hitting your website to be redirected to HTTPS).&lt;/p&gt;

&lt;p&gt;Select your Load Balancer and choose the option of Listeners and select the HTTP Listener. Now click on View/edit rules of the HTTP.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--T7xa4aZO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fjpvv5m9u19qc5yxuv5x.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--T7xa4aZO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fjpvv5m9u19qc5yxuv5x.PNG" alt="Modify HTTP" width="880" height="323"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, add Rule and select Host Header in IF and Redirect to in THEN.&lt;/p&gt;

&lt;p&gt;Add the values of your Domain Names as the one you had created in the Records of Hosted Zone as Host Header. Select HTTPS with port 443 in Redirect to. Then click on Save.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RConpG88--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/85fkxctklmy84uxyv5pd.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RConpG88--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/85fkxctklmy84uxyv5pd.PNG" alt="Rules" width="880" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Step 3 : Update the Records of Route 53&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Select the Records of type A that you had created (inside the Hosted Zone Records) one by one and click on Edit Record. Follow the steps as given below one by one.&lt;/p&gt;

&lt;p&gt;Click on Edit Record and in the Value, select the Alias. Then choose Application and Classic Load Balancer as Endpoint. Next choose your region and finally select the created Load Balancer. Then Save the changes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---gHBiC0n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dbhre2pwushp17phwiwa.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---gHBiC0n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dbhre2pwushp17phwiwa.PNG" alt="Edit Records" width="516" height="702"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Repeat the steps for both of the Type A Records.&lt;/p&gt;

&lt;p&gt;Finally on hitting the Domain Name you will find your site Secured!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KZgumjDd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n6lanz22memh7gwwddwq.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KZgumjDd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n6lanz22memh7gwwddwq.PNG" alt="Secured" width="880" height="194"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's all in this blog. Hope this helps you!&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>tutorial</category>
      <category>aws</category>
      <category>cloudskills</category>
    </item>
    <item>
      <title>Host a site into EC2</title>
      <dc:creator>Sulagna Nandi</dc:creator>
      <pubDate>Mon, 07 Feb 2022 13:18:12 +0000</pubDate>
      <link>https://dev.to/sulagna206/host-a-site-into-ec2-459j</link>
      <guid>https://dev.to/sulagna206/host-a-site-into-ec2-459j</guid>
      <description>&lt;p&gt;With increase in business and startups, setting up large physical servers was becoming very hectic for owners. Using large number of physical servers and implementing various computing techniques to manage them, people were in need of something more flexible and budget friendly. And finally, in around 2006-2008 Amazon Web Services launched the era of Cloud Computing with it's first virtual servers or machines &lt;strong&gt;Amazon Elastic Compute Cloud or EC2 instances&lt;/strong&gt;. Since then EC2 has helped perform so many operations and provided uncountable solutions.&lt;/p&gt;

&lt;p&gt;In this blog, I have tried to show three of the simple techniques to host a very basic website into your EC2 instance.&lt;br&gt;
For a very simple basic website we have files of CSS,JS,HTML and many more. Here I have chosen a sample website contents from &lt;a href="https://www.free-css.com/free-css-templates/page275/aj"&gt;here.&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Summary of Steps:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Step 1 : Launch an EC2 instance
&lt;/li&gt;
&lt;li&gt;Step 2 : Install Apache Server
&lt;/li&gt;
&lt;li&gt;Step 3 : Add the files of website(three ways):

&lt;ul&gt;
&lt;li&gt;            Directly from your Device
&lt;/li&gt;
&lt;li&gt;            From S3 bucket
&lt;/li&gt;
&lt;li&gt;            From GitHub repository
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;
  
  
  Step 1 : Choose an EC2 instance , Launch the instance and then SSH into the instance. &lt;a&gt;&lt;/a&gt;&lt;a&gt;
&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;I have chosen here the Amazon Linux. You can choose any one of your choice. &lt;em&gt;&lt;a href="https://dev.to/atm_06/what-is-ec2-instance-and-setup-of-ec2-instances-4abk"&gt;You can find the steps to setup your EC2 instance in this amazing tutorial by one of my friend here.&lt;/a&gt;&lt;/em&gt; Only while selecting the Security Group here's what different you have to do:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;For type &lt;strong&gt;SSH&lt;/strong&gt; change &lt;strong&gt;Source&lt;/strong&gt; to &lt;strong&gt;MyIP&lt;/strong&gt; (This will allow only your IP to SSH into your EC2).&lt;/li&gt;
&lt;li&gt;Now, add rule and select &lt;strong&gt;HTTP&lt;/strong&gt; and for &lt;strong&gt;Source&lt;/strong&gt; select &lt;strong&gt;Anywhere&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Again add rule &lt;strong&gt;HTTPS&lt;/strong&gt; and for &lt;strong&gt;Source&lt;/strong&gt; select &lt;strong&gt;Anywhere&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;&lt;em&gt;These are the simplest rules for a beginner, incase you want to have custom and enhanced security, you can always add the allowed custom IPs only&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 2 : Install the Apache Server into EC2 &lt;a&gt;&lt;/a&gt;&lt;a&gt;
&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;To host a website into EC2, you will need to install Apache Server into EC2. Here are the Linux commands to install Apache Server into your EC2.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Login as root user:&lt;/strong&gt;&lt;br&gt;
Initially when you connect to EC2, you will be logined as ec2-user. Change it to root user. Use these linux commands:&lt;br&gt;
&lt;code&gt;sudo su&lt;/code&gt; ,then &lt;code&gt;cd&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Install Apache Server:&lt;/strong&gt;&lt;br&gt;
Now, install Apache Server with the command:&lt;br&gt;
&lt;code&gt;yum install httpd&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;While installing you will get a confirmation message , just type yes for it&lt;/strong&gt;. After successfully installation you will get a Complete message.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4p-n2_Gl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wyatyllzpt37i5vl3vn4.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4p-n2_Gl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wyatyllzpt37i5vl3vn4.PNG" alt="Xshell" width="880" height="318"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Start and Enable Apache:&lt;/strong&gt;&lt;br&gt;
After installing apache, you have to start the Apache. Here is the command to do so.&lt;br&gt;
&lt;code&gt;systemctl start httpd&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now, you need to enable the Apache server to avoid stopping the server when you stop and restart your EC2 instance. Here is the command to do so.&lt;br&gt;
&lt;code&gt;systemctl enable httpd&lt;/code&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YTU3ulUU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zsgufngzrop085ngtcxf.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YTU3ulUU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zsgufngzrop085ngtcxf.PNG" alt="Xshell2" width="880" height="137"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After all these setup done , now we just need to add our files into EC2. Here are the three simple ways to do so:&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 3 : Add your website files into EC2
&lt;/h4&gt;

&lt;h5&gt;
  
  
  Way 1 &amp;gt;&amp;gt;&amp;gt; By adding the files directly from your device: &lt;a&gt;&lt;/a&gt;&lt;a&gt;
&lt;/a&gt;
&lt;/h5&gt;

&lt;p&gt;You can directly copy paste your files from your device into EC2 instance. For this you need to have an application called &lt;strong&gt;WinSCP&lt;/strong&gt; . &lt;a href="https://winscp.net/eng/download.php"&gt;Here&lt;/a&gt; is the download link for the same.&lt;br&gt;
Now follow the following steps:(Refer the picture below)&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Host Name&lt;/strong&gt; fill the &lt;strong&gt;public IPv4 DNS&lt;/strong&gt; of your &lt;strong&gt;EC2 instance&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;For the &lt;strong&gt;User Name&lt;/strong&gt; enter &lt;strong&gt;ec2-user&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Now, click on &lt;strong&gt;Advanced&lt;/strong&gt; &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--59Fqluau--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pn0gx2kwtlgiss4h80ap.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--59Fqluau--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pn0gx2kwtlgiss4h80ap.PNG" alt="Public DNS" width="880" height="386"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jKc6IlkM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ji148jkfzbz1icqoxj4d.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jKc6IlkM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ji148jkfzbz1icqoxj4d.PNG" alt="WinSCP" width="880" height="587"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Now, select the &lt;strong&gt;Authentication&lt;/strong&gt; option in the left side menu and &lt;strong&gt;browse your key file&lt;/strong&gt; (created while launching the EC2 instance). If your key file is of .pem extension , change the search filter to all files, select the .pem file and it will ask you to convert into a .ppk file. Allow for the same and select the .ppk file.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now click on OK.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JYHGUeYI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e9b8vtf0cmcv9mkr6fpf.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JYHGUeYI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e9b8vtf0cmcv9mkr6fpf.PNG" alt="WinSCP2" width="820" height="680"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now, click on &lt;strong&gt;Login&lt;/strong&gt; , and you will be connected to your EC2 as ec2-user in the right side window.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now, browse the location where your files are present on the window on the left side.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UF1xJyzT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c0zun6gq30kc7gug6i71.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UF1xJyzT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c0zun6gq30kc7gug6i71.PNG" alt="Locate" width="795" height="277"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now, create a new directory into ec2-user and drag and drop all your files from the left window to the right into the new directory.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GZLw7N5K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jgloz0rpehlaija2377x.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GZLw7N5K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jgloz0rpehlaija2377x.PNG" alt="New directory" width="758" height="821"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gHyy58w_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e8ica8ojusthstksdm0i.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gHyy58w_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e8ica8ojusthstksdm0i.gif" alt="Drag Drop" width="880" height="422"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Go back to your Xshell and check if the file is present by the command &lt;code&gt;ls /home/ec2-user/&amp;lt;your-directory&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now, you have to copy the file into another directory which is the html directory.&lt;br&gt;
You can copy the entire contents of your directory into html directory by command :&lt;br&gt;
&lt;code&gt;rsync –a /home/ec2-user/&amp;lt;your-directory-name&amp;gt;/. /var/www/html/&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gNqnoyg---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vu77ha3cokeddslw0tun.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gNqnoyg---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vu77ha3cokeddslw0tun.PNG" alt="Xshell" width="880" height="246"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Now copy paste the public IP of the EC2 and hit into the browser and you will be able to see your website.&lt;/li&gt;
&lt;/ol&gt;

&lt;h5&gt;
  
  
  Way 2 &amp;gt;&amp;gt;&amp;gt; By copying the files from your S3 bucket: &lt;a&gt;&lt;/a&gt;&lt;a&gt;
&lt;/a&gt;
&lt;/h5&gt;

&lt;ol&gt;
&lt;li&gt;First you need to create a S3 bucket and upload your files. &lt;a href="https://dev.to/shankarsurya035/what-is-s3-bucket-how-to-mount-a-s3-bucket-in-a-drive-network-drive-3d4f"&gt;Here is a tutorial by one of my friend on how to create and upload files into S3 bucket.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Now, to access your S3 bucket and contents into EC2 instance you must create an IAM role with S3 full access and attach it to your EC2 instance. &lt;a href="https://dev.to/sulagna206/secure-your-aws-account-2h1f#Roles"&gt;Learn how to create IAM roles here.&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Bo2Esrp7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rn3711f6xd5pajaf7csk.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Bo2Esrp7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rn3711f6xd5pajaf7csk.PNG" alt="S3 bucket" width="880" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;List out the S3 buckets name using command &lt;code&gt;aws s3 ls&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;List out the contents of S3 bucket using command 
&lt;code&gt;aws s3 ls s3://&amp;lt;your-bucket-name&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Go to the html directory using command &lt;code&gt;cd /var/www/html/&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Now copy the contents to html directory using command 
&lt;code&gt;aws s3 sync s3://&amp;lt;your-bucket-name&amp;gt;/ .&lt;/code&gt; (dot represents current directory)
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Kk6r3s_G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c2kkn1270i2gqx8mjtqs.PNG" alt="S3" width="880" height="666"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;7.Now copy paste the public IP of the EC2 and hit into the browser and you will be able to see your website.&lt;/p&gt;

&lt;h5&gt;
  
  
  Way 3 &amp;gt;&amp;gt;&amp;gt; By copying the files from your Github Repo: &lt;a&gt;&lt;/a&gt;&lt;a&gt;
&lt;/a&gt;
&lt;/h5&gt;

&lt;ol&gt;
&lt;li&gt;First create a GitHub Repository and upload the files in that repository. &lt;a href="https://handsondataviz.org/create-repo.html"&gt;Here is a tutorial on the same.&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2hVfhtO6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/46d1cxugabrxla8svrma.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2hVfhtO6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/46d1cxugabrxla8svrma.PNG" alt="My GitHub" width="880" height="556"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Now to access GitHub from your EC2 install git. To do so use the command &lt;code&gt;yum install git -y&lt;/code&gt; in your XShell. Accept any confirmation asked.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--e9lzBNhk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9ne9qhsjn8idfghh3q9n.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--e9lzBNhk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9ne9qhsjn8idfghh3q9n.PNG" alt="Install git" width="880" height="251"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Go to the html directory using command &lt;code&gt;cd /var/www/html/&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now download all the files of your GitHub repo into the directory using command &lt;code&gt;git clone git://github.com/&amp;lt;your-account-name&amp;gt;/&amp;lt;your-repo-name&amp;gt; .&lt;/code&gt; (dot represents current directory)&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GyMNZpjh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8go9zar60lyby9bp8bw7.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GyMNZpjh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8go9zar60lyby9bp8bw7.PNG" alt="Git files" width="880" height="327"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now copy paste the public IP of the EC2 and hit into the browser and you will be able to see your website.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is how you can view your website:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--e4StTvcw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c2uwlvdsergjyeosx1yq.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--e4StTvcw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c2uwlvdsergjyeosx1yq.gif" alt="View" width="880" height="467"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;That's all in this blog. Hope so this has helped you!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudskills</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Secure your AWS account</title>
      <dc:creator>Sulagna Nandi</dc:creator>
      <pubDate>Wed, 02 Feb 2022 07:15:30 +0000</pubDate>
      <link>https://dev.to/sulagna206/secure-your-aws-account-2h1f</link>
      <guid>https://dev.to/sulagna206/secure-your-aws-account-2h1f</guid>
      <description>&lt;p&gt;Amazon Web Services provide us amazing solutions which is now widely used by all small and large industries , helping them manage and easily access their resources with flexible costing. AWS provides "Easy to use" , "Flexible" , "Cost effective" , "Reliable" , "Scalable and High Performance" and "Secure" solutions when it comes to virtualizing your resources.&lt;br&gt;
The official documentation of AWS security speaks &lt;strong&gt;"The AWS Cloud enables a shared responsibility model. While AWS manages security of the cloud, you are responsible for security in the cloud."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most of the AWS guides will give a detailed description about all services of AWS and benefits of it. What people rarely speak about is how can we secure our AWS account? Here, I have tried to document some simple yet very important techniques to secure your AWS account. Let's begin.&lt;/p&gt;

&lt;h3&gt;
  
  
  Table of Contents
&lt;/h3&gt;

&lt;h4&gt;
  
  
  1.Root user vs IAM user
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Creating IAM admin&lt;/li&gt;
&lt;li&gt;Creating IAM users&lt;/li&gt;
&lt;li&gt;Creating IAM user groups&lt;/li&gt;
&lt;li&gt;Creating IAM roles&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2.Hardening account
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Set a password&lt;/li&gt;
&lt;li&gt;Set a MFA&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Root user vs IAM user &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EwVd5tZt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3hgjvgu81ob0cou0nk8o.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EwVd5tZt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3hgjvgu81ob0cou0nk8o.jpg" alt="AWS login page" width="646" height="521"&gt;&lt;/a&gt;&lt;br&gt;
First of all on logging into your account you will find the two ways to login ~ 1. Root user and 2. IAM user. Usually when you create your account for the first time , we always login through the root user. But most of the times, you will be recommended by people to use the IAM user to login. What exactly is the difference between them?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Root user&lt;/strong&gt; - Root user is the main account user who has &lt;strong&gt;access to all the resources in the AWS account&lt;/strong&gt;. When we first create our AWS account we have a Root user only. We can't restrict access of the resources of a Root user by adding any IAM roles or policies (discussed below). Since, limiting permissions of a root user is difficult (only done by Service Control Policies of AWS), using root user as the only account for AWS services becomes vulnerable to &lt;strong&gt;"brute force attacks"&lt;/strong&gt;(These attacks are done by excessive forceful attempts to try and decode your root password by hackers leading them into your root account and taking advantage of root user privileges).Therefore it is always encouraged to define IAM user with &lt;strong&gt;Administrative Access&lt;/strong&gt; and use it to access all AWS services instead of using Root account.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. IAM user&lt;/strong&gt; - IAM stands for &lt;strong&gt;Identity and AWS Management&lt;/strong&gt;. The main goal of IAM is to provide &lt;strong&gt;Right access to Right people&lt;/strong&gt;. Among all services of IAM , one of the service is of IAM users. IAM users are defined by the Root User or by IAM administrator. An IAM administrator is the IAM user created by Root user which has the access to all the services of AWS account, except some specific tasks of Root user like ~&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Closing the account&lt;/li&gt;
&lt;li&gt;Changing the account settings&lt;/li&gt;
&lt;li&gt;Changing support plan&lt;/li&gt;
&lt;li&gt;Adding IAM users to billing section and others(
&lt;a href="https://docs.aws.amazon.com/general/latest/gr/root-vs-iam.html#aws_tasks-that-require-root"&gt;Refer this AWS official page&lt;/a&gt; )&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Logging into the account using as IAM administrator is always recommended. Here is how you can create an IAM administrator.&lt;/p&gt;

&lt;h5&gt;
  
  
  &lt;em&gt;Creating your first IAM administrator :&lt;/em&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h5&gt;

&lt;p&gt;Login as Root user by giving your credentials &amp;gt;&amp;gt; Select &lt;strong&gt;IAM services&lt;/strong&gt; &amp;gt;&amp;gt; Under IAM options choose &lt;strong&gt;Users&lt;/strong&gt; &amp;gt;&amp;gt; Now click on &lt;strong&gt;Add users&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--56B3jHc8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yg2qi5xoyuuw0qec8v5t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--56B3jHc8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yg2qi5xoyuuw0qec8v5t.png" alt="Creating user" width="880" height="435"&gt;&lt;/a&gt;&lt;br&gt;
Now give a name to your user and add the access (refer the picture below) &amp;gt;&amp;gt; Click on &lt;strong&gt;Next Permission&lt;/strong&gt; &amp;gt;&amp;gt; Select &lt;strong&gt;Attach an existing policy&lt;/strong&gt; &amp;gt;&amp;gt; Select &lt;strong&gt;AdministratorAccess&lt;/strong&gt; &amp;gt;&amp;gt; Click on Next and finally click &lt;strong&gt;create a user&lt;/strong&gt;(adding tags is optional) &amp;gt;&amp;gt; Finally on successfully creating the user &lt;strong&gt;download the csv file&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wXp431SX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sbmiyajn33p4uk3j8yov.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wXp431SX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sbmiyajn33p4uk3j8yov.png" alt="Describe user" width="880" height="474"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--50b9VfFl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dvlj7lwj4jpl7yl9wat0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--50b9VfFl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dvlj7lwj4jpl7yl9wat0.png" alt="Set permission" width="880" height="727"&gt;&lt;/a&gt;&lt;br&gt;
Now, let's try to login as admin via the console.&lt;br&gt;
Select &lt;strong&gt;IAM user&lt;/strong&gt; to login &amp;gt;&amp;gt; Provide your &lt;strong&gt;Account ID&lt;/strong&gt;(present in the csv file just downloaded or you can find it at top right corner of your root account) &amp;gt;&amp;gt; Now provide the name and password &amp;gt;&amp;gt; Now you have to &lt;strong&gt;set a new password&lt;/strong&gt; &amp;gt;&amp;gt; And, you are logged in as the Admin.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2S7Az9bz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fnbzqear3tkx946l7hqt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2S7Az9bz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fnbzqear3tkx946l7hqt.png" alt="Logged as admin" width="880" height="515"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  &lt;em&gt;Creating IAM users as an admin :&lt;/em&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h5&gt;

&lt;p&gt;As an admin, suppose you have employees joining your company and you have to provide different employees with different resources of AWS. Some only need to use EC2 instances, whereas some only work with EBS. To provide controlled access to your AWS account, you need to create &lt;strong&gt;different IAM users&lt;/strong&gt; and &lt;strong&gt;attach only required Policies&lt;/strong&gt; and share this IAM details with your employees. Creation of users is in the same way as shown above. There are varieties of &lt;strong&gt;Existing Policies&lt;/strong&gt; which you can add based on the access to resources you want to provide. Also, you can &lt;strong&gt;create your own policy&lt;/strong&gt; by clicking on &lt;strong&gt;Create new policy&lt;/strong&gt; in the &lt;strong&gt;Set permission page&lt;/strong&gt;. Your new policy can be in a JSON file.&lt;/p&gt;

&lt;h5&gt;
  
  
  &lt;em&gt;Creating IAM user groups :&lt;/em&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h5&gt;

&lt;p&gt;Suppose you have large number of employees in your company. You have to provide each of your employee a controlled access to only use EC2 instances. You start providing each of your employee same access and attach them to the same policies. But why do such a long process when all you need to attach them is to the same policy. Instead of attaching policies to employees one by one, create a &lt;strong&gt;User Group&lt;/strong&gt;. A User group helps to have common policies and you can just add your employees to the group. When any employee leaves, just detach them from the group instead of finding which user to delete.&lt;/p&gt;

&lt;p&gt;Here is how you can create a User group:&lt;br&gt;
Find the option of &lt;strong&gt;User Groups&lt;/strong&gt; under IAM services &amp;gt;&amp;gt; Click on &lt;strong&gt;Create Group&lt;/strong&gt; &amp;gt;&amp;gt; Give a &lt;strong&gt;name&lt;/strong&gt; to your group &amp;gt;&amp;gt; Add if any existing user (this is optional) &amp;gt;&amp;gt; Now attach some Policies (this is also optional) &amp;gt;&amp;gt; Now click, Create group.&lt;br&gt;
Now onwards &lt;strong&gt;while creating an user&lt;/strong&gt; instead of attaching individual policies , &lt;strong&gt;directly attach them to a User group&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QC8Zw6Lm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i4qp21ywpp5cehyhgnm2.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QC8Zw6Lm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i4qp21ywpp5cehyhgnm2.PNG" alt="IAM user group" width="880" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  &lt;em&gt;IAM roles :&lt;/em&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h5&gt;

&lt;p&gt;Another very interesting service of IAM is the &lt;strong&gt;IAM roles&lt;/strong&gt;. Main use of IAM roles in security for the AWS services is to build a safe pipeline between AWS resources:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Create a direct pipeline between EC2 instances and AWS services :&lt;/em&gt;&lt;/strong&gt; Suppose your company requires you to set a connection between &lt;strong&gt;EC2 instance and S3 bucket&lt;/strong&gt;. So, you start by creating a &lt;strong&gt;IAM user&lt;/strong&gt; and attach it with the &lt;strong&gt;Existing Policy&lt;/strong&gt; of &lt;strong&gt;AWS S3 Full Access&lt;/strong&gt;. Now you share the credentials with access key and secret key, and the next day you find one of your employee has accessed your S3 bucket using the credentials via his own laptop!! So, sharing the credentials is not a very secured option to access AWS services like S3 bucket which has important data. In such a case IAM roles come into picture. IAM roles help to create a direct pipeline between both the services without the need to share the credentials and thus a person cannot access the S3 service from his own laptop. This a safer and good approach. &lt;br&gt;
Here is how you can create an IAM role:&lt;/p&gt;

&lt;p&gt;Select &lt;strong&gt;IAM role&lt;/strong&gt; under the &lt;strong&gt;IAM services&lt;/strong&gt; &amp;gt;&amp;gt; Now &lt;strong&gt;Create a role&lt;/strong&gt; &amp;gt;&amp;gt; Select &lt;strong&gt;Entity as AWS services&lt;/strong&gt; and choose &lt;strong&gt;EC2&lt;/strong&gt; &amp;gt;&amp;gt; Now attach &lt;strong&gt;S3 full access policy&lt;/strong&gt; &amp;gt;&amp;gt; Provide a name &amp;gt;&amp;gt; Create role&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mCoX1P33--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k1ayus6k1gn8vgojj9og.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mCoX1P33--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k1ayus6k1gn8vgojj9og.PNG" alt="Creating role" width="880" height="609"&gt;&lt;/a&gt; &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rJDoFRKM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e18psy4uzeq02og2itob.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rJDoFRKM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e18psy4uzeq02og2itob.PNG" alt="Create role" width="880" height="939"&gt;&lt;/a&gt;&lt;br&gt;
Now, select your &lt;strong&gt;EC2 instance&lt;/strong&gt; &amp;gt;&amp;gt; Go to &lt;strong&gt;Actions&lt;/strong&gt; &amp;gt;&amp;gt; &lt;strong&gt;Security&lt;/strong&gt; &amp;gt;&amp;gt; &lt;strong&gt;Modify IAM role&lt;/strong&gt; &amp;gt;&amp;gt; &lt;strong&gt;Attach the IAM role&lt;/strong&gt; created&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--u8UJhtEj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cd90koomqwu1tkct3fg7.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--u8UJhtEj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cd90koomqwu1tkct3fg7.PNG" alt="EC2 and role" width="880" height="758"&gt;&lt;/a&gt;&lt;br&gt;
Finally you can access your S3 bucket without any access ID or secret key.&lt;br&gt;
Connect to the EC2 via SSH command providing the Key file &amp;gt;&amp;gt; Directly list out the S3 contents (&lt;strong&gt;Syntax - aws s3 ls&lt;/strong&gt;) &amp;gt;&amp;gt; List out the contents inside S3 (&lt;strong&gt;Syntax aws s3 ls s3://s3_bucket_name&lt;/strong&gt;)&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jQSw-rOE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9megbyov4q6iboz3h2vq.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jQSw-rOE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9megbyov4q6iboz3h2vq.PNG" alt="Xshell view" width="880" height="1100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Harden your account &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;We have learnt how to create an IAM admin account and IAM users with controlled access. Now, we can login as the IAM user and use the AWS resources specific to our needs. However, we still need to protect our account from any kind of security breach. Here are few ways suggested by AWS in which you can &lt;strong&gt;Harden your account&lt;/strong&gt; as a &lt;strong&gt;Root user, IAM Admin or IAM User&lt;/strong&gt;:&lt;br&gt;
(All of the steps below can be implemented by going to &lt;strong&gt;IAM Dashboard&lt;/strong&gt; &amp;gt;&amp;gt; &lt;strong&gt;Add MFA&lt;/strong&gt;)&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_8GxuX5S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nyb3yybod438hhtbg5wz.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_8GxuX5S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nyb3yybod438hhtbg5wz.PNG" alt="Dashboard" width="880" height="223"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  &lt;em&gt;Creating a strong password :&lt;/em&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h5&gt;

&lt;p&gt;AWS always encourages to create a strong password. &lt;a href="https://passwordsgenerator.net/"&gt;You can click here to generate a Strong password&lt;/a&gt;&lt;br&gt;
After creating a strong password, click on the password option and then click on the link given to change the password to a Strong password.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KzTRbS-a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ojt99ahfv1fvyvtv3kde.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KzTRbS-a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ojt99ahfv1fvyvtv3kde.PNG" alt="Change password" width="880" height="346"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  &lt;em&gt;Add a Multi Factor Authentication :&lt;/em&gt; &lt;a&gt;&lt;/a&gt;
&lt;/h5&gt;

&lt;p&gt;There are three ways provided for &lt;strong&gt;Multi Factor Authentication&lt;/strong&gt; (MFA) by AWS.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZIpfiGRP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6ckswjuya28iv32884m3.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZIpfiGRP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6ckswjuya28iv32884m3.PNG" alt="MFA" width="880" height="445"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;1.MFA virtual device :&lt;/em&gt; For adding a Virtual MFA device we will need a authenticator application. The most common one is the &lt;strong&gt;"Google authenticator"&lt;/strong&gt;. &lt;br&gt;
Select &lt;strong&gt;Virtual MFA&lt;/strong&gt; &amp;gt;&amp;gt; Click on &lt;strong&gt;Show the QR code&lt;/strong&gt; &amp;gt;&amp;gt; The app will have an option to &lt;strong&gt;scan the QR code&lt;/strong&gt; &amp;gt;&amp;gt; Now a code will be shown &amp;gt;&amp;gt; Write it to the &lt;strong&gt;code 1&lt;/strong&gt; on your console &amp;gt;&amp;gt; After few seconds next code will be shown &amp;gt;&amp;gt; &lt;strong&gt;Assign MFA&lt;/strong&gt;. &lt;br&gt;
From the next time you login , apart from the password the MFA codes will be asked which will be shown in your app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;----Always remember to take a Screen shot of your QR code , incase your app or phone gets damaged this will help----&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--n_htgch2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iq738ljulb7czec60ck5.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n_htgch2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iq738ljulb7czec60ck5.jpeg" alt="MFA virtual device" width="880" height="1315"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;2.U2F security key :&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_u6EITn_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ajycxha1bt5o24lnubty.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_u6EITn_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ajycxha1bt5o24lnubty.jpg" alt="U2F security key" width="880" height="880"&gt;&lt;/a&gt;&lt;br&gt;
This is an U2F security key. It is a kind of USB device. You can add it as an authentication device and while logging in to your account, apart from entering the password, you will need to plug this in.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;2.Gemalto token :&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ANn4OFIU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sy1yg8arlwv6dvtkbjey.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ANn4OFIU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sy1yg8arlwv6dvtkbjey.jpg" alt="Gemalto token" width="389" height="221"&gt;&lt;/a&gt;&lt;br&gt;
Gemalto token is the hardware authenticator in which the codes are shown in the Gemalto token screen. While logging into the account we need to provide these codes.&lt;/p&gt;

&lt;h4&gt;
  
  
  This was all about the simple yet important ways to Secure you AWS account. Hope this helps you!
&lt;/h4&gt;

</description>
      <category>aws</category>
      <category>cloudskills</category>
      <category>security</category>
      <category>analytics</category>
    </item>
  </channel>
</rss>
