<?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: Okoye Genevieve</title>
    <description>The latest articles on DEV Community by Okoye Genevieve (@_eve_).</description>
    <link>https://dev.to/_eve_</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%2F3196175%2F1304d831-e4f2-495c-b030-2df93aa92dea.jpg</url>
      <title>DEV Community: Okoye Genevieve</title>
      <link>https://dev.to/_eve_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/_eve_"/>
    <language>en</language>
    <item>
      <title>AWS S3 Essentials: Real-World Training on Buckets, Hosting, and Snow Family</title>
      <dc:creator>Okoye Genevieve</dc:creator>
      <pubDate>Sun, 03 Aug 2025 10:37:55 +0000</pubDate>
      <link>https://dev.to/_eve_/aws-s3-essentials-real-world-training-on-buckets-hosting-and-snow-family-68l</link>
      <guid>https://dev.to/_eve_/aws-s3-essentials-real-world-training-on-buckets-hosting-and-snow-family-68l</guid>
      <description>&lt;h2&gt;
  
  
  📘 Introduction: Why Learn Amazon S3?
&lt;/h2&gt;

&lt;p&gt;Amazon S3 (Simple Storage Service) is more than just a place to store files in the cloud — it’s a powerful, scalable, and secure backbone for countless web apps, backups, data pipelines, and even static websites. Whether you're just starting your cloud journey or building hands-on AWS skills, understanding S3 is foundational.&lt;/p&gt;

&lt;p&gt;In this training, I went beyond theory and dove into real-world scenarios that demonstrate how S3 works in practice. From creating and securing buckets to hosting websites and replicating data across regions, each session was designed to build practical knowledge through step-by-step labs and relatable examples.&lt;/p&gt;

&lt;p&gt;This post is a full recap of what I learned, including key features like versioning, encryption, storage classes, the AWS Snow Family, and more. If you’re looking for a beginner-friendly breakdown with practical context, you’re in the right place.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical Scenario: Hosting a Global NGO Website Using Amazon S3
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt;&lt;br&gt;
Imagine you're helping a global NGO launch a simple, low-cost website that people can visit from anywhere in the world. The site only uses static files like HTML, CSS, and images. Amazon S3 is a great fit because it’s cheap, fast, and scalable.&lt;br&gt;
(Beginners guide)&lt;br&gt;
&lt;strong&gt;Step 1:&lt;/strong&gt; Create an S3 Bucket&lt;br&gt;
• Open the AWS Console and go to the S3 service&lt;br&gt;
• Click “Create bucket”&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%2Fel8o4hmuewhpkwyfrju3.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%2Fel8o4hmuewhpkwyfrju3.png" alt=" " width="800" height="366"&gt;&lt;/a&gt;&lt;br&gt;
• Give it a unique name like global-ngo-website&lt;br&gt;
• Choose a region close to your users (e.g., US-East-1)&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%2Fiwf7c18n9tn0uteuvrra.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%2Fiwf7c18n9tn0uteuvrra.png" alt=" " width="800" height="366"&gt;&lt;/a&gt;&lt;br&gt;
-Enable versioning :Although I enabled versioning during the initial bucket creation—rather than navigating through the detailed “Properties” tab—the purpose remains the same: to safeguard my data. S3 Versioning is a crucial feature that ensures every change to an object is preserved, not overwritten. This means if I ever upload a new index.html file with the same name, the previous version is still securely stored and can be retrieved, restored, or deleted at any time.&lt;/p&gt;

&lt;p&gt;In real-world scenarios, versioning acts like a built-in backup system—protecting against accidental deletions, overwrites, or even malicious changes. For a website or project where content accuracy matters, this feature adds an essential layer of safety and traceability.&lt;/p&gt;

&lt;p&gt;-Unblock all public access &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%2F0i8tszp2m8d2lis46gkz.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%2F0i8tszp2m8d2lis46gkz.png" alt=" " width="800" height="366"&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%2Fp0rip2ajvjgri8idomjq.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%2Fp0rip2ajvjgri8idomjq.png" alt=" " width="800" height="366"&gt;&lt;/a&gt;&lt;br&gt;
• Leave other settings as default and click “Create bucket”&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%2F3shccazid5gv7031fluh.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%2F3shccazid5gv7031fluh.png" alt=" " width="800" height="366"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Step 2:&lt;/strong&gt; Upload Your Website Files, you do not need to worry about the code all you need to do is to generate it with ChatGPT,Gemini or any other AI.Then paste and save it via VScode(more info will be on the diragrams)&lt;br&gt;
• Upload two basic files:&lt;br&gt;
o   index.html: The main homepage&lt;br&gt;
o   error.html: A page shown if someone visits the wrong URL&lt;br&gt;
• Click your new bucket → Click “Upload” → Add the files → Click “Upload”&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%2Fpgsk9yadf8hlvg9dl474.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%2Fpgsk9yadf8hlvg9dl474.png" alt=" " width="800" height="366"&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%2F3ms5502wyvk15a0743ba.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%2F3ms5502wyvk15a0743ba.png" alt=" " width="800" height="366"&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%2Fbjglzeh34w4n79s31hu0.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%2Fbjglzeh34w4n79s31hu0.png" alt=" " width="800" height="429"&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%2Fsa6j6iyzp6273z1ab9k7.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%2Fsa6j6iyzp6273z1ab9k7.png" alt=" " width="800" height="366"&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%2Fhxlq4qndl9si5wdyb93z.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%2Fhxlq4qndl9si5wdyb93z.png" alt=" " width="800" height="366"&gt;&lt;/a&gt;&lt;br&gt;
Step 3: Set Up Static Website Hosting&lt;br&gt;
• Go to the “Properties” tab of your bucket&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%2F9be4u3t8bzw23dknyos7.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%2F9be4u3t8bzw23dknyos7.png" alt=" " width="800" height="187"&gt;&lt;/a&gt;&lt;br&gt;
• Scroll to “Static website hosting” → Click “Edit” → Enable it&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%2Fw152s0vbfri509eik6py.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%2Fw152s0vbfri509eik6py.png" alt=" " width="800" height="366"&gt;&lt;/a&gt;&lt;br&gt;
• For Index Document, enter: index.html (the name of your main page)&lt;br&gt;
• For Error Document, enter: error.html (the name of your error page)&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%2Fur6yhrjusr6cfeykfdcx.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%2Fur6yhrjusr6cfeykfdcx.png" alt=" " width="800" height="366"&gt;&lt;/a&gt;&lt;br&gt;
→ Save changes&lt;br&gt;
lets check if we can now access our file on our browser, copy the url and paste it on your browser.&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%2Fp7fjd6rcxdkx7absfetc.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%2Fp7fjd6rcxdkx7absfetc.png" alt=" " width="800" height="366"&gt;&lt;/a&gt;&lt;br&gt;
oops! now lets go and configure the permissions proper .&lt;br&gt;
**Step 4: **Allow Public Access to Website Files&lt;br&gt;
• Go to “Permissions” → Click “Edit” under “Bucket Policy”&lt;br&gt;
• Paste this policy (replace your-bucket-name with yours):&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
  "Version": "2012-10-17",&lt;br&gt;
  "Statement": [&lt;br&gt;
    {&lt;br&gt;
      "Sid": "AllowPublicRead",&lt;br&gt;
      "Effect": "Allow",&lt;br&gt;
      "Principal": "&lt;em&gt;",&lt;br&gt;
      "Action": "s3:GetObject",&lt;br&gt;
      "Resource": "arn:aws:s3:::your-bucket-name/&lt;/em&gt;"&lt;br&gt;
    }&lt;br&gt;
  ]&lt;br&gt;
}&lt;br&gt;
• Save the policy&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%2F1cidjcvi3cooxtslwehg.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%2F1cidjcvi3cooxtslwehg.png" alt=" " width="800" height="366"&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%2F2xhomdfoy0aehoag5dfa.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%2F2xhomdfoy0aehoag5dfa.png" alt=" " width="800" height="366"&gt;&lt;/a&gt;&lt;br&gt;
now lets refresh our page and retry&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%2Fsy5vuhuywu77vd50ssuh.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%2Fsy5vuhuywu77vd50ssuh.png" alt=" " width="800" height="413"&gt;&lt;/a&gt;&lt;br&gt;
great!&lt;br&gt;
now make a slight mistake on our bucket name will bring up our error page &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%2Fyd6au588y1fwxctvta8n.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%2Fyd6au588y1fwxctvta8n.png" alt=" " width="800" height="409"&gt;&lt;/a&gt;&lt;br&gt;
Step 5: Assign Different Storage Classes&lt;br&gt;
•  Click on your bucket name (e.g. mybucketwife)&lt;br&gt;
•  Go to the Objects tab&lt;br&gt;
You’ll see the list of uploaded files like index.html, image.png, report.pdf, etc.&lt;br&gt;
•  Select a file you want to change&lt;br&gt;
• Click the checkbox next to the file (e.g. report.pdf)&lt;br&gt;
•  Click on “Actions” (or right-click)&lt;br&gt;
• Choose “Change storage class”&lt;br&gt;
•  Choose the new class&lt;br&gt;
• For example:&lt;br&gt;
o   Standard (keep it like that for homepage files)&lt;br&gt;
o   Standard - Infrequent Access&lt;br&gt;
o   Glacier (for archive)&lt;br&gt;
•  Click Save/Apply&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%2F5ndpiikvoaar40b10cuv.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%2F5ndpiikvoaar40b10cuv.png" alt=" " width="800" height="366"&gt;&lt;/a&gt;&lt;br&gt;
_And with that concludes this session !&lt;br&gt;
The next project on s3 will be on replication and IAM !&lt;br&gt;
_&lt;/p&gt;

