<?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: Fortress Abioye </title>
    <description>The latest articles on DEV Community by Fortress Abioye  (@fortlexx).</description>
    <link>https://dev.to/fortlexx</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%2F1331240%2Ff6010d38-9fbe-4c2a-a79d-27050672deb6.jpeg</url>
      <title>DEV Community: Fortress Abioye </title>
      <link>https://dev.to/fortlexx</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fortlexx"/>
    <language>en</language>
    <item>
      <title>That Beginner AWS Project You Can Practice With</title>
      <dc:creator>Fortress Abioye </dc:creator>
      <pubDate>Thu, 30 Jan 2025 13:08:51 +0000</pubDate>
      <link>https://dev.to/aws-builders/that-beginner-aws-project-you-can-practice-with-487f</link>
      <guid>https://dev.to/aws-builders/that-beginner-aws-project-you-can-practice-with-487f</guid>
      <description>&lt;p&gt;In this article, we will implement a highly-available and architecture-focused project on AWS, while adhering to best practices.&lt;br&gt;
This is good for you if you want to build or brush up on your skills and knowledge of AWS, are looking to practice or implement a beginner-level project and understand how AWS services are used and interact with each other.&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%2Faxqclqq373gzjzx2hbd9.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%2Faxqclqq373gzjzx2hbd9.png" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;ARCHITECTURE OVERVIEW&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;This architecture has a presentation layer, an application layer and a database layer. The application layer comprising the application will be hosted on the EC2 instance and will interact with the database layer which is used to host, store and retrieve data. The presentation layer is also hosted on EC2 instances within public subnets. Overall, this architecture covers compute resources, networking and database components as seen in the diagram below:&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%2Fw0tun7uvgzlghhucxvtr.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%2Fw0tun7uvgzlghhucxvtr.png" alt="Image description" width="787" height="876"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's dive straight into implementation:&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;IMPLEMENTATION STEPS&lt;/strong&gt;
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;On the AWS Console, start by creating a VPC. Use the 'VPC and more' option to create other networking components (subnets, route tables, internet and NAT gateway) alongside.&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Create public and private subnets in 2 different Availability Zones, according to our architecture diagram. The image below shows a guide and details to set it up:&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%2Fcf7m2arbgm5ibf30sjzo.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%2Fcf7m2arbgm5ibf30sjzo.png" alt="Image description" width="800" height="876"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This automatically creates the subnets, routes and IG and NAT gateways along with the VPC.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Now we need to configure the Internet Gateway and NAT Gateway.  For the public subnets' route tables, add a route to the Internet Gateway for 0.0.0.0/0 (Internet access).&lt;/li&gt;
&lt;/ol&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%2Ft2rlzhw5fzgyud5tj7jl.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%2Ft2rlzhw5fzgyud5tj7jl.png" alt="Image description" width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For the private subnet route table, add a route to the NAT Gateway for 0.0.0.0/0. This will provide internet access for instances in private subnets without exposing them directly to the public internet.&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%2Fwixh0n8uv801coh1ec04.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%2Fwixh0n8uv801coh1ec04.png" alt="Image description" width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create Security Groups for both the public and private subnets. &lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;In the public subnet security group, allow inbound traffic on port 22 (SSH) for your IP address and the required application ports (e.g., HTTP, HTTPS).&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%2F7fhyqr8tgabmntmr8oo4.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%2F7fhyqr8tgabmntmr8oo4.png" alt="Image description" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the private subnet security group, allow inbound traffic on the required application ports from the public subnets so they can have access.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Launch Auto-Scaling Groups and EC2 Instances.&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;To create a highly available structure, we would start by creating 2 Auto-Scaling Groups (ASGs), one each for public and private subnets and would cover both availability zones.&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%2Fouou3k0044obj47fetkv.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%2Fouou3k0044obj47fetkv.png" alt="Image description" width="800" height="211"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a launch template (which will contain the settings you want your instances in this ASG to all have) if you don't have one.&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%2Frovauexpzqjq1huocnu6.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%2Frovauexpzqjq1huocnu6.png" alt="Image description" width="800" height="497"&gt;&lt;/a&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%2Fury6qr6e7ecr8mh7hy63.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%2Fury6qr6e7ecr8mh7hy63.png" alt="Image description" width="800" height="523"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;After creating the launch template, go back to the ASG to create the first one. Choose the desired template, VPC and select the public subnets we created across both availability zones. Note: You can select more than one subnet/availability zone in an ASG.&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%2Fp9o83d07jf3yxeras5kz.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%2Fp9o83d07jf3yxeras5kz.png" alt="Image description" width="800" height="499"&gt;&lt;/a&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%2F0cdhxyi1m0473bbd9ea0.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%2F0cdhxyi1m0473bbd9ea0.png" alt="Image description" width="800" height="582"&gt;&lt;/a&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%2F46ioxsdhkjjffmq4u6su.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%2F46ioxsdhkjjffmq4u6su.png" alt="Image description" width="800" height="209"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set a desired capacity (the number of instances you desire your ASG to constantly have) and scaling limits (to determine how your ASG can scale). You can add a load balancer with the ASG if needed. Other details are optional and can be left out for this demo.&lt;/li&gt;
&lt;li&gt;Create the second Auto-Scaling Group for 2 private subnets across the 2 availability zones. After creating both, you should have something like this:&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%2F4e6sqa8ovgy0x1a1d6d7.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%2F4e6sqa8ovgy0x1a1d6d7.png" alt="Image description" width="800" height="131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And your instances:&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%2Fkw8nimbveo5lpr6vl5wr.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%2Fkw8nimbveo5lpr6vl5wr.png" alt="Image description" width="800" height="183"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create an RDS Instance in the private subnet&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;On the AWS Console, under RDS, start by creating a subnet group and select the remaining private subnets across both availability zones. The subnet group determines which subnets and IP ranges the database would use. The RDS instance should be placed in private subnets to enhance security and isolate them from the public internet.&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%2Feqcyf0laepwjs9cu1eyt.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%2Feqcyf0laepwjs9cu1eyt.png" alt="Image description" width="800" height="204"&gt;&lt;/a&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%2Frmuykayz5nysvjesslul.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%2Frmuykayz5nysvjesslul.png" alt="Image description" width="800" height="522"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;After the subnet group is created, create the DB and select a suitable database option. It is better to use Standard Create to set configurations according to your environment's requirements.&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%2F1mj345dkxz3i7p8d9dii.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%2F1mj345dkxz3i7p8d9dii.png" alt="Image description" width="800" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Choose an instance configuration and template according to your needs and input username and password credentials.&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%2F8akwmy4jkxo6m485igw2.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%2F8akwmy4jkxo6m485igw2.png" alt="Image description" width="800" height="416"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can choose the 'Do not connect an EC2 compute resource' as that can be done manually from the console, under Instance Actions. It is essential to use the same VPC you used for your EC2, and then select the subnet group you created earlier, which contains the private subnets. We are keeping the database highly secure so do not allow public access.&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%2Fj463i509p9puvho2ewac.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%2Fj463i509p9puvho2ewac.png" alt="Image description" width="800" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For the firewall, choose the security group that allows appropriate access to your database. Your RDS instance should have a security group that allows inbound connections on the database port (e.g., 3306 for MySQL, 5432 for PostgreSQL) from the security group used by your EC2 instances. It also must not be open to the public (0.0.0.0/0). Also, the security group associated with your EC2 instances must allow outbound connections on the database port to the RDS security group.&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%2F7jhdbld6hoiip3x45a84.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%2F7jhdbld6hoiip3x45a84.png" alt="Image description" width="800" height="328"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The architecture is all set and now you can host an application, test and monitor it with ease. &lt;/p&gt;

