<?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: Harinivas. M</title>
    <description>The latest articles on DEV Community by Harinivas. M (@harinivas_m_00360dd83f42).</description>
    <link>https://dev.to/harinivas_m_00360dd83f42</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%2F2748607%2Fb7c30c86-c8e4-41c4-8e25-94d77903a752.jpg</url>
      <title>DEV Community: Harinivas. M</title>
      <link>https://dev.to/harinivas_m_00360dd83f42</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/harinivas_m_00360dd83f42"/>
    <language>en</language>
    <item>
      <title>AWS 101 Workshop</title>
      <dc:creator>Harinivas. M</dc:creator>
      <pubDate>Mon, 31 Mar 2025 15:58:04 +0000</pubDate>
      <link>https://dev.to/harinivas_m_00360dd83f42/aws-101-workshop-44m6</link>
      <guid>https://dev.to/harinivas_m_00360dd83f42/aws-101-workshop-44m6</guid>
      <description>&lt;p&gt;&lt;strong&gt;My AWS 101 Workshop Experience&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I recently attended the AWS 101 Workshop, which provided a hands-on introduction to Amazon Web Services (AWS) and cloud computing. It was a great opportunity to explore core services like EC2, S3, and RDS, and understand how AWS offers scalable and secure solutions.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Workshop Overview&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The session covered cloud computing basics, demonstrating how AWS helps businesses reduce costs and scale globally. Through real-world examples and hands-on labs, I learned how to launch servers, manage storage, and simplify databases using AWS services.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Key Takeaways&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Practical Experience:&lt;/strong&gt; Hands-on labs enhanced my understanding of AWS services.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cloud Infrastructure:&lt;/strong&gt; Gained insight into AWS's scalable infrastructure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Storage Management:&lt;/strong&gt; Learned secure data management using Amazon S3.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database Management:&lt;/strong&gt; Explored simplified database management with Amazon RDS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Networking and Security:&lt;/strong&gt; Understood AWS security with VPCs and IAM policies.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Interactive Learning Environment&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The instructors were supportive, making complex topics accessible. The collaborative setup fostered discussions and networking, offering opportunities to learn from peers and AWS professionals.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Why You Should Attend&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The AWS 101 Workshop boosted my confidence in using AWS for projects and inspired me to pursue further certifications. For anyone interested in cloud computing, this workshop provides essential knowledge and practical experience to get started.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>awsworkshop</category>
      <category>cloudcomputing</category>
      <category>awsservice</category>
    </item>
    <item>
      <title>AWS - 3 tier Architecture implementation</title>
      <dc:creator>Harinivas. M</dc:creator>
      <pubDate>Mon, 31 Mar 2025 14:28:11 +0000</pubDate>
      <link>https://dev.to/harinivas_m_00360dd83f42/aws-3-tier-architecture-implementation-1o2p</link>
      <guid>https://dev.to/harinivas_m_00360dd83f42/aws-3-tier-architecture-implementation-1o2p</guid>
      <description>&lt;p&gt;&lt;strong&gt;1. Clone GitHub Repository:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/Naveen3251/AWS_3Tier.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;&lt;strong&gt;2. Create an S3 Bucket:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to the AWS Console → S3 → Create Bucket.&lt;/li&gt;