&lt;h1&gt;
  
  
  make sure to like and follow for more contents like this and also remember to delete your resources to avoid charges!
&lt;/h1&gt;

</description>
      <category>s3</category>
      <category>staticwebsite</category>
      <category>iam</category>
      <category>awsproject</category>
    </item>
    <item>
      <title>What Comes After a VPC? Routing, Firewalls, and Security Rules in AWS</title>
      <dc:creator>Okoye Genevieve</dc:creator>
      <pubDate>Thu, 31 Jul 2025 21:46:10 +0000</pubDate>
      <link>https://dev.to/_eve_/what-comes-after-a-vpc-routing-firewalls-and-security-rules-in-aws-462e</link>
      <guid>https://dev.to/_eve_/what-comes-after-a-vpc-routing-firewalls-and-security-rules-in-aws-462e</guid>
      <description>&lt;p&gt;⚠️ Before You Dive In...&lt;/p&gt;

&lt;p&gt;This post is a continuation of my AWS networking journey. If you're new to VPCs, subnets, and internet gateways, I highly recommend checking out my previous post — “Mastering AWS Networking: Building My First VPC!”&lt;/p&gt;

&lt;p&gt;In that post, I walked through the foundational steps of creating a Virtual Private Cloud (VPC), setting up subnets, and attaching an internet gateway.&lt;/p&gt;

&lt;p&gt;This current guide builds on those concepts and focuses on configuring route tables, security groups, and network ACLs to secure and control traffic flow within your network.&lt;/p&gt;

&lt;p&gt;So if you're just starting out, go through that first — it’ll make this guide much easier to follow and more meaningful!&lt;/p&gt;

&lt;h2&gt;
  
  
  🧭 1. Create and Associate a Route Table
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What is a route table : A route table acts like a traffic controller for your network. It is a set of rules, or routes, that determine where network traffic from a subnet or gateway is directed. It lists the routes to specific network destinations and contains information about the network topology immediately around it.&lt;/strong&gt;&lt;br&gt;
✅ Step 1: Navigate to Route Tables&lt;br&gt;
In the VPC Dashboard, select “Route Tables” from the left-hand menu.&lt;br&gt;
--Click “Create route table.”&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%2Fyq7cmtsmnv2lf72vp53n.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%2Fyq7cmtsmnv2lf72vp53n.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
✅ Step 2: Set Route Table Details&lt;br&gt;
--Name your route table (e.g., PublicRouteTable).&lt;br&gt;
--Select the VPC you previously created.&lt;br&gt;
--Click “Create route table.”&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%2Fr6ywf2v2495yfcdvgr9s.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%2Fr6ywf2v2495yfcdvgr9s.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
✅ Step 3: Edit Routes to Add Internet Gateway&lt;br&gt;
--Select your newly created route table.&lt;br&gt;
--Go to the “Routes” tab and click “Edit routes.”&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%2Fpum9w8ojqc5br40smc81.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%2Fpum9w8ojqc5br40smc81.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
--Click “Add route.”&lt;br&gt;
--Destination: 0.0.0.0/0&lt;br&gt;
--Target: Select your Internet Gateway (e.g., igw-xxxxxxxx)&lt;br&gt;
--Click “Save changes.”&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%2F9qamuy5exn5efihsy5qs.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%2F9qamuy5exn5efihsy5qs.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
✅ Step 4: Associate with Subnet&lt;br&gt;
--Go to the “Subnet associations” tab.&lt;br&gt;
--Click “Edit subnet associations.”&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%2Fdzn66hn72fy7fxsdylt0.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%2Fdzn66hn72fy7fxsdylt0.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
--Select the subnet you want to make public.&lt;br&gt;
--Click “Save associations.”&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%2Fygdgd9tsmorr9a9dazzj.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%2Fygdgd9tsmorr9a9dazzj.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;✅ Your subnet is now public and can access the internet!&lt;/p&gt;

