<?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: Muhammad Awais</title>
    <description>The latest articles on DEV Community by Muhammad Awais (@muhammad_awais_emaan).</description>
    <link>https://dev.to/muhammad_awais_emaan</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4189955%2Fd4dfe77f-ab60-474f-b281-561ff583a981.jpg</url>
      <title>DEV Community: Muhammad Awais</title>
      <link>https://dev.to/muhammad_awais_emaan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/muhammad_awais_emaan"/>
    <language>en</language>
    <item>
      <title>Building a Secure AWS Infrastructure</title>
      <dc:creator>Muhammad Awais</dc:creator>
      <pubDate>Sat, 17 Oct 2026 06:44:54 +0000</pubDate>
      <link>https://dev.to/muhammad_awais_emaan/building-a-secure-aws-infrastructure-526b</link>
      <guid>https://dev.to/muhammad_awais_emaan/building-a-secure-aws-infrastructure-526b</guid>
      <description>&lt;p&gt;Building a Secure AWS Infrastructure with Two VPCs, EC2, IAM, and S3&lt;/p&gt;

&lt;p&gt;Introduction&lt;/p&gt;

&lt;p&gt;Cloud computing is an essential part of modern application development. In this project, I worked on an AWS infrastructure using two VPCs, public and private subnets, an EC2 instance, IAM-based authentication, and Amazon S3 for data storage.&lt;/p&gt;

&lt;p&gt;The goal was to understand how AWS networking, computing, authentication, and storage services work together.&lt;/p&gt;

&lt;p&gt;Architecture Overview&lt;/p&gt;

&lt;p&gt;The infrastructure consists of two VPCs with separate subnet configurations and AWS services for application processing and data storage.&lt;/p&gt;

&lt;p&gt;The main services used in this project are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Amazon VPC: Provides isolated virtual networks.&lt;/li&gt;
&lt;li&gt;Public and Private Subnets:** Organize network resources based on access requirements.&lt;/li&gt;
&lt;li&gt;Amazon EC2: Runs the application server.&lt;/li&gt;
&lt;li&gt;AWS IAM: Manages access permissions and authentication.&lt;/li&gt;
&lt;li&gt;Amazon S3:Stores application data.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Configuring Two VPCs&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I created two Virtual Private Clouds (VPCs) to organize resources into separate virtual networks. Each VPC has its own IP address range and subnet configuration.&lt;/p&gt;

&lt;p&gt;This helped me understand network isolation and the organization of cloud resources.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Creating Public and Private Subnets&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I used public and private subnets to separate resources according to their connectivity requirements.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Public Subnet:Supports resources requiring controlled internet access, with appropriate routing and security configurations.&lt;/li&gt;
&lt;li&gt;Private Subnet: Provides a network environment for resources that should not be directly accessible from the public internet.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This separation improves network organization and helps apply security controls.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Deploying an EC2 Instance&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Amazon EC2 provided the computing environment for the application server.&lt;/p&gt;

&lt;p&gt;The instance was responsible for processing requests and interacting with AWS storage services. Its connectivity depended on the subnet configuration, routing, and security rules.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Integrating Amazon S3&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Amazon S3 was used for storing application data and files.&lt;/p&gt;

&lt;p&gt;The application server can upload or retrieve objects from an S3 bucket when it has the appropriate permissions. This separates application processing from data storage.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Implementing IAM-Based Authentication&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;AWS Identity and Access Management (IAM) controls which AWS resources an application can access.&lt;/p&gt;

&lt;p&gt;For an EC2 application accessing S3, an attached IAM role is generally recommended because it provides temporary credentials without requiring long-term access keys to be stored on the server.&lt;/p&gt;

&lt;p&gt;The permissions should follow the principle of least privilege, allowing only the required S3 operations.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;AWS Infrastructure Architecture Diagram&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft6jqxol2fnhkyrwzzbvp.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft6jqxol2fnhkyrwzzbvp.png" alt=" " width="800" height="533"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Figure 1: AWS infrastructure showing two VPCs, public and private subnets, EC2, IAM-based authentication, and Amazon S3 data storage.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Understanding the Data Flow&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The main application workflow is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A client sends a request to the EC2 application server.&lt;/li&gt;
&lt;li&gt;The application processes the request.&lt;/li&gt;
&lt;li&gt;EC2 uses its IAM role to obtain authorized access to S3.&lt;/li&gt;
&lt;li&gt;The application uploads data to or retrieves data from the S3 bucket.&lt;/li&gt;
&lt;li&gt;The application returns the appropriate response to the client.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If the two VPCs communicate privately, the required connectivity must be configured. VPC Peering is one option, requiring appropriate routes and security rules.&lt;/p&gt;

&lt;p&gt;Amazon S3 is a regional AWS service rather than a resource inside a VPC subnet. An S3 VPC endpoint can provide private connectivity to S3 when configured appropriately.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Challenges and Learning Outcomes&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This project helped me understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;VPC and subnet configuration.&lt;/li&gt;
&lt;li&gt;Public and private network access.&lt;/li&gt;
&lt;li&gt;EC2 instance deployment.&lt;/li&gt;
&lt;li&gt;IAM roles and permissions.&lt;/li&gt;
&lt;li&gt;S3 storage integration.&lt;/li&gt;
&lt;li&gt;Network connectivity and cloud security.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It also improved my understanding of how individual AWS services can work together in a cloud infrastructure.&lt;/p&gt;

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

&lt;p&gt;Building this AWS infrastructure was a valuable learning experience. I gained practical knowledge of cloud networking, compute services, identity and access management, and object storage.&lt;/p&gt;

&lt;p&gt;This project strengthened my understanding of how to design cloud infrastructure while considering connectivity, access control, and data security.&lt;/p&gt;

&lt;h1&gt;
  
  
  AWS #CloudComputing #AmazonWebServices #DevOps #CloudSecurity
&lt;/h1&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>infrastructure</category>
      <category>security</category>
    </item>
  </channel>
</rss>