&lt;p&gt;With this setup, we have ensured security with our public and private subnets, NAT gateway and security groups, high availability with the multiple availability zones, and scalability with our auto-scaling group.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;CONCLUSION&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;We have built a secure, robust and scalable architecture, which is according to best practices and can adapt to changing needs and requirements.&lt;/p&gt;

&lt;p&gt;This article serves as an overview, providing implementation steps according to the architecture above, and this can be tweaked for specific application requirements and security aspects.&lt;/p&gt;

&lt;p&gt;Follow me for more articles like this and connect with me on &lt;a href="https://medium.com/r/?url=https%3A%2F%2Fwww.linkedin.com%2Fin%2Ffortress-abioye%2F" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>awschallenge</category>
      <category>awsrds</category>
      <category>awsproject</category>
    </item>
    <item>
      <title>A Simple Guide to AWS Monitoring Tools</title>
      <dc:creator>Fortress Abioye </dc:creator>
      <pubDate>Wed, 15 Jan 2025 08:59:10 +0000</pubDate>
      <link>https://dev.to/aws-builders/a-simple-guide-to-aws-monitoring-tools-5gj4</link>
      <guid>https://dev.to/aws-builders/a-simple-guide-to-aws-monitoring-tools-5gj4</guid>
      <description>&lt;p&gt;Have you ever wondered about AWS Monitoring? What tools make up this monitoring suite? AWS provides its native monitoring tools that range from the most basic to advanced applications. There is quite an extensive library of monitoring tools for infrastructure and application performance covering health and resource utilization. This article will discuss every significant tool in AWS monitoring and also give examples of their real-world applications.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;1. Amazon CloudWatch:&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;CloudWatch can be said to be the core of AWS monitoring. It is the central monitoring and observability service for AWS. It collects and tracks metrics, logs, and events from your AWS resources and applications. &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%2F24cvwwm8fhwf9fhrf0py.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%2F24cvwwm8fhwf9fhrf0py.png" alt="Image description" width="360" height="251"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features of Amazon CloudWatch:&lt;/strong&gt;&lt;br&gt;