&lt;h2&gt;
  
  
  🔐 2. Configure a Security Group
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A security group acts as a virtual firewall for your Amazon EC2 instances, controlling inbound and outbound traffic. Its main advantage is that it provides a powerful and easy-to-manage layer of security, allowing you to define granular rules to filter traffic at the instance level.&lt;/strong&gt;&lt;br&gt;
✅ Step 1: Navigate to Security Groups&lt;br&gt;
--Still in the VPC Dashboard, click “Security Groups.”&lt;br&gt;
--Click “Create security group.”&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%2F5hvjeq4bt55nvx8ld90i.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%2F5hvjeq4bt55nvx8ld90i.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
✅ Step 3: Configure Inbound Rules&lt;br&gt;
--Click “Add Rule.”&lt;br&gt;
--Type: HTTP&lt;br&gt;
--Protocol: TCP&lt;br&gt;
--Port: 80&lt;br&gt;
--Source: Anywhere (0.0.0.0/0)&lt;br&gt;
--(Optional) Add another rule for SSH (port 22) if you want SSH access.&lt;br&gt;
--Then click on create&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%2F24ig0lvzmwq069xbpna4.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%2F24ig0lvzmwq069xbpna4.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔒 3. Set Up a Network ACL (Optional Advanced Step)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A Network Access Control List (Network ACL) is an optional layer of security for your VPC that acts as a firewall for controlling traffic in and out of one or more subnets. Its advantage is that it provides an additional, stateless layer of security at the subnet level, allowing you to define a broader set of rules for traffic entering or leaving a subnet, which complements the instance-level security provided by security groups.&lt;/strong&gt;&lt;br&gt;
✅ Step 1: Navigate to Network ACLs&lt;br&gt;
--On the VPC dashboard, click “Network ACLs.”&lt;br&gt;
--Click “Create network ACL.”&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%2F9bsqkfgwb6ouok3pca6n.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%2F9bsqkfgwb6ouok3pca6n.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
✅ Step 2: Configure the ACL&lt;br&gt;
--Name your ACL (e.g., PublicSubnetACL).&lt;br&gt;
--Select your VPC.&lt;br&gt;
--Click “Create.”&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%2Fyvbbgc3cgjsiyhgkl2a9.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%2Fyvbbgc3cgjsiyhgkl2a9.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
✅ Step 3: Add Inbound Rules&lt;br&gt;
--Select your ACL and go to “Inbound rules.”&lt;br&gt;
--Click “Edit 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%2F817t99joyd56bfontdwi.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%2F817t99joyd56bfontdwi.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
--Add rule:&lt;br&gt;
--Rule #: 100&lt;br&gt;
--Type: HTTP&lt;br&gt;
--Protocol: TCP&lt;br&gt;
--Port Range: 80&lt;br&gt;
--Source: 0.0.0.0/0&lt;br&gt;
--Allow/Deny: Allow&lt;br&gt;
--Repeat as needed (e.g., SSH on port 22).&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%2Fphwvxjqqzl56s6vfyfq9.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%2Fphwvxjqqzl56s6vfyfq9.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
"I challenge you to edit your inbound rule "&lt;/p&gt;

&lt;p&gt;✅ Step 5: Associate with Subnet&lt;br&gt;
--Go to “Subnet associations”.&lt;br&gt;
--Click “Edit subnet associations.”&lt;br&gt;
--Select your subnet.&lt;br&gt;
--Save.&lt;br&gt;
✅ Now your subnet is protected by both a security group and a network ACL.&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%2F473qoxnp9refzxpl3iyo.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%2F473qoxnp9refzxpl3iyo.png" alt=" " width="800" height="384"&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%2Fd55ju60xw7267doh93e4.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%2Fd55ju60xw7267doh93e4.png" alt=" " width="800" height="384"&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%2F9v2xoi2r35dh96gu1rno.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%2F9v2xoi2r35dh96gu1rno.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
✅ Wrapping Up&lt;/p&gt;

&lt;p&gt;And that’s it! You've now taken your VPC setup to the next level by configuring route tables, security groups, and network ACLs — key tools for managing and securing traffic in your AWS network.&lt;/p&gt;

&lt;p&gt;These components may seem small on their own, but together, they play a critical role in keeping your infrastructure functional and secure.&lt;/p&gt;

&lt;p&gt;🔒 Up next in the series: Creating a Private Subnet — where we’ll explore how to isolate resources, use NAT gateways, and build a more production-ready network.&lt;/p&gt;

&lt;p&gt;Stay tuned, and thanks for following along on this journey through AWS networking!&lt;/p&gt;

</description>
      <category>networking</category>
      <category>aws</category>
      <category>cloud</category>
      <category>firewall</category>
    </item>
    <item>
      <title>Step-by-Step: Creating a VPC, Subnet &amp; Gateway on AWS (Beginner-Friendly)</title>
      <dc:creator>Okoye Genevieve</dc:creator>
      <pubDate>Thu, 31 Jul 2025 20:34:35 +0000</pubDate>
      <link>https://dev.to/_eve_/step-by-step-creating-a-vpc-subnet-gateway-on-aws-beginner-friendly-2kkh</link>
      <guid>https://dev.to/_eve_/step-by-step-creating-a-vpc-subnet-gateway-on-aws-beginner-friendly-2kkh</guid>
      <description>&lt;p&gt;&lt;strong&gt;Why AWS VPC?&lt;/strong&gt;&lt;br&gt;
Amazon Virtual Private Cloud (VPC) is a service that allows you to provision a logically isolated section of the AWS Cloud where you can launch AWS resources in a virtual network. VPCs are essential for creating a secure and organized structure for your infrastructure in the Cloud, helping to reduce the risk of losing control over your resources. &lt;/p&gt;

&lt;p&gt;I used Amazon VPC in this project to create subnets, assign IP addresses and CIDR blocks, enable auto-assign for public IPs, and connect my VPC to the internet using an Internet Gateway. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here's how I set up my VPC and related resources in AWS:&lt;/strong&gt;&lt;br&gt;
*&lt;em&gt;First the VPC *&lt;/em&gt;&lt;br&gt;
✅ Step 1: Search for VPC&lt;br&gt;
Head to the AWS Management Console.&lt;/p&gt;

&lt;p&gt;In the search bar at the top, type “VPC”.&lt;/p&gt;

&lt;p&gt;From the dropdown or results page, click on the VPC Dashboard (refer to the diagram above for visual aid).&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%2F9b9wp6xetwk1z3qkcyp1.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%2F9b9wp6xetwk1z3qkcyp1.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
✅ Step 2: Start the VPC Creation Process&lt;br&gt;
On the VPC Dashboard, click the “Create VPC” button.&lt;/p&gt;

&lt;p&gt;If you're unsure at any point, feel free to refer back to the diagrams provided.&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%2F6kierdfu3z9pn89awrg8.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%2F6kierdfu3z9pn89awrg8.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
✅ Step 3: Configure VPC Settings&lt;br&gt;
Under Resource to create, select “VPC only”.&lt;/p&gt;

