<?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: Onyi Dominic</title>
    <description>The latest articles on DEV Community by Onyi Dominic (@onyidominic).</description>
    <link>https://dev.to/onyidominic</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%2F1267495%2F65a69e13-8d71-4446-bf06-d5536f38c094.png</url>
      <title>DEV Community: Onyi Dominic</title>
      <link>https://dev.to/onyidominic</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/onyidominic"/>
    <language>en</language>
    <item>
      <title>Getting Started with AWS EC2 Key Pairs</title>
      <dc:creator>Onyi Dominic</dc:creator>
      <pubDate>Wed, 18 Feb 2026 22:02:38 +0000</pubDate>
      <link>https://dev.to/onyidominic/getting-started-with-aws-ec2-key-pairs-2gm8</link>
      <guid>https://dev.to/onyidominic/getting-started-with-aws-ec2-key-pairs-2gm8</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
Hey there, cloud enthusiasts! If you're just starting your AWS journey like I am, you've probably heard the term "key pairs" thrown around and wondered what all the fuss is about. Well, I'm excited to share my first hands-on lab experience with you! In this article, I'll walk you through creating and configuring EC2 key pairs—the security credentials that let you securely connect to your virtual servers in the cloud.&lt;/p&gt;

&lt;p&gt;By the end of this guide, you'll understand what key pairs are, why they matter, and how to set them up so you can SSH into your EC2 instances like a pro. Let's dive in!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Are EC2 Key Pairs, Anyway?&lt;/strong&gt;&lt;br&gt;
Before we get our hands dirty, let's demystify key pairs. Think of a key pair like a digital lock-and-key system for your house:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Public Key: This is like the lock on your front door. AWS stores this on your EC2 instance.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Private Key: This is like your house key. You keep this safe on your computer and use it to prove you're authorized to access the instance.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Together, they form a cryptographic pair that ensures only you can access your EC2 instances. Pretty cool, right?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Navigate to the EC2 Dashboard and Access Key Pairs&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;First things first, I logged into my AWS console and headed to the EC2 dashboard. Once there, I looked for the Key Pairs option in the left sidebar under the "Network &amp;amp; Security" section.&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%2Fw2c5vq3e6dkqui14fptx.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%2Fw2c5vq3e6dkqui14fptx.PNG" alt=" " width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The dashboard shows all your EC2 resources at a glance. You can see instances, security groups, and other components. Finding the Key Pairs section is straightforward. It's right there in the sidebar.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Create Your First Key Pair&lt;/strong&gt;&lt;br&gt;
I clicked on &lt;strong&gt;"Create key pair"&lt;/strong&gt; and was presented with a simple form. Here's what I configured:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Name&lt;/strong&gt;: I named mine funkeypair&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Key Pair Type&lt;/strong&gt;: I selected &lt;strong&gt;RSA&lt;/strong&gt; (the standard encryption type)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Private Key File Format&lt;/strong&gt;: I chose &lt;strong&gt;.pem&lt;/strong&gt; format, which is perfect for OpenSSH&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6myeroszrp1gi0z9fh7i.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%2F6myeroszrp1gi0z9fh7i.PNG" alt=" " width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The .pem format is widely compatible and works great with most SSH clients. AWS automatically downloads the private key file once you click "Create key pair". This is the only time you'll see this file, so keep it safe.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Download and Secure Your Private Key&lt;/strong&gt;&lt;br&gt;
After clicking "Create key pair," my browser automatically downloaded the .pem file to my Downloads folder. This file is &lt;strong&gt;critical&lt;/strong&gt;—it's your only way to access your EC2 instances. I made sure to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Store it in a secure location&lt;/li&gt;
&lt;li&gt;Never share it with anyone&lt;/li&gt;
&lt;li&gt;Back it up (but keep it private!)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Download PuTTY for Windows SSH Access&lt;/strong&gt;&lt;br&gt;
Since I'm on Windows, I needed a tool to SSH into my EC2 instance. I downloaded PuTTY from putty.org, which included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;putty.exe&lt;/strong&gt;: The SSH client&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;puttygen.exe&lt;/strong&gt;: The key generator utility&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;PuTTY is a free, lightweight SSH client that's perfect for Windows users. It's been around for years and is trusted by professionals worldwide.&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%2Fs272o6umhsvmu8lv7rz4.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%2Fs272o6umhsvmu8lv7rz4.PNG" alt=" " width="800" height="442"&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%2Fn22olhnyhcg0i55y94wh.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%2Fn22olhnyhcg0i55y94wh.PNG" alt=" " width="659" height="104"&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%2Fr0kt4syxduh4jk7d4t7u.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%2Fr0kt4syxduh4jk7d4t7u.PNG" alt=" " width="690" height="556"&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%2Fyj6jpsneda0bkaie9suv.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%2Fyj6jpsneda0bkaie9suv.PNG" alt=" " width="742" height="619"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A success message appeared: _"Successfully imported foreign key (OpenSSH SSH-2 private key (old PEM format)). To use this key with PuTTY, you need to use the 'Save private key' command to save it in PuTTY's own format."&lt;/p&gt;