a. Metrics: With metrics, you can observe multiple performance indicators of your resources. This covers CPU utilization, memory usage, disk I/Os, network traffic, and many other factors that provide insights &lt;br&gt;
b. Logs: CloudWatch provides logs for applications, systems, and many AWS services.&lt;br&gt;
c. Events: CloudWatch Events, now known as EventBridge captures events of changes in resources, applications or services. These events can be used for various purposes including being routed to third-party applications for analysis and response. &lt;br&gt;
d. Alarms: This is for creating alarms that notify or even perform actions when certain thresholds or conditions are met with resources, services and applications. &lt;br&gt;
e. Dashboards: To view, analyze, and probe your monitoring data with customizable dashboards.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-World Application&lt;/strong&gt;: If you have a server running on the cloud, CloudWatch can serve you in monitoring performance metrics such as its CPU Usage and memory consumption. You can also set up conditions in Alarms so that when they are met, are either notified or certain actions are taken. E.g. if CPU Utilization is &amp;lt; 20%, stop the EC2 instance. Logs can be used to analyze error messages and potential threats, and a dashboard helps with visualization and easier understanding. &lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;2. AWS CloudTrail&lt;/strong&gt;:
&lt;/h4&gt;

&lt;p&gt;This AWS service helps with audit, compliance and governance. Your users or your applications generate API calls to AWS, and CloudTrail records every action in an audit trail showing these calls. &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%2Fhxdbt67c3c22y08hwglk.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%2Fhxdbt67c3c22y08hwglk.png" alt="Image description" width="450" height="306"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features of AWS CloudTrail:&lt;/strong&gt;&lt;br&gt;
 a. API Call Logging: It logs every detail about API calls made to your AWS account.&lt;br&gt;
 b. Compliance and Auditing: Assists you in understanding compliance-related requirements and performing security investigations by analyzing the history of API call logs.&lt;br&gt;
 c. Governance: Enhances governance through monitoring of illegal user activity and unauthorized access through trails.&lt;br&gt;