&lt;p&gt;Enter a name for your VPC (e.g., MyFirstVPC).&lt;/p&gt;

&lt;p&gt;Under IPv4 CIDR block, choose “Manual input”.&lt;/p&gt;

&lt;p&gt;Type in your desired CIDR block (e.g., 10.0.0.0/16).&lt;/p&gt;

&lt;p&gt;Leave all other settings as default (you can add tags if you like for better organization).&lt;/p&gt;

&lt;p&gt;Once everything looks good, click “Create VPC”.&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%2Fawd1s9p09jbd1tzktw9l.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%2Fawd1s9p09jbd1tzktw9l.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
✅ You’ve successfully created a VPC!&lt;/p&gt;

&lt;h2&gt;
  
  
  Next, let’s move on to creating a Subnet.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Subnets are subdivisions of a VPC network.  They allow you to segment your VPC into smaller, manageable networks. Note that there might already be default subnets in your account, one for every Availability Zone in your chosen region.&lt;/strong&gt;&lt;br&gt;
✅ Step 1: Navigate to the Subnet Section&lt;br&gt;
--In the VPC Dashboard, scroll down the left-hand menu and click on “Subnets.”&lt;/p&gt;

&lt;p&gt;--Then click the “Create Subnet” button at the top right.&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%2Fkvmgxy669evsjubg0z09.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%2Fkvmgxy669evsjubg0z09.png" alt=" " width="800" height="384"&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%2Fd5dwbm1b19xtlkgv5r7f.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%2Fd5dwbm1b19xtlkgv5r7f.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
✅ Step 2: Configure Subnet Settings&lt;br&gt;
Name tag: Give your subnet a descriptive name (e.g., PublicSubnet1).&lt;/p&gt;

&lt;p&gt;VPC ID: Choose the VPC you just created from the dropdown.&lt;/p&gt;

&lt;p&gt;Availability Zone: Select one (e.g., us-east-1a) or leave it to be auto-assigned.&lt;/p&gt;

&lt;p&gt;IPv4 CIDR block: Enter a smaller subnet of your VPC range (e.g., if your VPC CIDR is 10.0.0.0/16, a subnet could be 10.0.1.0/24).&lt;/p&gt;

&lt;p&gt;⚠️ Tip: Make sure your subnet CIDR block fits within your VPC CIDR range.&lt;/p&gt;

&lt;p&gt;Leave the other options at their default unless you have specific requirements.&lt;/p&gt;

&lt;p&gt;Click “Create Subnet.”&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%2F5p7s3xuigjlipx0xq8a6.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%2F5p7s3xuigjlipx0xq8a6.png" alt=" " width="800" height="384"&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%2Fq4fvy0jedfi90qbfqtmk.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%2Fq4fvy0jedfi90qbfqtmk.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🌍 Creating an Internet Gateway
&lt;/h2&gt;

&lt;p&gt;Internet Gateways are essential for making applications available on the internet. By attaching an internet gateway, your instances can access the internet and be accessible to external users. &lt;br&gt;
✅ Step 1: Go to Internet Gateways&lt;br&gt;
--In the VPC Dashboard, click “Internet Gateways” on the left menu.&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%2F30fawzg527lamvk32lj6.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%2F30fawzg527lamvk32lj6.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
--Click the “Create internet gateway” button.&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%2Fun5u3v8bhd8p1azvtfl2.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%2Fun5u3v8bhd8p1azvtfl2.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
✅ Step 2: Set Up the Gateway&lt;br&gt;
--Give your gateway a name tag (e.g., MyIGW).&lt;/p&gt;

&lt;p&gt;--Click “Create internet gateway.”&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%2Fa3p5bkwnv7mai382v60o.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%2Fa3p5bkwnv7mai382v60o.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;✅ Step 3: Attach Gateway to Your VPC&lt;br&gt;
--After creating the gateway, select it from the list.&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%2F6iilnqxli3ufxyitg5ew.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%2F6iilnqxli3ufxyitg5ew.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
--Click “Actions” &amp;gt; “Attach to 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%2Fvq27ovw0gpa6di0x8h4n.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%2Fvq27ovw0gpa6di0x8h4n.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;--Choose your VPC and confirm.&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%2Fa53kqjbemwfoj74oyebi.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%2Fa53kqjbemwfoj74oyebi.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;✅ Now your VPC has a subnet and an internet gateway attached.&lt;br&gt;
You’re almost ready to make your subnet public by updating the route table, but that will be on my next post so stay tuned!&lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

</description>
      <category>networking</category>
      <category>cloudsecurity</category>
      <category>aws</category>
      <category>vpc</category>
    </item>
    <item>
      <title>Mastering AWS Networking: My Journey Begins!</title>
      <dc:creator>Okoye Genevieve</dc:creator>
      <pubDate>Thu, 31 Jul 2025 13:24:49 +0000</pubDate>
      <link>https://dev.to/_eve_/mastering-aws-networking-my-journey-begins-1l3j</link>
      <guid>https://dev.to/_eve_/mastering-aws-networking-my-journey-begins-1l3j</guid>
      <description>&lt;p&gt;I'm incredibly excited to announce that I'm diving deep into the world of AWS Networking, and I'm kicking off an "AWS Networking Series" to share my learning journey with all of you! My goal is to build a solid understanding of cloud networking architecture. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Cloud Networking?&lt;/strong&gt;&lt;br&gt;
Traditionally, businesses had to build their own data centers, hire network administrators, and manage all their servers. Cloud networking has revolutionized this by offering elasticity – meaning you only pay for the resources you use – and by shifting the management to cloud network engineers. This shift makes cloud networking a vital skill that I'm eager to master. &lt;/p&gt;

&lt;p&gt;What I'm Learning&lt;br&gt;
In this hands-on series, I'll be exploring key networking concepts within the cloud. By the end of 9 projects, I aim to have a comprehensive understanding of networking. &lt;/p&gt;

&lt;p&gt;So, what exactly are *&lt;em&gt;networks? *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Simply put, computer networks are systems that allow multiple computers to communicate. They are a collection of devices that can exchange data packets, with IP addresses guiding these packets to their destinations. &lt;/p&gt;

&lt;p&gt;*&lt;em&gt;And what about a VPC? *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;A Virtual Private Cloud (VPC) is essentially a private, isolated section of a network that an organization owns within a cloud provider's infrastructure. It's crucial because it allows organizations to control and filter what enters and exits their network, and precisely manage access for devices, services, or people. &lt;/p&gt;

&lt;p&gt;My Commitment&lt;br&gt;
I'm dedicating 10 hours every week to this networking series, and I'll be holding myself accountable by consistently reminding myself of my goals.  My reward? Achieving these goals and more! &lt;/p&gt;