&lt;p&gt;_&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Save Your Key in PuTTY Format&lt;/strong&gt;&lt;br&gt;
After loading the key, I clicked "Save private key" to convert it to PuTTY's native .ppk format. This new file is what I'll use when connecting to my EC2 instances through PuTTY.&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%2F0wqw7jsnf82jih0ja77r.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%2F0wqw7jsnf82jih0ja77r.PNG" alt=" " width="642" height="526"&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%2Fluikjf76ozkzhl8cgqwv.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%2Fluikjf76ozkzhl8cgqwv.PNG" alt=" " width="704" height="585"&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%2F8trdtkk7iku646lkffdm.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%2F8trdtkk7iku646lkffdm.PNG" alt=" " width="800" height="609"&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%2Fsslo6y8v8imysard9wo7.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%2Fsslo6y8v8imysard9wo7.PNG" alt=" " width="800" height="579"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The generator displayed all the key information, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The public key (for reference)&lt;/li&gt;
&lt;li&gt;Key fingerprint (a unique identifier)&lt;/li&gt;
&lt;li&gt;Key comment (useful for organization)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Learnings from This Lab&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;1. Security is Paramount&lt;/strong&gt;&lt;br&gt;
Key pairs are your first line of defense. Losing your private key means losing access to your instances, so treat it like your house keys.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Format Matters&lt;/strong&gt;&lt;br&gt;
Different tools use different key formats. AWS uses .pem, but PuTTY prefers .ppk. Understanding these conversions is essential for Windows users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. One-Way Download&lt;/strong&gt;&lt;br&gt;
AWS only shows you the private key once during creation. If you lose it, you'll need to create a new key pair and relaunch your instances. Always download and back it up immediately.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Asymmetric Encryption is Powerful&lt;/strong&gt;&lt;br&gt;
The public/private key system is elegant. AWS can verify your identity without ever seeing your private key. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Challenges I Faced (And How I Overcame Them)&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Challenge 1: Finding the Right File Format&lt;/strong&gt;&lt;br&gt;
Initially, I wasn't sure why I needed to convert the .pem file. I learned that different SSH clients expect different formats.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Challenge 2: File Browser Filtering&lt;/strong&gt;&lt;br&gt;
When loading the key in PuTTY, the file browser initially showed no files because it was filtering for .ppk files only. Changing the filter to "All Files" solved this instantly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Challenge 3: Understanding the Terminology&lt;/strong&gt;&lt;br&gt;
Terms like "key pair," "public key," and "private key" seemed confusing at first. Thinking of them as a lock-and-key system made everything click.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's Next?&lt;/strong&gt;&lt;br&gt;
Now that I have my key pair set up, I'm ready to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Launch an EC2 instance and associate it with this key pair
2.Connect via SSH using PuTTY and my converted .ppk key&lt;/li&gt;
&lt;li&gt;Explore security groups to control inbound/outbound traffic&lt;/li&gt;
&lt;li&gt;Practice best practices like rotating keys and managing multiple key pairs&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Creating and configuring EC2 key pairs might seem like a small step, but it's foundational to working with AWS. This lab taught me that cloud security starts with understanding the basics and key pairs are definitely a basic you need to master.&lt;/p&gt;