d. Integration: CloudTrail provides capabilities to integrate with third-party and other AWS services such as CloudWatch, which enables actions to be taken based on events of API calls.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-World Application&lt;/strong&gt;: Let's say you host an application on AWS, all API calls to your AWS account will be constantly recorded by CloudTrail. This will provide an audit trail of all actions, from changes to security groups to IAM user changes and even the launching of resources.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;3. VPC Flow Logs&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;This captures information associated with the traffic flowing in your associated network interfaces over the IP interface into your VPC.&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%2F98r501nnhw9fha10m038.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%2F98r501nnhw9fha10m038.png" alt="Image description" width="800" height="340"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features of VPC Flow Logs:&lt;/strong&gt;&lt;br&gt;
a. Network Traffic Analytics: It provides useful information for understanding traffic patterns on the network, ascertaining security threats, and troubleshooting connectivity issues.&lt;br&gt;
b. Security Analysis: Monitors for suspicious network activity such as port scanning or DDoS attacks.&lt;br&gt;
c. Integration: VPC flow logs can be integrated with other services and published for further monitoring, observation and analysis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-World Application:&lt;/strong&gt; If you are hosting a web application on AWS using some EC2 servers within your VPC, this service shows you your traffic patterns, helps you see network performance issues, identify bottlenecks and even see potential security threats in your network.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;4. AWS X-Ray&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;This is an application performance monitoring tool that gives you inside depth into an application's performance and behaviour.&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%2Fom8bk65hz6vj75752ajh.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%2Fom8bk65hz6vj75752ajh.png" alt="Image description" width="480" height="258"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features of AWS X-Ray:&lt;/strong&gt;&lt;br&gt;
a. Tracking: Tracks requests through the various components of your application (microservices).&lt;br&gt;
b. Performance Monitoring: It monitors for and detects bottlenecks in your application's internal performance.&lt;br&gt;
c. Debugging and Troubleshooting: It can be used for application error diagnosis and troubleshooting.&lt;br&gt;
d. Integration: As with the other services, you can integrate this with different application frameworks, and services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-World Application:&lt;/strong&gt; If you have an application running on AWS, especially one that is based on microservices, X-Ray helps you understand your architecture, interactions with other services and performance issues. For example, if a request to your application is taking too long, X-Ray can identify the source or service causing it.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;5. AWS Config&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;As the name suggests, Config constantly monitors all the configurations of your AWS resources and automatically evaluates them for compliance. It also assesses the relationship between your AWS resources and takes account of changes over time. &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%2Fguu0p7c97fwm6xvza7r0.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%2Fguu0p7c97fwm6xvza7r0.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features of AWS Config:&lt;/strong&gt;&lt;br&gt;
a. Configuration Tracking: It registers the configuration of your AWS resources continuously.&lt;br&gt;
b. Compliance Assessment: It assesses your resources for what could be deviations from your desired configurations and best practices. &lt;br&gt;
c. Security Audit: It monitors changes to your AWS resources over time and helps in identifying security vulnerabilities.&lt;br&gt;
d. Remediation: It allows you to set up manual or automated remediation actions when uncompliant configurations are detected.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-World Application:&lt;/strong&gt; If you or your company has strict security rules for resources in AWS, e.g that no assigned security group should contain "Allow all" inbound rules, if AWS Config detects that a security group contains this rule, it can alert or even immediately remediate it based on what you desire.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;CONCLUSION&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;We have looked at the suite of monitoring tools AWS provides, and these can be used for a wide range of applications way more than the few we have discussed here. The effective use of these AWS monitoring tools will give you a lot of insight into how your AWS resources and applications perform as well as their health status, and with this, you can be proactive in anticipating and resolving issues and improving overall efficiency and performance.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudwatch</category>
      <category>cloudtrail</category>
      <category>awsconfig</category>
    </item>
  </channel>
</rss>