&lt;p&gt;I'm particularly excited to share my progress as I build a VPC with you! &lt;/p&gt;

&lt;p&gt;Stay tuned for more updates as I delve deeper into AWS networking. Let's learn together!&lt;/p&gt;

</description>
      <category>cloudcomputing</category>
      <category>networking</category>
      <category>vpc</category>
      <category>aws</category>
    </item>
    <item>
      <title>Practical AWS Solutions: Overcoming Real-World Infrastructure Challenges (EC2, ELB, ASG)</title>
      <dc:creator>Okoye Genevieve</dc:creator>
      <pubDate>Thu, 17 Jul 2025 09:41:54 +0000</pubDate>
      <link>https://dev.to/_eve_/how-i-solved-real-aws-scenarios-with-a-little-sweat-and-focus-2mnc</link>
      <guid>https://dev.to/_eve_/how-i-solved-real-aws-scenarios-with-a-little-sweat-and-focus-2mnc</guid>
      <description>&lt;p&gt;introduction:&lt;/p&gt;

&lt;p&gt;Greetings, fellow cloud enthusiasts!&lt;/p&gt;

&lt;p&gt;Over the past few days, I had the opportunity to tackle several real-world cloud infrastructure scenarios within a simulated environment at TechNova. What initially appeared to be straightforward tasks often revealed valuable complexities during implementation.&lt;/p&gt;

&lt;p&gt;This post details my approach to solving these challenges using core AWS services, including EC2 instances, Load Balancers, and Auto Scaling Groups (ASGs). My aim is to share practical insights and best practices gained from navigating these scenarios, which I believe will be particularly beneficial for those advancing in their cloud engineering journey.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;🏢 Scenario 1: Deploying a Load Balancer for a Company Web Application&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
The Task:&lt;br&gt;
TechNova recently launched a product website hosted on EC2. The objective was to enhance its availability and fault tolerance by deploying an Application Load Balancer (ALB) to distribute incoming traffic across two EC2 instances situated in distinct Availability Zones.&lt;/p&gt;

&lt;p&gt;Key Learnings:&lt;/p&gt;

&lt;p&gt;While the ALB setup process in the AWS console is largely intuitive, the criticality of accurate instance tagging and meticulous security group rule configuration became immediately evident.&lt;/p&gt;

&lt;p&gt;Ensuring the health checks were properly configured was paramount; instances would not register with the ALB without correctly passing these checks.&lt;/p&gt;

&lt;p&gt;A common initial oversight involved unconfigured inbound rules for port 80, a fundamental requirement for web traffic.&lt;/p&gt;

&lt;p&gt;⚡ &lt;strong&gt;Scenario 2: Implementing Auto Scaling Based on Traffic&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Task:&lt;br&gt;
Given TechNova's varying traffic patterns—spikes during work hours and drops off-peak—the requirement was to configure an Auto Scaling Group (ASG) for dynamic scaling based on CPU utilization.&lt;/p&gt;

&lt;p&gt;Challenges &amp;amp; Resolutions:&lt;/p&gt;

&lt;p&gt;My initial attempt involved correctly creating the launch template and the scaling policy. However, I inadvertently omitted the crucial step of attaching this policy to the ASG itself. This oversight temporarily prevented the desired dynamic scaling behavior. Upon rectifying this, observing the ASG's effective response to simulated CPU load confirmed the successful implementation and validation of the scaling mechanism.&lt;/p&gt;

&lt;p&gt;📊 &lt;strong&gt;Scenario 3: Scheduled Scaling for Cost Optimization&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Task:&lt;br&gt;
Management sought to optimize infrastructure costs by implementing scheduled scaling actions to reduce instance count during off-peak hours at night and scale up prior to 9 AM on weekdays.&lt;/p&gt;

&lt;p&gt;Advantages of Scheduled Scaling:&lt;/p&gt;

&lt;p&gt;Configuring scheduled actions within the ASG proved to be remarkably straightforward and efficient.&lt;/p&gt;

&lt;p&gt;A key consideration was ensuring all scheduled times were configured in UTC to avoid potential time zone-related discrepancies.&lt;/p&gt;

&lt;p&gt;The precise, automated provisioning and de-provisioning of instances according to the defined schedule offered clear operational and cost benefits.&lt;/p&gt;

&lt;p&gt;⚙️ Technical Detour: Navigating Linux Distribution-Specific Tooling&lt;/p&gt;

&lt;p&gt;During one of these scenarios, as an avid Ubuntu user, I encountered a common distribution-specific pitfall: attempting to use amazon-linux-extras enable epel on an Ubuntu instance. This necessitated a brief, yet insightful, detour to identify the equivalent package management commands for Ubuntu (specifically, apt install software-properties-common and add-apt-repository). This highlighted the importance of understanding the underlying OS environment.&lt;/p&gt;

&lt;p&gt;💬 Concluding Thoughts&lt;/p&gt;

&lt;p&gt;These scenarios profoundly underscored the paramount importance of meticulous attention to detail in cloud infrastructure deployment. Even minor oversights in configuration—a missed checkbox or an incorrect flag—can significantly impact functionality. This reinforces the principle that troubleshooting and rectifying such issues are invaluable components of the learning process.&lt;/p&gt;

&lt;p&gt;For those currently navigating AWS projects and perhaps feeling overwhelmed, I encourage a deliberate, step-by-step approach. Embrace the troubleshooting process as an invaluable part of skill development, and remember that encountering challenges is a natural and often necessary step toward mastery.&lt;/p&gt;

&lt;p&gt;🙋‍♀️ Questions or Collaboration?&lt;/p&gt;

&lt;p&gt;Your insights and questions are highly welcome. Please feel free to engage in the comments section or reach out directly for further discussion or assistance. Let's continue to foster collective learning, one cloud scenario at a time. 🚀&lt;/p&gt;

</description>
      <category>aws</category>
      <category>sideprojects</category>
      <category>troubleshooting</category>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>AWS EC2 + Nginx: Your First Web Server on Ubuntu</title>
      <dc:creator>Okoye Genevieve</dc:creator>
      <pubDate>Mon, 16 Jun 2025 14:47:21 +0000</pubDate>
      <link>https://dev.to/_eve_/aws-ec2-nginx-your-first-web-server-on-ubuntu-j4n</link>
      <guid>https://dev.to/_eve_/aws-ec2-nginx-your-first-web-server-on-ubuntu-j4n</guid>
      <description>&lt;p&gt;The prerequisite of this section is to know how to comfortably launch an EC2 instance, but if you can't you can check out my previous posts which shows the steps on how to deploy an EC2 instance. &lt;/p&gt;

&lt;p&gt;Setting Up Your AWS EC2 Web Server&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Connect to Your EC2 Instance
&lt;/h2&gt;