&lt;li&gt;Provide a unique name and choose a region.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fntmybyb0ncdq5kn3ddgl.png" alt="Image description" width="800" height="395"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Create an IAM Role:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS Console → IAM → Roles → Create Role.&lt;/li&gt;
&lt;li&gt;Select EC2 as the trusted entity.&lt;/li&gt;
&lt;li&gt;Add policies: &lt;code&gt;AmazonSSMManagedInstanceCore&lt;/code&gt;, &lt;code&gt;AmazonS3ReadOnlyAccess&lt;/code&gt;.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F56ipw2g8juowbb55gjix.png" alt="Image description" width="800" height="385"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Create a VPC and Subnets:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS Console → VPC → Your VPCs → Create VPC.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqcshocepvnqirqtmmumu.png" alt="Image description" width="800" height="395"&gt;
&lt;/li&gt;
&lt;li&gt;Create 6 subnets (2 public, 2 app layer private, 2 database private) across different availability zones.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg5fve07qvywm745l8q7x.png" alt="Image description" width="800" height="388"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. Set Up Networking:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Internet Gateway:&lt;/strong&gt; Create and attach to the VPC for public access.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5bziwpis3rpafeqjfom1.png" alt="Image description" width="800" height="391"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NAT Gateway:&lt;/strong&gt; Deploy in each public subnet for private subnet access.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbe5b6v065ikb9t3zp92s.png" alt="Image description" width="800" height="397"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Route Tables:&lt;/strong&gt; Configure routes to link subnets to the appropriate gateways.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;6. Configure Security Groups:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Public Load Balancer:&lt;/strong&gt; Allow HTTP from your IP.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Tier Instances:&lt;/strong&gt; Allow HTTP from the load balancer and your IP.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Internal Load Balancer:&lt;/strong&gt; Allow HTTP from web tier instances.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;App Layer:&lt;/strong&gt; Allow TCP on port 4000 from the internal load balancer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database:&lt;/strong&gt; Allow MySQL traffic (port 3306) from app layer instances.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;7. Create a Subnet Group for RDS:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS Console → RDS → Subnet Groups → Create.&lt;/li&gt;
&lt;li&gt;Add the database subnets.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ivjk4nnid6un1th3rla.png" alt="Image description" width="800" height="403"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;8. Deploy RDS:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS Console → RDS → Databases → Create Database.&lt;/li&gt;
&lt;li&gt;Choose Amazon Aurora (MySQL-Compatible) → Dev/Test.&lt;/li&gt;
&lt;li&gt;Select the VPC, subnet group, and database security group.&lt;/li&gt;
&lt;li&gt;Enable Multi-AZ for high availability.&lt;/li&gt;
&lt;li&gt;Save the writer endpoint for database connection.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1x4jiazytptr74ifwyqr.png" alt="Image description" width="800" height="405"&gt;
&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;9. Deploy App Instance:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Navigate to AWS Console → EC2 → Instances → Launch Instances.&lt;/li&gt;
&lt;li&gt;Choose Amazon Linux 2 AMI and select the t2.micro instance type.&lt;/li&gt;
&lt;li&gt;Configure instance details:

&lt;ul&gt;
&lt;li&gt;Select the appropriate VPC and private subnet for the app layer.&lt;/li&gt;
&lt;li&gt;Assign the IAM role created earlier.&lt;/li&gt;
&lt;li&gt;Attach the security group designated for the app layer.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Launch the instance without a key pair, as EC2 Instance Connect will be used.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;10. Connect to the Instance:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the EC2 dashboard, select the running instance.&lt;/li&gt;
&lt;li&gt;Click 'Connect' and choose the 'Session Manager' tab to initiate a session.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4cq3izoh6xetylvjh9f0.png" alt="Image description" width="800" height="403"&gt;
&lt;/li&gt;
&lt;li&gt;Switch to the &lt;code&gt;ec2-user&lt;/code&gt;:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="nb"&gt;sudo&lt;/span&gt; &lt;span class="nt"&gt;-su&lt;/span&gt; ec2-user
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Verify internet connectivity through the NAT gateway:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  ping 8.8.8.8
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;11. Configure the Database:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install the MySQL client:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="nb"&gt;sudo &lt;/span&gt;yum &lt;span class="nb"&gt;install &lt;/span&gt;mysql &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;If issues arise, refer to alternative installation commands in the source article.&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Connect to the Aurora RDS writer endpoint:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  mysql &lt;span class="nt"&gt;-h&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;RDS_ENDPOINT] &lt;span class="nt"&gt;-u&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;USERNAME] &lt;span class="nt"&gt;-p&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Create the &lt;code&gt;webappdb&lt;/code&gt; database and &lt;code&gt;transactions&lt;/code&gt; table:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;  &lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;DATABASE&lt;/span&gt; &lt;span class="n"&gt;webappdb&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="n"&gt;USE&lt;/span&gt; &lt;span class="n"&gt;webappdb&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="n"&gt;IF&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;EXISTS&lt;/span&gt; &lt;span class="n"&gt;transactions&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="nb"&gt;INT&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt; &lt;span class="n"&gt;AUTO_INCREMENT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="n"&gt;amount&lt;/span&gt; &lt;span class="nb"&gt;DECIMAL&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
      &lt;span class="n"&gt;description&lt;/span&gt; &lt;span class="nb"&gt;VARCHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
      &lt;span class="k"&gt;PRIMARY&lt;/span&gt; &lt;span class="k"&gt;KEY&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="k"&gt;INSERT&lt;/span&gt; &lt;span class="k"&gt;INTO&lt;/span&gt; &lt;span class="n"&gt;transactions&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;amount&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;description&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;VALUES&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'400'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'groceries'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;transactions&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Exit the MySQL client:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="nb"&gt;exit&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;12. Configure the App Instance:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Update the &lt;code&gt;DbConfig.js&lt;/code&gt; file in the &lt;code&gt;app-tier&lt;/code&gt; directory with database credentials.&lt;/li&gt;