&lt;p&gt;The AWS Cloud Practitioner exam emphasizes security, and this hands-on experience has given me real confidence in that area. If you're studying for the exam or just getting started with AWS, I highly recommend doing this lab yourself. There's no substitute for hands-on learning.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>ec2</category>
      <category>keypairs</category>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>Hosting a Static Website on S3 and Configuring DNS with Route 53</title>
      <dc:creator>Onyi Dominic</dc:creator>
      <pubDate>Sat, 27 Jan 2024 23:33:27 +0000</pubDate>
      <link>https://dev.to/onyidominic/hosting-a-static-website-on-s3-and-configuring-dns-with-route-53-1agg</link>
      <guid>https://dev.to/onyidominic/hosting-a-static-website-on-s3-and-configuring-dns-with-route-53-1agg</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
I recently completed a project to learn more about Amazon S3 for static website hosting and using Route 53 for DNS management. In this post, I'll walk through the process and share what I learned.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating an S3 Bucket&lt;/strong&gt;&lt;br&gt;
First, I created an S3 bucket called "onyiwaters.site" in the US East (Ohio) region. &lt;/p&gt;

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

&lt;p&gt;To enable static website hosting, I went into the bucket properties, selected the option for static website hosting, and entered "index.html" as my index document. This configures the bucket to render index.html when requests come to the website endpoint.&lt;/p&gt;

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

&lt;p&gt;Next, I uploaded the website files including index.html, styles.css, script.js and images by dragging and dropping them into the S3 bucket.&lt;/p&gt;

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

&lt;p&gt;To make the contents publicly accessible, I added a bucket policy granting public read permissions:&lt;/p&gt;

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

&lt;p&gt;This allows anyone to access the files in the bucket while keeping the bucket itself private.&lt;/p&gt;

&lt;p&gt;At this point I had a simple static website hosted on S3 with public access configured! Next I moved on to setting up DNS routing with Route 53.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setting Up Route 53&lt;/strong&gt;&lt;br&gt;
Next, I registered a domain on Route 53 and created a hosted zone for onyiwaters.site.&lt;/p&gt;

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

&lt;p&gt;I added an A record that routes traffic for the domain to the S3 endpoint URL. This directs requests to the S3 bucket that is hosting the static website. I also created an alias record that points to the S3 website endpoint specifically. Alias records provide a few benefits over regular A records:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;They automatically route requests to the website endpoint&lt;/li&gt;
&lt;li&gt;Alias records are native AWS integrations&lt;/li&gt;
&lt;li&gt;Using the S3 website endpoint improves performance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To test things out, I accessed my domain in the browser. The A record I created routed traffic to the S3 bucket successfully. However, I noticed that the URLs still contained the S3 endpoint hostname. When I switched to using the alias record, the URLs resolved cleanly to just my domain.&lt;/p&gt;

&lt;p&gt;So the alias record provided the optimal configuration for routing traffic to my S3-hosted static site. I learned some key differences between A records and alias records in Route 53 through this project.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Key Learnings&lt;/strong&gt;&lt;br&gt;
Some of my biggest takeaways were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Learning how S3 static hosting works&lt;/li&gt;
&lt;li&gt;Getting hands-on with Route 53 and DNS&lt;/li&gt;
&lt;li&gt;Comparing A vs Alias records&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Technical Skills&lt;/strong&gt;&lt;br&gt;
This project allowed me to apply skills like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;S3 static website configuration&lt;/li&gt;
&lt;li&gt;DNS and domain management&lt;/li&gt;
&lt;li&gt;IAM policies&lt;/li&gt;
&lt;li&gt;Basic frontend development&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;GitHub Repo&lt;/strong&gt;&lt;br&gt;
View the full code and docs for this project on GitHub: &lt;a href="https://github.com/onyidominic101/onyiwaters.site"&gt;S3 Static Site Repo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enhancements&lt;/strong&gt;&lt;br&gt;
In the future I could expand on this project by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Integrating a continuous deployment pipeline. I could set up GitHub integration with AWS CodePipeline to automatically deploy code changes from GitHub to S3.&lt;/li&gt;
&lt;li&gt;Adding a custom domain and SSL certificate for HTTPS access. This would involve registering a domain, creating an ACM certificate, and updating the bucket policy and CloudFront distribution.&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
  </channel>
</rss>