&lt;p&gt;Navigate to your key file directory.&lt;br&gt;
Connect using ssh -i "C:\Users&amp;lt;YourName&amp;gt;\Downloads\nginx-key.pem" ubuntu@.&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%2Fwyjlwfq8xrgsoi5014pw.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%2Fwyjlwfq8xrgsoi5014pw.png" alt="Image description" width="800" height="45"&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%2Fs8rik86gydjr5hu8xtuy.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%2Fs8rik86gydjr5hu8xtuy.png" alt="Image description" width="800" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Update Packages &amp;amp; Install Nginx
&lt;/h2&gt;

&lt;p&gt;Update your instance's package list: sudo apt update.&lt;br&gt;
Install the Nginx web server: sudo apt install nginx.&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%2F3p2g5t25kn89crn2n0j8.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%2F3p2g5t25kn89crn2n0j8.png" alt="Image description" width="800" height="282"&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%2Fvkeqthyd4zevpnobt5j0.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%2Fvkeqthyd4zevpnobt5j0.png" alt="Image description" width="800" height="541"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Start &amp;amp; Enable Nginx
&lt;/h2&gt;

&lt;p&gt;Start the Nginx service: sudo systemctl start nginx.&lt;br&gt;
Enable Nginx to start on boot: sudo systemctl enable nginx.&lt;br&gt;
Check Nginx status: sudo systemctl status nginx.&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%2F2rezl4yrp3tz5krur60v.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%2F2rezl4yrp3tz5krur60v.png" alt="Image description" width="800" height="515"&gt;&lt;/a&gt;&lt;br&gt;
.&lt;br&gt;
Step 4: Verify Web Server Access&lt;/p&gt;

&lt;p&gt;Copy your instance's Public IPv4 address from the AWS console.&lt;br&gt;
Paste the IP into a web browser to see the Nginx welcome page.&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%2Fbrek4gxy6ameq4kkavoa.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%2Fbrek4gxy6ameq4kkavoa.png" alt="Image description" width="174" height="72"&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%2F2qbqs4f6o22ijfa2ctmb.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%2F2qbqs4f6o22ijfa2ctmb.png" alt="Image description" width="800" height="434"&gt;&lt;/a&gt;&lt;br&gt;
.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Edit Web Page Content
&lt;/h2&gt;

&lt;p&gt;Open the default Nginx HTML file (e.g., /var/www/html/index.nginx-debian.html) using sudo nano.&lt;br&gt;
To edit the file to display "Gene first time here":&lt;br&gt;
Inside the nano editor, press Ctrl + A to select all existing code.&lt;br&gt;
Press Delete, ctrl+k or Backspace to remove the selected HTML.&lt;br&gt;
Save changes by pressing Ctrl + X, then Y, then Enter.&lt;br&gt;
Finally, refresh your browser using the Public IP to see the updated page.&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%2Fvxiswk7oullzl20aam18.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%2Fvxiswk7oullzl20aam18.png" alt="Image description" width="800" height="77"&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%2Flfgm1dy97fcl6eckre8t.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%2Flfgm1dy97fcl6eckre8t.png" alt="Image description" width="800" height="420"&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%2Fi3ioxjh05o43da0x7ar6.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%2Fi3ioxjh05o43da0x7ar6.png" alt="Image description" width="800" height="182"&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%2Fz9bpqbj7irb2716dmwaf.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%2Fz9bpqbj7irb2716dmwaf.png" alt="Image description" width="800" height="228"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Congratulations! You've successfully deployed your very own Nginx web server on an AWS EC2 instance and even customized its content. This is a significant milestone in your cloud journey!
&lt;/h1&gt;

&lt;p&gt;Remember, every great project starts with a single step, and you've just taken a powerful one into the world of cloud computing and web hosting. Don't stop here! Use this newfound knowledge as a springboard to explore more advanced configurations, delve into front-end development, or integrate other AWS services.&lt;/p&gt;

&lt;p&gt;The cloud is vast, and your potential is limitless. Keep building, keep learning, and keep sharing your progress! Happy coding!&lt;/p&gt;

</description>
      <category>nginx</category>
      <category>cloudcomputing</category>
      <category>aws</category>
      <category>website</category>
    </item>
    <item>
      <title>From Zero to Web Server: Deploying Apache on AWS EC2</title>
      <dc:creator>Okoye Genevieve</dc:creator>
      <pubDate>Sat, 14 Jun 2025 23:50:07 +0000</pubDate>
      <link>https://dev.to/_eve_/from-zero-to-web-server-deploying-apache-on-aws-ec2-ipl</link>
      <guid>https://dev.to/_eve_/from-zero-to-web-server-deploying-apache-on-aws-ec2-ipl</guid>
      <description>&lt;h2&gt;
  
  
  STEP 1:This is where we set up our virtual server in the cloud.
&lt;/h2&gt;

&lt;p&gt;Accessing EC2 Dashboard: First, navigate to the EC2 service within the AWS Console.&lt;br&gt;
Instance Details: We give our instance a name (like web-server1), choose the operating system (e.g., Amazon Linux 2023 AMI), and select an instance type (like t2.micro for Free Tier eligibility, which defines its CPU and memory).&lt;br&gt;
Key Pair: We create or select a key pair, which is a crucial security measure that allows us to securely connect to our instance later.&lt;br&gt;
Network Settings &amp;amp; Security Groups: We configure network settings, ensuring a public IP is assigned. Crucially, we set up a security group (a virtual firewall). For a web server, we specifically enable SSH (Port 22) for secure remote access, and HTTP (Port 80) to allow web traffic to reach our server from the internet.&lt;br&gt;
Finally, we click "Launch instance" to provision our server.&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%2Fxozyubei212izank11el.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%2Fxozyubei212izank11el.png" alt="Image description" width="800" height="429"&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%2Fe805lri0c6hegzq01lh0.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%2Fe805lri0c6hegzq01lh0.png" alt="Image description" width="800" height="380"&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%2F8hpp8fsdyecd89peyff3.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%2F8hpp8fsdyecd89peyff3.png" alt="Image description" width="800" height="320"&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%2Fn95drew1bm07q8iscjph.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%2Fn95drew1bm07q8iscjph.png" alt="Image description" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 2:Once the instance is running, we need to connect to it to install software.
&lt;/h2&gt;

&lt;p&gt;Locate your Key Pair: We navigate to the directory where our .pem key pair file is saved (e.g., your Downloads folder).&lt;br&gt;
Set Permissions: Before using the key, we must set its permissions to be very restrictive (chmod 400 your-key.pem). This ensures only you can read it, which is required for SSH to work.&lt;br&gt;
SSH Command: We then use the ssh command, specifying our key (-i), the default username (ec2-user for Amazon Linux), and the instance's Public IP address. This establishes a secure shell connection to our remote server.&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%2F8zhisrretcygjx2qu0tc.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%2F8zhisrretcygjx2qu0tc.png" alt="Image description" width="800" height="467"&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%2F7vooitljh0wmunix1dz9.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%2F7vooitljh0wmunix1dz9.png" alt="Image description" width="800" height="416"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 3:Installing and Starting Apache HTTPD
&lt;/h2&gt;