&lt;li&gt;Upload the &lt;code&gt;app-tier&lt;/code&gt; folder to the previously created S3 bucket.&lt;/li&gt;
&lt;li&gt;Install Node Version Manager (NVM):
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  curl &lt;span class="nt"&gt;-o-&lt;/span&gt; https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
  &lt;span class="nb"&gt;source&lt;/span&gt; ~/.bashrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Install Node.js and set it as the active version:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  nvm &lt;span class="nb"&gt;install &lt;/span&gt;16
  nvm use 16
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Install PM2 globally:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; pm2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Download the application code from S3:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  aws s3 &lt;span class="nb"&gt;cp &lt;/span&gt;s3://[BUCKET_NAME]/app-tier/ ~/app-tier &lt;span class="nt"&gt;--recursive&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Navigate to the application directory, install dependencies, and start the application:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="nb"&gt;cd&lt;/span&gt; ~/app-tier
  npm &lt;span class="nb"&gt;install
  &lt;/span&gt;pm2 start index.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Configure PM2 to start on system boot:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  pm2 startup
  &lt;span class="c"&gt;# Execute the command output by the above command&lt;/span&gt;
  pm2 save
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;13.Create an App Tier AMI:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS Console → EC2 → Instances.&lt;/li&gt;
&lt;li&gt;Select the configured app instance → Actions → Image and templates → Create Image.&lt;/li&gt;
&lt;li&gt;Provide a name and description, then create the image.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;14.Set Up a Target Group:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS Console → EC2 → Target Groups → Create Target Group.&lt;/li&gt;
&lt;li&gt;Select "Instances" as the target type, name the group, set protocol to HTTP and port to 4000.&lt;/li&gt;
&lt;li&gt;Choose the appropriate VPC and set the health check path to &lt;code&gt;/health&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;15.Deploy an Internal Load Balancer:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS Console → EC2 → Load Balancers → Create Load Balancer.&lt;/li&gt;
&lt;li&gt;Choose "Application Load Balancer," name it, and select "Internal."&lt;/li&gt;
&lt;li&gt;Configure the network settings, assign the appropriate security group, and link it to the previously created target group.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;16.Create a Launch Template:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS Console → EC2 → Launch Templates → Create Launch Template.&lt;/li&gt;
&lt;li&gt;Name the template and select the App Tier AMI.&lt;/li&gt;
&lt;li&gt;Choose the instance type, assign the appropriate security group, and specify the IAM instance profile.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fggwd5p3pgqrhelkzr0v8.png" alt="Image description" width="800" height="155"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;17.Configure Auto Scaling:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS Console → EC2 → Auto Scaling Groups → Create Auto Scaling group.&lt;/li&gt;
&lt;li&gt;Name the group, select the launch template, and configure the VPC and subnets.&lt;/li&gt;
&lt;li&gt;Attach the Auto Scaling group to the internal load balancer's target group.&lt;/li&gt;
&lt;li&gt;Set the desired, minimum, and maximum capacities, then create the Auto Scaling group.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff2k12zuc7h2qdn1sjf37.png" alt="Image description" width="800" height="146"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;18.Update NGINX Configuration:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Edit the &lt;code&gt;nginx.conf&lt;/code&gt; file from the &lt;code&gt;application-code&lt;/code&gt; directory.&lt;/li&gt;
&lt;li&gt;Replace &lt;code&gt;[INTERNAL-LOADBALANCER-DNS]&lt;/code&gt; with your internal load balancer's DNS name.&lt;/li&gt;
&lt;li&gt;Upload the updated &lt;code&gt;nginx.conf&lt;/code&gt; and the &lt;code&gt;web-tier&lt;/code&gt; folder to your S3 bucket.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;19.Deploy Web Instances:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Launch a new EC2 instance using the Amazon Linux 2 AMI.&lt;/li&gt;
&lt;li&gt;Assign it to the appropriate VPC and public subnet, enabling auto-assign public IP.&lt;/li&gt;
&lt;li&gt;Attach the previously created IAM role and security group for the web tier.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;20.Configure the Web Instance:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Connect to the instance via the AWS Console's Session Manager.&lt;/li&gt;
&lt;li&gt;Install Node Version Manager (NVM) and Node.js:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  curl &lt;span class="nt"&gt;-o-&lt;/span&gt; https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
  &lt;span class="nb"&gt;source&lt;/span&gt; ~/.bashrc
  nvm &lt;span class="nb"&gt;install &lt;/span&gt;16
  nvm use 16
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Download the web-tier code from your S3 bucket:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  aws s3 &lt;span class="nb"&gt;cp &lt;/span&gt;s3://YOUR_BUCKET_NAME/web-tier/ ~/web-tier &lt;span class="nt"&gt;--recursive&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Navigate to the &lt;code&gt;web-tier&lt;/code&gt; directory, install dependencies, and build the React app:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="nb"&gt;cd&lt;/span&gt; ~/web-tier
  npm &lt;span class="nb"&gt;install
  &lt;/span&gt;npm run build
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Install and configure NGINX:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="nb"&gt;sudo &lt;/span&gt;amazon-linux-extras &lt;span class="nb"&gt;install &lt;/span&gt;nginx1 &lt;span class="nt"&gt;-y&lt;/span&gt;
  &lt;span class="nb"&gt;sudo rm&lt;/span&gt; /etc/nginx/nginx.conf
  &lt;span class="nb"&gt;sudo &lt;/span&gt;aws s3 &lt;span class="nb"&gt;cp &lt;/span&gt;s3://YOUR_BUCKET_NAME/nginx.conf /etc/nginx/
  &lt;span class="nb"&gt;sudo &lt;/span&gt;service nginx restart
  &lt;span class="nb"&gt;chmod&lt;/span&gt; &lt;span class="nt"&gt;-R&lt;/span&gt; 755 /home/ec2-user
  &lt;span class="nb"&gt;sudo &lt;/span&gt;chkconfig nginx on
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;21.Create a Web Tier AMI:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Navigate to &lt;strong&gt;EC2 Dashboard&lt;/strong&gt; → &lt;strong&gt;Instances&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select your web tier instance, then &lt;strong&gt;Actions&lt;/strong&gt; → &lt;strong&gt;Image and templates&lt;/strong&gt; → &lt;strong&gt;Create Image&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Provide a name and description, then click &lt;strong&gt;Create image&lt;/strong&gt;. Monitor the creation status under &lt;strong&gt;AMIs&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;22.Set Up a Target Group:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to &lt;strong&gt;EC2 Dashboard&lt;/strong&gt; → &lt;strong&gt;Target Groups&lt;/strong&gt; under &lt;strong&gt;Load Balancing&lt;/strong&gt;. Click &lt;strong&gt;Create Target Group&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Choose &lt;strong&gt;Instances&lt;/strong&gt; as the target type, assign a name, set the protocol to HTTP and port to 80.&lt;/li&gt;
&lt;li&gt;Select your VPC and set the health check path to &lt;code&gt;/health&lt;/code&gt;. Click &lt;strong&gt;Next&lt;/strong&gt;, then &lt;strong&gt;Create target group&lt;/strong&gt; without registering any targets.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuf0nimtuy2qe42nav1cs.png" alt="Image description" width="800" height="125"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;23.Deploy an Internet-Facing Load Balancer:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Navigate to &lt;strong&gt;EC2 Dashboard&lt;/strong&gt; → &lt;strong&gt;Load Balancers&lt;/strong&gt;. Click &lt;strong&gt;Create Load Balancer&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Application Load Balancer&lt;/strong&gt;, provide a name, and choose &lt;strong&gt;Internet-facing&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Configure the network settings with your VPC and public subnets.&lt;/li&gt;
&lt;li&gt;Assign the appropriate security group.&lt;/li&gt;
&lt;li&gt;Set the listener to HTTP on port 80, forward to the previously created target group, and click &lt;strong&gt;Create load balancer&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;24.Create a Launch Template:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to &lt;strong&gt;EC2 Dashboard&lt;/strong&gt; → &lt;strong&gt;Launch Templates&lt;/strong&gt;. Click &lt;strong&gt;Create Launch Template&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Name the template, select the web tier AMI, and choose the instance type (e.g., &lt;code&gt;t2.micro&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Assign the web tier security group and specify the IAM instance profile used for EC2 instances.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;25.Configure Auto Scaling:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Navigate to &lt;strong&gt;EC2 Dashboard&lt;/strong&gt; → &lt;strong&gt;Auto Scaling Groups&lt;/strong&gt;. Click &lt;strong&gt;Create Auto Scaling group&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Name the group, select the launch template, and configure the VPC and public subnets for the web tier.&lt;/li&gt;
&lt;li&gt;Attach the Auto Scaling group to the previously created target group.&lt;/li&gt;
&lt;li&gt;Set the desired, minimum, and maximum capacity to 2.&lt;/li&gt;
&lt;li&gt;Review and create the Auto Scaling group.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;AWS 3-tier architecture ensures a scalable, secure, and efficient application deployment using S3, EC2, and RDS. It enhances security with proper VPC segmentation, NAT, and Internet Gateways. Load balancers and Auto Scaling provide high availability and fault tolerance. IAM roles and security groups ensure controlled access. This setup is ideal for managing applications with dynamic workloads.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Output&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2bdczku1kzp0f3giafbm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2bdczku1kzp0f3giafbm.png" alt="Image description" width="800" height="430"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ia4ayr5fr23mh7svmt0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ia4ayr5fr23mh7svmt0.png" alt="Image description" width="800" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cloudcomputing</category>
      <category>3tierarchitecture</category>
      <category>aws</category>
    </item>
    <item>
      <title>AWS - HealthLake</title>
      <dc:creator>Harinivas. M</dc:creator>
      <pubDate>Mon, 31 Mar 2025 12:59:53 +0000</pubDate>
      <link>https://dev.to/harinivas_m_00360dd83f42/aws-healthlake-40j2</link>
      <guid>https://dev.to/harinivas_m_00360dd83f42/aws-healthlake-40j2</guid>
      <description>&lt;h2&gt;
  
  
  AWS HealthLake: Transforming Healthcare Data Management
&lt;/h2&gt;

&lt;p&gt;AWS HealthLake is a HIPAA-eligible service that empowers healthcare organizations to store, analyze, and extract insights from structured and unstructured health data. It offers seamless data management using the Fast Healthcare Interoperability Resources (FHIR) standard.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;FHIR Support:&lt;/strong&gt; AWS HealthLake automatically structures health data using the FHIR standard, ensuring interoperability.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Transformation:&lt;/strong&gt; Easily import, store, and transform health data from various sources.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Advanced Analytics:&lt;/strong&gt; Integrates with AWS AI/ML services to derive actionable insights from data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Secure &amp;amp; Compliant:&lt;/strong&gt; Designed for healthcare data, supporting HIPAA and other compliance regulations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-time Search &amp;amp; Query:&lt;/strong&gt; Provides robust search capabilities using Amazon OpenSearch Service.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Use Cases
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Clinical Insights:&lt;/strong&gt; Extract meaningful insights from patient data to enhance diagnostics and treatment plans.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Population Health Management:&lt;/strong&gt; Analyze large datasets to identify trends and manage population health effectively.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Medical Research:&lt;/strong&gt; Accelerate research with secure access to historical and real-time healthcare data.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Getting Started with AWS HealthLake
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create a HealthLake Data Store:&lt;/strong&gt; Set up your FHIR-compatible data store using the AWS Management Console.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Import Data:&lt;/strong&gt; Ingest data from various systems including EHRs, medical devices, and insurance providers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analyze Data:&lt;/strong&gt; Leverage Amazon SageMaker and AWS AI/ML services to derive insights.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visualize Results:&lt;/strong&gt; Use Amazon QuickSight to create interactive dashboards and reports.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Final Thoughts
&lt;/h3&gt;

&lt;p&gt;AWS HealthLake is a game-changer for healthcare providers, researchers, and insurers, offering a scalable and compliant platform to manage and analyze healthcare data efficiently. &lt;/p&gt;

</description>
      <category>aws</category>
      <category>awshealthlake</category>
      <category>awsservice</category>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>Copying a file from Ec2 to S3 using PuTTy software</title>
      <dc:creator>Harinivas. M</dc:creator>
      <pubDate>Thu, 23 Jan 2025 13:44:32 +0000</pubDate>
      <link>https://dev.to/harinivas_m_00360dd83f42/copying-a-file-from-ec2-to-s3-using-putty-software-3bmd</link>
      <guid>https://dev.to/harinivas_m_00360dd83f42/copying-a-file-from-ec2-to-s3-using-putty-software-3bmd</guid>
      <description>&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt;Download Putty software with proper version&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5rsp2lnssgvc8y36rmw5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5rsp2lnssgvc8y36rmw5.png" alt="Image description" width="800" height="317"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt;Install the Putty software&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm2oon86qjrb8po4hd1uq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm2oon86qjrb8po4hd1uq.png" alt="Image description" width="800" height="552"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.Create a EC2 instances&lt;/strong&gt;&lt;br&gt;
Update the security group inbound rules.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbh8qwfzhaul7j3vauq7r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbh8qwfzhaul7j3vauq7r.png" alt="Image description" width="800" height="238"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.Using puTTygen&lt;/strong&gt;&lt;br&gt;
key pair to convert .perm file to .ppk file&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Create a S3 bucket&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6.&lt;/strong&gt; connect to PuTTy software and create a file called details.txt print the content in echo "helloworld" in &lt;strong&gt;details.txt&lt;/strong&gt;.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;7.&lt;/strong&gt; Create roles in IAM and change the IAM role in instances, then the go to PuTTy and type aws s3 ls, it will show the S3 buckets.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;8.&lt;/strong&gt; We need to add previous details.txt file to s3 .so, we use &lt;strong&gt;aws s3 cp details.txt s3://(bucket name)/&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpx1uqof7q1p1o4c9g4qz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpx1uqof7q1p1o4c9g4qz.png" alt="Image description" width="" height=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;9.&lt;/strong&gt;Go and verify it, In s3 files is uploaded finally.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;10. Cost Management&lt;/strong&gt;&lt;br&gt;
More amount of cost will be used at the time of roles and instances, so we can delete the created things.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Flowchart Diagram :&lt;/strong&gt;&lt;/p&gt;

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

</description>
      <category>cloudcomputing</category>
      <category>puttysoftware</category>
      <category>ec2</category>
      <category>s3</category>
    </item>
    <item>
      <title>Deploying a Static website using AWS (S3+cloudfront)-React App</title>
      <dc:creator>Harinivas. M</dc:creator>
      <pubDate>Thu, 23 Jan 2025 08:52:46 +0000</pubDate>
      <link>https://dev.to/harinivas_m_00360dd83f42/deploying-a-static-website-using-aws-s3cloudfront-react-app-404i</link>
      <guid>https://dev.to/harinivas_m_00360dd83f42/deploying-a-static-website-using-aws-s3cloudfront-react-app-404i</guid>
      <description>&lt;p&gt;&lt;strong&gt;1. Install the react app&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. create the react app&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;i.&lt;/strong&gt;  open the terminal and check the all prerequisites are installed or not, if not installed make sure install it.&lt;br&gt;
&lt;strong&gt;ii.&lt;/strong&gt; check the version of the node.js and npm.&lt;br&gt;
&lt;strong&gt;iii.&lt;/strong&gt; npx create vite@latest&lt;br&gt;
&lt;strong&gt;iv.&lt;/strong&gt; create a project name.&lt;br&gt;
&lt;strong&gt;v.&lt;/strong&gt; then run commands like - cd (project name) -&amp;gt;  npm install -&amp;gt; npm run dev.&lt;br&gt;
&lt;strong&gt;vi.&lt;/strong&gt; finally the normal static website hosted.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;3. Create a S3 bucket in AWS console&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;i.&lt;/strong&gt; then change the permission of static hosting into enable state.&lt;br&gt;
&lt;strong&gt;ii.&lt;/strong&gt; create a bucket policy using policy generator.&lt;br&gt;
&lt;strong&gt;iii.&lt;/strong&gt; add the objects like (files and folders) in S3.&lt;br&gt;
&lt;strong&gt;iv.&lt;/strong&gt; go to properties in last and link will  be shown , click the link to host the file in S3.&lt;/p&gt;

&lt;p&gt;Link for website : &lt;a href="http://node-22.s3-website-us-east-1.amazonaws.com" rel="noopener noreferrer"&gt;http://node-22.s3-website-us-east-1.amazonaws.com&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7i8zob34fdtsee4dnxei.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7i8zob34fdtsee4dnxei.png" alt="Image description" width="800" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Hosting a website in CloudFront&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;i.&lt;/strong&gt; create a distribution&lt;br&gt;
&lt;strong&gt;ii.&lt;/strong&gt; select the origin&lt;br&gt;
&lt;strong&gt;iii.&lt;/strong&gt; select the WAF for the security purpose.&lt;br&gt;
&lt;strong&gt;iv.&lt;/strong&gt; finally the distribution is created.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flyhm628k7jv0ty1yegf5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flyhm628k7jv0ty1yegf5.png" alt="Image description" width="800" height="406"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;v.&lt;/strong&gt; Once the distribution is deployed, we can able to host it.&lt;br&gt;
&lt;strong&gt;vi.&lt;/strong&gt; copy the DNS and paste the DNS in New tab for hosting a website.&lt;br&gt;
&lt;strong&gt;vii.&lt;/strong&gt; Finally the website is hosted successfully.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;5. Cost management&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;More amount of cost will be there for the CloudFront so we should delete the distribution after the final work done.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnz6pdoa84fwd3qf7n2hy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnz6pdoa84fwd3qf7n2hy.png" alt="Image description" width="800" height="306"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flowchart Diagram:&lt;/strong&gt;&lt;/p&gt;

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

</description>
      <category>aws</category>
      <category>s3</category>
      <category>cloudskills</category>
      <category>cloudfront</category>
    </item>
    <item>
      <title>AWS Honeycode</title>
      <dc:creator>Harinivas. M</dc:creator>
      <pubDate>Wed, 22 Jan 2025 17:21:47 +0000</pubDate>
      <link>https://dev.to/harinivas_m_00360dd83f42/aws-honeycode-m2n</link>
      <guid>https://dev.to/harinivas_m_00360dd83f42/aws-honeycode-m2n</guid>
      <description>&lt;p&gt;&lt;strong&gt;1. Service overview&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Service Name : AWS Honeycode&lt;br&gt;
Logo : &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdx3me0byvkfxlvo9wduv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdx3me0byvkfxlvo9wduv.png" alt="Image description" width="225" height="225"&gt;&lt;/a&gt;&lt;br&gt;
Tagline or One-Line Description: Build Web &amp;amp; Mobile Apps Without Writing Code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Key Features&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Top Features:&lt;/strong&gt; &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;No code development.&lt;/li&gt;
&lt;li&gt;Spreadsheet-Like Data Management.&lt;/li&gt;
&lt;li&gt;Automation.&lt;/li&gt;
&lt;li&gt;Multi-Platform Deployment.&lt;/li&gt;
&lt;li&gt;Collaboration.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Technical Specifications:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;AWS services like Amazon S3, which offers 11 nines (99.999999999%) of durability.
&lt;/li&gt;
&lt;li&gt;Honeycode supported integration with AWS services and third-party apps via APIs and Zapier connectors.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;3. Use case&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Real-Life Applications : Project Management&lt;/p&gt;

&lt;p&gt;Project Management :Track tasks, milestones, and deadlines for team projects, allowing teams to stay organized and meet deadlines efficiently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Pricing Model&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing Overview:&lt;/strong&gt; Honeycode follows a tiered pricing model based on the number of users and the usage of app features.&lt;/p&gt;

&lt;p&gt;Free Tier: Includes up to 20 users with limited features, ideal for small teams or personal use.&lt;/p&gt;

&lt;p&gt;Paid Tier: Billed per user, with additional costs for premium features such as advanced automation, integration, and more extensive data storage.&lt;/p&gt;

&lt;p&gt;Add-Ons: Charges for features like external integrations, increased storage, and higher API usage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Comparison with Similar Services&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Competitors or Alternatives: Honeycode stands out for its seamless AWS integration, while competitors like AppSheet, PowerApps, and Airtable offer similar functionality with different focuses.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Benefits and Challenges&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Advantages &amp;amp; Limitations :Honeycode is easy to use and integrates well with AWS but has a learning curve and limited advanced features.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Case study&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GoPro uses Honeycode to streamline workflows and enhance team collaboration.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>awshoneycode</category>
      <category>cloudcomputing</category>
    </item>
  </channel>
</rss>