&lt;p&gt;With a secure connection established, we can now configure our web server.&lt;/p&gt;

&lt;p&gt;Update Packages: First, we update the instance's package lists and existing software to the latest versions using sudo yum update -y.&lt;br&gt;
Install Apache: Next, we install the Apache HTTP Server package with sudo yum install httpd -y.&lt;br&gt;
Start Apache Service: We start the Apache service using sudo systemctl start httpd.&lt;br&gt;
Enable on Boot: To ensure Apache restarts automatically if the server reboots, we use sudo systemctl enable httpd.&lt;br&gt;
Check Status: We can verify the service is running correctly with sudo systemctl status httpd&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%2Fuorokq8zv6h3417x1nr8.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%2Fuorokq8zv6h3417x1nr8.png" alt="Image description" width="800" height="608"&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%2Fx29ayfnvo9pml3253l79.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%2Fx29ayfnvo9pml3253l79.png" alt="Image description" width="800" height="543"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 4: Verifying Web Server Access
&lt;/h2&gt;

&lt;p&gt;The final step is to confirm our web server is accessible from the internet.&lt;/p&gt;

&lt;p&gt;Get Public IP: We go back to the EC2 Instances dashboard and copy the Public IPv4 address of our running instance.&lt;br&gt;
Test in Browser: We paste this Public IP address into a web browser. If everything is configured correctly, you should see the default Apache test page, confirming your web server is live!&lt;br&gt;
Security Group Adjustment (Optional but shown): The 2025-06-09_13h47_39.png image shows a step where you might have adjusted the SSH inbound rules to limit the source IP to a specific address, rather than "Anywhere". This is a good security practice to restrict who can connect via SSH.&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%2F52w79npdmjsy6fflnndh.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%2F52w79npdmjsy6fflnndh.png" alt="Image description" width="800" height="500"&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%2Fkbymdqh78vbetnuy17g5.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%2Fkbymdqh78vbetnuy17g5.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%2Fhmpdf5m0apdhnzss0jfs.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%2Fhmpdf5m0apdhnzss0jfs.png" alt="Image description" width="800" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudcomputing</category>
      <category>linux</category>
    </item>
    <item>
      <title>How to Launch and Connect to an AWS EC2 Instance (with SSH)</title>
      <dc:creator>Okoye Genevieve</dc:creator>
      <pubDate>Mon, 09 Jun 2025 16:23:29 +0000</pubDate>
      <link>https://dev.to/_eve_/how-to-launch-and-connect-to-an-aws-ec2-instance-with-ssh-1ki5</link>
      <guid>https://dev.to/_eve_/how-to-launch-and-connect-to-an-aws-ec2-instance-with-ssh-1ki5</guid>
      <description>&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%2Fa6bbg9lub519hlod4ud3.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%2Fa6bbg9lub519hlod4ud3.png" alt="Image description" width="800" height="520"&gt;&lt;/a&gt;&lt;br&gt;
This post will guide you through the process of launching an Amazon EC2 (Elastic Compute Cloud) instance and securely connecting to it using SSH from your local machine. EC2 instances are virtual servers in the AWS cloud, providing scalable compute capacity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Our Goal:
&lt;/h2&gt;

&lt;p&gt;Our objective is to launch an EC2 instance within a VPC and subnet, then establish an SSH connection to it from our local system administrator's machine using a private SSH key. We'll configure a security group to allow SSH access on port 22.&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%2F65t0e1ibn6q7911x4am7.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%2F65t0e1ibn6q7911x4am7.png" alt="Image description" width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The first step in the AWS Management Console is to locate the EC2 service.
&lt;/h2&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%2Fzvs99dcsjamcz0jrdtbt.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%2Fzvs99dcsjamcz0jrdtbt.png" alt="Image description" width="800" height="402"&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%2F6qvplr3oriaeq1vge7hs.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%2F6qvplr3oriaeq1vge7hs.png" alt="Image description" width="800" height="381"&gt;&lt;/a&gt;&lt;br&gt;
After selecting the EC2 service, you will be directed to the EC2 Dashboard. From here, we will begin the process of launching a new virtual server.&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%2Fq8sarrtx36jko2pw1bz2.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%2Fq8sarrtx36jko2pw1bz2.png" alt="Image description" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Configure Instance Details and Key Pair
&lt;/h2&gt;

&lt;p&gt;In the launch wizard, after selecting your desired AMI and instance type, you will need to create a new key pair (highlighted by the arrow). This key pair is essential for securely connecting to your instance later via SSH.&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%2F4tax491xwcnljtxmfn6h.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%2F4tax491xwcnljtxmfn6h.png" alt="Image description" width="800" height="472"&gt;&lt;/a&gt;&lt;br&gt;
When you'er done with your configuration which is to choose the OS, the CPU, stoage... then you can go over to the next step, mind you that this method of creating an instance varies depending on the workload of your project.&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%2Fu2xuo0pp8352766e7j77.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%2Fu2xuo0pp8352766e7j77.png" alt="Image description" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Verify Instance Launch and Access Security Groups
&lt;/h2&gt;

&lt;p&gt;After successfully launching your instance, you'll be redirected to the EC2 Instances dashboard.&lt;/p&gt;

&lt;p&gt;Focus Area: The arrows indicate two important things:&lt;/p&gt;

&lt;p&gt;Your newly launched instance (e.g., "front-end server") is now listed and in a "Running" state.&lt;br&gt;
The left navigation panel shows "Security Groups" under "Network &amp;amp; Security." We'll navigate here to review or modify the security rules that govern access to your instance.&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%2Fl2dz8dhnoto4i1o5adj8.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%2Fl2dz8dhnoto4i1o5adj8.png" alt="Image description" width="800" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Review and Edit Security Group Inbound Rules
&lt;/h2&gt;

&lt;p&gt;You are now on the Security Groups details page, specifically viewing the rules associated with the security group created during your instance launch.&lt;/p&gt;

&lt;p&gt;Focus Area: The red arrow clearly points to the "Edit inbound rules" button. This is where you can modify which types of traffic (like SSH, HTTP, HTTPS) are allowed to reach your EC2 instance from external sources. We'll proceed to edit these rules.&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%2Fylbcq5o83xlzark9b8wm.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%2Fylbcq5o83xlzark9b8wm.png" alt="Image description" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Confirm or Adjust SSH Inbound Rule Source
&lt;/h2&gt;

&lt;p&gt;On the "Edit inbound rules" page, you can see and modify the existing rules.&lt;/p&gt;

&lt;p&gt;Focus Area: The red arrow highlights the "Custom" source field, specifically showing your public IP address (e.g., 154.120.95.81/32). This confirms that SSH (Port 22) traffic is allowed only from your machine's IP. While "My IP" automatically populates this, you could manually enter a specific IP address range (CIDR block) or choose other options like "Anywhere" (not recommended for SSH) if needed. Ensure this rule is correctly configured for your connection.&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%2Ftkpvao1gm3kmf0p0pg75.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%2Ftkpvao1gm3kmf0p0pg75.png" alt="Image description" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Retrieve Your Instance's Public IP Address
&lt;/h2&gt;

&lt;p&gt;After confirming your security group rules, the last piece of information you need to connect to your EC2 instance is its public IP address.&lt;/p&gt;

&lt;p&gt;Focus Area: Back on the EC2 Instances dashboard, locate your running instance. The red arrow points directly to the "Public IPv4 address" column. This is the IP address you will use to establish an SSH connection from your local machine. Copy this IP address.&lt;/p&gt;

&lt;p&gt;You now have all the necessary information to connect to your EC2 instance using an SSH client like MobaXterm and the private key you downloaded&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%2Fu1fr4savu6r9ctxx6tq8.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%2Fu1fr4savu6r9ctxx6tq8.png" alt="Image description" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Connect to Your EC2 Instance via SSH
&lt;/h2&gt;

&lt;p&gt;With your EC2 instance running, its security group configured to allow SSH from your IP, and your public IPv4 address copied, you are now ready to connect!&lt;/p&gt;

&lt;p&gt;What you'll need:&lt;/p&gt;

&lt;p&gt;Your Private SSH Key: The .pem file you downloaded in Step 4.&lt;br&gt;
The Public IPv4 Address of your EC2 instance (from Step 9).&lt;br&gt;
SSH Client: (e.g., MobaXterm Professional, as shown in your architecture, or PuTTY, OpenSSH on Linux/macOS).&lt;br&gt;
Default Username: For Amazon Linux AMIs, it's ec2-user. For Ubuntu, it's ubuntu. For others, consult the AMI documentation.&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%2Fnd000oi0vrqflgotsyam.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%2Fnd000oi0vrqflgotsyam.png" alt="Image description" width="800" height="426"&gt;&lt;/a&gt;&lt;br&gt;
Click on "Session".&lt;br&gt;
Choose "SSH".&lt;br&gt;
Enter the "Remote host" (your Public IPv4 address).&lt;br&gt;
Specify the "Username" (e.g., ec2-user or ubuntu).&lt;br&gt;
Under "Advanced SSH settings", check "Use private key" and browse to your .pem file.&lt;br&gt;
Click "OK" to establish the connection.&lt;br&gt;
Once connected, you'll have command-line access to your brand-new EC2 instance in the cloud!&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Congratulations! You have successfully launched an Amazon EC2 instance and securely connected to it using SSH. You've learned how to:&lt;/p&gt;

&lt;p&gt;Navigate the AWS EC2 console.&lt;br&gt;
Launch a virtual server.&lt;br&gt;
Create and manage SSH key pairs for secure access.&lt;br&gt;
Configure security group rules to control network traffic.&lt;br&gt;
Retrieve the public IP address of your instance.&lt;br&gt;
Connect to your instance using an SSH client.&lt;br&gt;
This EC2 instance now serves as a powerful foundation for hosting web applications, running backend services, or performing various computational tasks in the cloud. Remember to always follow best practices for security, such as restricting SSH access to known IPs and regularly reviewing your security group rules.&lt;/p&gt;

&lt;p&gt;Feel free to explore further configurations and services within AWS to expand the capabilities of your cloud infrastructure!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudcomputing</category>
      <category>ec2</category>
      <category>devops</category>
    </item>
    <item>
      <title>Understanding Servers and Cloud Computing</title>
      <dc:creator>Okoye Genevieve</dc:creator>
      <pubDate>Wed, 28 May 2025 16:07:43 +0000</pubDate>
      <link>https://dev.to/_eve_/assignment-understanding-servers-and-cloud-computing-4lgl</link>
      <guid>https://dev.to/_eve_/assignment-understanding-servers-and-cloud-computing-4lgl</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;This document explores the foundational concepts of Servers and Cloud Computing. It delves into the distinctions between hardware and software server environments, outlines various server types, and clarifies different cloud deployment models. Furthermore, it provides a comparative analysis of key cloud service models (IaaS, PaaS, SaaS) and applies this knowledge to a practical business scenario, recommending suitable cloud infrastructure and AWS services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understanding Servers and Cloud Computing&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Part A : Difference between hardware and software servers?&lt;/strong&gt;&lt;br&gt;
The difference between hardware and software server is that hardware server are the ones that we have on premise on our organization and the one we manually update and manage while software servers are the ones that are virtualized and we can rent on the cloud. They run on the hardware servers.&lt;br&gt;
  &lt;strong&gt;Example of 3 types of servers?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;a.  Web Server: Serves web pages (e.g., Apache HTTP Server, Nginx).&lt;br&gt;
b.  File Server: Stores and manages access to files (e.g., FTP server, SMB/NFS server).&lt;br&gt;
c.  Database Server: Stores, manages, and retrieves structured data (e.g., MySQL, PostgreSQL, MongoDB).&lt;br&gt;
&lt;strong&gt;Cloud deployment models?&lt;/strong&gt;&lt;br&gt;
o   Public Cloud &lt;br&gt;
o   Private Cloud &lt;br&gt;
o   Hybrid Cloud &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Comparing IaaS, PaaS, SaaS with examples.&lt;/strong&gt;  &lt;/p&gt;

&lt;p&gt;• IaaS (Infrastructure as a Service): Provides virtualized computing resources (VMs, networks). Ex: AWS EC2, Azure VMs. You manage OS, applications.&lt;br&gt;
• PaaS (Platform as a Service): Provides a platform for developing, running, and managing applications without building/maintaining infrastructure. Ex: AWS Elastic Beanstalk, Heroku. You manage code.&lt;br&gt;
• SaaS (Software as a Service): Fully managed application accessible over the internet. Ex: Gmail, Salesforce ,and other CRM web applications. You just use it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Part B:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;SaaS lets users manage everything - False&lt;/li&gt;
&lt;li&gt;On-premises can scale easily - False.&lt;/li&gt;
&lt;li&gt;DNS converts IP to domain names - True.&lt;/li&gt;
&lt;li&gt;Cloud requires upfront hardware payment - False&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Part C: Scenario-Based&lt;/strong&gt;&lt;br&gt;
Model: Public Cloud (Scalability, cost-effectiveness, agility for a startup)&lt;br&gt;
For a new business, I'd choose the Public Cloud model for its rapid scalability and cost-efficiency. AWS services would be Amazon S3 for storage, AWS Lambda and API Gateway for the backend, and either Amazon RDS or DynamoDB for the database.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cloudengineer</category>
      <category>cloudstorage</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
