<?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>Forem: Rolland Francis</title>
    <description>The latest articles on Forem by Rolland Francis (@rollandfrancis1913).</description>
    <link>https://forem.com/rollandfrancis1913</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%2F3253907%2F7812cbdc-684f-4009-add0-8a9a4e4fa770.webp</url>
      <title>Forem: Rolland Francis</title>
      <link>https://forem.com/rollandfrancis1913</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/rollandfrancis1913"/>
    <language>en</language>
    <item>
      <title>Deep Dive into Mastering EBS Multi-Attach for Real-Time Applications.</title>
      <dc:creator>Rolland Francis</dc:creator>
      <pubDate>Sat, 02 Aug 2025 21:48:57 +0000</pubDate>
      <link>https://forem.com/rollandfrancis1913/deep-dive-into-mastering-ebs-multi-attach-for-real-time-applications-57of</link>
      <guid>https://forem.com/rollandfrancis1913/deep-dive-into-mastering-ebs-multi-attach-for-real-time-applications-57of</guid>
      <description>&lt;p&gt;🧭 &lt;strong&gt;Introduction to Amazon EBS Volume Multi-Attach and Snapshots&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;What is Amazon EBS?&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Amazon Elastic Block Store (EBS)&lt;/strong&gt; is a scalable, high-performance block storage service designed for use with Amazon EC2 (Elastic Compute Cloud). EBS volumes behave like raw, unformatted block devices that can be mounted and used just like physical hard drives.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EBS Volume Multi-Attach&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;📌 What is EBS Multi-Attach?&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;EBS Multi-Attach&lt;/strong&gt; is a feature of &lt;strong&gt;Amazon EBS io1&lt;/strong&gt; and &lt;strong&gt;io2 volumes&lt;/strong&gt; that allows a &lt;strong&gt;single volume&lt;/strong&gt; to be attached to multiple &lt;strong&gt;EC2 instances&lt;/strong&gt; simultaneously within the same Availability Zone.&lt;/p&gt;

&lt;p&gt;Unlike standard &lt;strong&gt;EBS volumes&lt;/strong&gt; (which are normally attached to just one instance at a time), Multi-Attach enables concurrent read and write operations from &lt;strong&gt;multiple EC2 instances.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⚠️ Important Advisory: EBS Multi-Attach Is Not for General-Purpose Office Volumes&lt;/strong&gt;&lt;br&gt;
While Amazon EBS Multi-Attach provides powerful capabilities for shared access across multiple EC2 instances, it is not designed for general-purpose or office-like use cases, such as:&lt;/p&gt;

&lt;p&gt;File sharing or collaborative document editing across instances&lt;/p&gt;

&lt;p&gt;Traditional network file storage (like SMB/NFS workloads) without proper coordination&lt;/p&gt;

&lt;p&gt;Multi-user environments where the underlying software is not cluster-aware.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EC2 Instance Store&lt;/strong&gt; – What It Is and Why It Matters&lt;/p&gt;

&lt;p&gt;magine This…&lt;br&gt;
You borrow a whiteboard during a workshop. You write notes all day, but at the end of the event, someone erases everything.&lt;br&gt;
That’s how EC2 Instance Store works:&lt;br&gt;
👉 Super fast, but data is wiped when the instance stops or crashes.&lt;/p&gt;

&lt;p&gt;What Is Instance Store?&lt;br&gt;
It's a temporary type of storage.&lt;br&gt;
It comes physically attached to the EC2 host machine.&lt;br&gt;
When you stop, terminate, or crash the instance — the data is gone.&lt;/p&gt;

&lt;p&gt;When Should I Use It?&lt;br&gt;
Use it only when:&lt;br&gt;
You’re storing temporary data, like logs or a cache.&lt;br&gt;
You want very fast read/write speeds for short-term jobs.&lt;br&gt;
You’re OK losing the data if the instance stops.&lt;br&gt;
⚠️ Don’t store important files, databases, or user data here!&lt;/p&gt;

&lt;p&gt;** Hands-On:** Testing Instance Store (20 mins)&lt;br&gt;
 Note: Not all EC2 instance types support instance store. We'll use i3.large for this test.&lt;br&gt;
Prerequisites:&lt;br&gt;
AWS account with Free Tier (Note: This instance type may incur cost if used too long — terminate after test!)&lt;br&gt;
Basic EC2 knowledge&lt;/p&gt;

&lt;p&gt;Steps:&lt;br&gt;
&lt;strong&gt;Launch EC2 with Instance Store.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.Go to EC2 Dashboard → Launch 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%2F4xddy1yaqb1smlesxaoj.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%2F4xddy1yaqb1smlesxaoj.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.Name: InstanceStoreTest1&lt;/p&gt;

&lt;p&gt;3.AMI: Amazon Linux 2023&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%2F9jqe7afq9xl4t721l3ny.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%2F9jqe7afq9xl4t721l3ny.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4.Instance Type: i3.large (has NVMe Instance Store)&lt;/p&gt;

&lt;p&gt;5.Key Pair: Use existing or create new.&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%2Fpqh7m3oin56u5ue9ng8d.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%2Fpqh7m3oin56u5ue9ng8d.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;6.S.torage: Notice 1 x 475 NVMe SSD under “Instance Store”&lt;/p&gt;

&lt;p&gt;7.Security Group: Allow SSH (port 22)&lt;/p&gt;

&lt;p&gt;8.Launch the 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%2Fcr07556handhngc3l11k.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%2Fcr07556handhngc3l11k.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;. &lt;strong&gt;Connect to the Instance&lt;/strong&gt;&lt;br&gt;
Connect using Command Prompt &lt;br&gt;
&lt;code&gt;cd downloads &lt;br&gt;
&lt;/code&gt;&lt;br&gt;
&lt;code&gt;ssh -i your-key.pem ec2-user@&amp;lt;your-instance-ip&amp;gt;&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Check the Instance Store Drive
Use the lsblk command:
&lt;code&gt;lsblk&lt;/code&gt;
Look for a device like /dev/nvme1n1.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;Format and Mount It&lt;br&gt;
Command Prompt &lt;br&gt;
&lt;code&gt;sudo mkfs -t ext4 /dev/nvme1n1&lt;/code&gt;&lt;br&gt;
&lt;code&gt;sudo mkdir /mnt/tempdrive&lt;/code&gt;&lt;br&gt;
&lt;code&gt;sudo mount /dev/nvme1n1 /mnt/tempdrive&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Now let’s write something:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;echo "My temporary data" | &lt;code&gt;sudo tee /mnt/tempdrive/note.txt&lt;/code&gt;&lt;br&gt;
&lt;code&gt;cat /mnt/tempdrive/note.txt&lt;/code&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%2Fdkzndwhkltqfqiyss8lc.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%2Fdkzndwhkltqfqiyss8lc.png" alt=" " width="800" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔹 &lt;strong&gt;Module 3: EBS (Elastic Block Store) – Your Cloud Hard Drive&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First, Picture This:&lt;/strong&gt;&lt;br&gt;
You're using a laptop, and you plug in a USB drive. You can copy files, work on projects, and even unplug it and reattach it later.&lt;br&gt;
That’s exactly what EBS is — a flexible, plug-in hard drive for your EC2 instances.&lt;/p&gt;

&lt;p&gt;** What is EBS?**&lt;br&gt;
EBS = Elastic Block Store&lt;br&gt;
It’s a persistent storage volume — it keeps your data even when you stop or restart your EC2.&lt;br&gt;
It’s like an external hard drive that lives in the cloud.&lt;/p&gt;

&lt;p&gt;Key Features of EBS&lt;br&gt;
Feature Description&lt;br&gt;
✅ Persistent      Data survives stop/restart of EC2&lt;br&gt;
🔌 Attachable          Can attach/detach from EC2&lt;br&gt;
🛡️ Encrypted (Optional)      Can be encrypted for security&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create a New EBS Volume&lt;/strong&gt;&lt;br&gt;
1.Go to EC2 Dashboard → Elastic Block Store → Volumes&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%2Fe6a0ndymmzzpmu6cykqc.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%2Fe6a0ndymmzzpmu6cykqc.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.Click Create Volume&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%2Fsq25r2r5fxvcv2oy19fo.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%2Fsq25r2r5fxvcv2oy19fo.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.Choose:&lt;br&gt;
Type: io1 or io2&lt;/p&gt;

&lt;p&gt;Size: 4 GiB&lt;/p&gt;

&lt;p&gt;Availability Zone: us-east-1a (must match EC2s)&lt;/p&gt;

&lt;p&gt;Enable Multi-Attach&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%2Fmezk2ic9rsq24tm0m3gx.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%2Fmezk2ic9rsq24tm0m3gx.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4.Click Create Volume&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%2Fdnk542d1x54796xkvrif.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%2Fdnk542d1x54796xkvrif.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Attach Volume to Both EC2s&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.Go to volume → Actions → Attach Volume&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%2Fj8ymbxm1vfciphzquwn1.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%2Fj8ymbxm1vfciphzquwn1.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.Select first instance → device name /dev/xvdbb&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%2Fdpl950mw8ztqa5b0x809.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%2Fdpl950mw8ztqa5b0x809.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.Repeat → Attach to second instance → same device name.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Connect to Both EC2s&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
SSH into both, and run:&lt;/p&gt;

&lt;p&gt;lsblk&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%2Fvaba1mkphrmj6r4fpk28.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%2Fvaba1mkphrmj6r4fpk28.png" alt=" " width="800" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Both should see the same volume /dev/xvdf.&lt;br&gt;
⚠️ If you try to write files at the same time from both instances without coordination — data loss can occur.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Module 5:&lt;/strong&gt; EBS Snapshots – Your Cloud Backup Button&lt;/p&gt;

&lt;p&gt;Picture This:&lt;br&gt;
Imagine you’re working on a school project and you make a backup copy of your progress. If something goes wrong, you can go back to that version.&lt;br&gt;
That’s exactly what EBS Snapshots are — point-in-time backups of your EBS volumes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is a Snapshot?&lt;/strong&gt;&lt;br&gt;
A backup of an EBS volume.&lt;br&gt;
Stored in Amazon S3 (you don’t manage this directly).&lt;br&gt;
Snapshots are incremental (after the first one, only changes are saved).&lt;br&gt;
Can be used to:&lt;br&gt;
Restore lost data&lt;br&gt;
Create new volumes&lt;br&gt;
Make AMIs (machine images)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step-by-Step Lab&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Make Sure You Have EC2 + EBS Volume Running
You should have:
EC2 running (from earlier)
EBS volume mounted and data written (e.g., hello.txt)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;2. Create a Snapshot&lt;/strong&gt;&lt;br&gt;
1.Go to EC2 Dashboard → Elastic Block Store → Volumes&lt;br&gt;
2.Select your EBS volume&lt;br&gt;
3.Click Actions → Create Snapshot&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%2Fuvgtf679f62qzpyf9kjx.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%2Fuvgtf679f62qzpyf9kjx.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4.Name it: MyBackupSnapshot&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%2Fi9bcqdwm3g7b99nxhdc5.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%2Fi9bcqdwm3g7b99nxhdc5.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5.Click Create Snapshot.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Delete the Original Volume (Optional for Testing)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;⚠️ Warning: This will remove the original data (but we have a backup)&lt;br&gt;
Detach the volume from EC2.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Amazon EBS provides powerful features for managing block-level storage in the cloud, with Multi-Attach and Snapshots serving two very different—but complementary—purposes.&lt;/p&gt;

&lt;p&gt;EBS Multi-Attach enables multiple EC2 instances to access the same volume concurrently, making it ideal for specialized use cases like clustered applications. However, it should not be used in general-purpose or office environments without proper safeguards. Without a cluster-aware file system or external coordination software, Multi-Attach can easily lead to data corruption due to uncoordinated writes.&lt;/p&gt;

&lt;p&gt;On the other hand, EBS Snapshots offer a reliable and cost-effective way to back up and restore volumes. They are essential for data protection, disaster recovery, and even for cloning volumes across different environments.&lt;/p&gt;

&lt;p&gt;In practice, you may use Multi-Attach for testing or high-availability clusters, while regularly creating snapshots of the shared volume to safeguard against data loss or corruption. When combined thoughtfully, these features can improve availability, flexibility, and resiliency of your workloads—but only when implemented with care.&lt;/p&gt;

&lt;p&gt;💡 Recommendation: Use EBS Multi-Attach only when your application and file system are designed to handle shared disk access, and always maintain a snapshot strategy to ensure data durability.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudcomputing</category>
      <category>devops</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to Deploy Nginx on AWS EC2 using Ubuntu: A Step-by-Step Installation and Configuration Guide</title>
      <dc:creator>Rolland Francis</dc:creator>
      <pubDate>Sat, 19 Jul 2025 23:35:23 +0000</pubDate>
      <link>https://forem.com/rollandfrancis1913/how-to-deploy-nginx-on-aws-ec2-using-ubuntu-a-step-by-step-installation-and-configuration-guide-2lk0</link>
      <guid>https://forem.com/rollandfrancis1913/how-to-deploy-nginx-on-aws-ec2-using-ubuntu-a-step-by-step-installation-and-configuration-guide-2lk0</guid>
      <description>&lt;p&gt;&lt;strong&gt;WHAT IS NGINX&lt;/strong&gt;&lt;br&gt;
 NGINX is a powerful web server and reverse proxy engine optimized for handling high loads, scalable web applications, and modern web architectures. It supports HTTP, HTTPS, and TCP/UDP traffic, and is often used for reverse proxying, load balancing, SSL termination, and as a microservices gateway.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is AWS EC2&lt;/strong&gt;?&lt;br&gt;
&lt;strong&gt;EC2&lt;/strong&gt; (&lt;strong&gt;Elastic Compute Cloud&lt;/strong&gt;) is a service by Amazon Web Services (AWS) that lets you rent a virtual server (called an &lt;strong&gt;instance&lt;/strong&gt;). You can install anything on it, just like a computer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🧰 To successfully deploy Nginx on a virtual server in AWS, you'll need a few things in place:&lt;/strong&gt;&lt;br&gt;
An AWS account (sign up at aws.amazon.com)&lt;/p&gt;

&lt;p&gt;A terminal like Command Prompt, PowerShell, or Git Bash&lt;/p&gt;

&lt;p&gt;You’ll need a terminal or shell to run commands on your local system and connect to your AWS instance.&lt;/p&gt;

&lt;p&gt;Recommended Terminal Options:&lt;/p&gt;

&lt;p&gt;Terminal    Description&lt;br&gt;
Command Prompt  Built into Windows (cmd). Basic, but gets the job done.&lt;br&gt;
PowerShell  More powerful than cmd; supports scripting and AWS CLI well.&lt;br&gt;
Git Bash    Comes with Git for Windows. Provides a Linux-like terminal experience.&lt;br&gt;
Windows Terminal    A modern terminal from Microsoft that can combine cmd, PowerShell,&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Step 1: Log In to Your AWS Account&lt;/strong&gt;&lt;br&gt;
Before you can deploy Nginx or launch any resources, you need to log in to the AWS Management Console.&lt;/p&gt;

&lt;p&gt;How to Do It:&lt;br&gt;
Go to the AWS Console:&lt;/p&gt;

&lt;p&gt;Open your browser and visit: &lt;a href="https://aws.amazon.com/console/" rel="noopener noreferrer"&gt;https://aws.amazon.com/console/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click "Sign In to the Console"&lt;/p&gt;

&lt;p&gt;If you already have an account, enter your:&lt;/p&gt;

&lt;p&gt;Email address&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%2Faldf84yqycmj501nsamr.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%2Faldf84yqycmj501nsamr.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Password&lt;/p&gt;

&lt;p&gt;Then click "Sign In".&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%2F1nh2xoyd9ewc99o8pmq2.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%2F1nh2xoyd9ewc99o8pmq2.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once Logged In:&lt;/p&gt;

&lt;p&gt;You’ll land on the AWS Management Console.&lt;/p&gt;

&lt;p&gt;From here, you can search for services like EC2, S3, or IAM in the top search bar.&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%2Fb0s2nevhbgfd6bca0p3y.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%2Fb0s2nevhbgfd6bca0p3y.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Launch an EC2 Instance&lt;/strong&gt;&lt;br&gt;
An EC2 instance is a virtual server in AWS's cloud — and we'll use it to install and run Nginx.&lt;/p&gt;

&lt;p&gt;Go to the EC2 Dashboard&lt;br&gt;
In the AWS Console, type EC2 in the search bar and click the result.&lt;/p&gt;

&lt;p&gt;You’ll land on the EC2 Dashboard.&lt;/p&gt;

&lt;p&gt;Click “Launch Instance”&lt;br&gt;
Find the “Launch instance” button and click 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%2Fiihq5zgtcj47rg9d78hp.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%2Fiihq5zgtcj47rg9d78hp.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Configure Your EC2 Instance&lt;/strong&gt;&lt;br&gt;
✅ 1. Name your instance&lt;/p&gt;

&lt;p&gt;Choose an Amazon Machine Image (AMI)&lt;br&gt;
Choose: Ubuntu Server 22.04 LTS (free tier eligible)&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%2Fqtvf7bvikkuizvt7mpue.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%2Fqtvf7bvikkuizvt7mpue.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Choose Instance Type&lt;br&gt;
Select: t2.micro (Free Tier eligible)&lt;/p&gt;

&lt;p&gt;✅ 4. Create a Key Pair&lt;br&gt;
This is how you’ll securely SSH into the server.&lt;br&gt;
Click Create new key pair&lt;/p&gt;

&lt;p&gt;Name it: my-ec2-key (or anything you like)&lt;br&gt;
Click Create Key Pair&lt;/p&gt;

&lt;p&gt;It will automatically download to your computer. Keep it safe!&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%2Fwxydf2sdjas8olxh8nzm.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%2Fwxydf2sdjas8olxh8nzm.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;** Configure Network Settings**&lt;br&gt;
✅ Allow SSH (port 22) — already enabled&lt;/p&gt;

&lt;p&gt;✅ Add rule: HTTP (port 80) — required for Nginx web traffic&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Storage&lt;/strong&gt;&lt;br&gt;
Default 8 GB is fine. Leave it as-is.&lt;/p&gt;

&lt;p&gt;Launch It!&lt;br&gt;
Click Launch instance&lt;/p&gt;

&lt;p&gt;Wait a few seconds for AWS to spin up the 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%2F86ni63av2dmj36f083vv.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%2F86ni63av2dmj36f083vv.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Check Your Instance&lt;/strong&gt;&lt;br&gt;
Click “View Instances”&lt;/p&gt;

&lt;p&gt;You’ll see your new instance listed.&lt;/p&gt;

&lt;p&gt;Wait for the Status Checks to say 2/2 checks passed&lt;/p&gt;

&lt;p&gt;Copy the Public IPv4 address — you’ll need this to SSH into it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Connect to Your EC2 Instance (SSH from Windows)&lt;/strong&gt;&lt;br&gt;
This step lets you remotely access your server from your local Windows machine, using the key pair you downloaded earlier.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Option A:&lt;/strong&gt; Using A &lt;strong&gt;command Prompt&lt;/strong&gt; (Recommended for Beginners)&lt;br&gt;
✅ 1. Open a &lt;strong&gt;Command Prompt&lt;/strong&gt; on your computer.&lt;/p&gt;

&lt;p&gt;✅ 2. Navigate to the directory with your &lt;strong&gt;command prompt&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cd downloads&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;step 2&lt;/strong&gt; run the dir in Command Prompt (Windows)&lt;br&gt;
&lt;code&gt;dir&lt;/code&gt; is a command used to list all files and folders in the current directory.&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%2Ff534j9avdzxx3aj4mt94.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%2Ff534j9avdzxx3aj4mt94.png" alt=" " width="800" height="470"&gt;&lt;/a&gt;&lt;br&gt;
Connect via SSH&lt;br&gt;
Use this command (replace with your actual IP address and key filename)&lt;br&gt;
&lt;code&gt;ssh -i my-ec2-key.pem Ubuntu@3.886.97.457&lt;/code&gt;&lt;br&gt;
When You’re Prompted to Proceed you may be asked to confirm if you want to continue. Then you click on yes.&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%2Fyryji33auoqjxxm17sm6.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%2Fyryji33auoqjxxm17sm6.png" alt=" " width="800" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; Install Nginx on Ubuntu&lt;br&gt;
&lt;code&gt;sudo apt install nginx -y&lt;/code&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%2Fc2k4dr8f4po0rjnjpt0t.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%2Fc2k4dr8f4po0rjnjpt0t.png" alt=" " width="800" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, we'll Start the NGINX server with this command.&lt;br&gt;
&lt;code&gt;Sudo systemctl start nginx&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Then we run the second command &lt;code&gt;Sudo systemctl status nginx&lt;/code&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%2Fyiwc20quxt9fq88b470z.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%2Fyiwc20quxt9fq88b470z.png" alt=" " width="800" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are going to enable the &lt;strong&gt;Nginx&lt;/strong&gt; with this command &lt;br&gt;
&lt;code&gt;Sudo systemctl enable nginx&lt;/code&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%2Fhe44sxu43pgp627lfj1t.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%2Fhe44sxu43pgp627lfj1t.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
I have successfully deployed and configured Nginx on an Ubuntu-based EC2 instance using AWS. The server is now running and accessible over the internet, serving the default Nginx web page. This setup confirms that:&lt;/p&gt;

&lt;p&gt;The EC2 instance was launched and secured properly.&lt;/p&gt;

&lt;p&gt;SSH access was established using a key pair.&lt;/p&gt;

&lt;p&gt;Nginx was installed, started, and verified as active.&lt;/p&gt;

&lt;p&gt;The firewall/security group rules allow HTTP traffic (port 80), enabling web access.&lt;/p&gt;

&lt;p&gt;With this foundation, the server is now ready to host a custom website, act as a reverse proxy, or serve as a base for further web application deployments.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudcomputing</category>
      <category>ubuntu</category>
      <category>webdev</category>
    </item>
    <item>
      <title>🛠️ Deploying an Apache Web Server on AWS EC2: A Step-by-Step Guide</title>
      <dc:creator>Rolland Francis</dc:creator>
      <pubDate>Fri, 04 Jul 2025 23:39:24 +0000</pubDate>
      <link>https://forem.com/rollandfrancis1913/deploying-an-apache-web-server-on-aws-ec2-a-step-by-step-guide-2joc</link>
      <guid>https://forem.com/rollandfrancis1913/deploying-an-apache-web-server-on-aws-ec2-a-step-by-step-guide-2joc</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;INTRODUCTION&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This guide outlines the process of provisioning an EC2 instance and configuring it to host a basic Apache web server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Launch an EC2 Instance&lt;/strong&gt;&lt;br&gt;
Sign in to the AWS Management Console.&lt;/p&gt;

&lt;p&gt;Navigate to &lt;strong&gt;EC2 Dashboard&lt;/strong&gt; and select &lt;strong&gt;Launch Instance&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Configure the instance:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Name:&lt;/strong&gt; Give your instance a meaningful name (e.g., &lt;strong&gt;Apache-Web-Server).&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AMI&lt;/strong&gt;: Choose &lt;strong&gt;Amazon Linux 2 AMI (HVM), SSD Volume Type&lt;/strong&gt; (or &lt;strong&gt;Ubuntu&lt;/strong&gt;, if preferred).&lt;/p&gt;

&lt;p&gt;Instance Type: Select &lt;strong&gt;t2.micro&lt;/strong&gt; (eligible for Free Tier).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Pair&lt;/strong&gt;: Create or choose an existing key pair to access the instance via SSH.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Network Settings:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Allow &lt;strong&gt;SSH (port 22) and HTTP (port 80).&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Click Launch &lt;strong&gt;Instance&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Connect to the EC2 Instance&lt;/strong&gt;&lt;br&gt;
On the EC2 Dashboard, select your instance and click Connect.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Part 2: Connecting to the EC2 Instance Using SSH with Git Bash&lt;br&gt;
Requirements:&lt;/strong&gt;&lt;br&gt;
The &lt;strong&gt;.pem&lt;/strong&gt; key file.&lt;br&gt;
The &lt;strong&gt;Public IPv4 address&lt;/strong&gt; of the EC2 instance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Open Git Bash&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; &lt;strong&gt;Navigate to the Key File Directory&lt;/strong&gt;&lt;br&gt;
              cd Downloads&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%2Fcb16bu6tc3r3wbxqe3es.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%2Fcb16bu6tc3r3wbxqe3es.png" alt="Image description" width="585" height="161"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; &lt;strong&gt;List Files to Verify the Key File&lt;/strong&gt;&lt;br&gt;
                ls&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%2Fd0xbapqwhn6yuclhb7a8.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%2Fd0xbapqwhn6yuclhb7a8.png" alt="Image description" width="583" height="176"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; &lt;strong&gt;Secure the Key File&lt;/strong&gt;&lt;br&gt;
          chmod 400 my-ec2-key.pem&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%2Fnogx8o1dp1598cnp4ntm.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%2Fnogx8o1dp1598cnp4ntm.png" alt="Image description" width="800" height="142"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5:&lt;/strong&gt; &lt;strong&gt;Connect to the EC2 Instance&lt;/strong&gt;&lt;br&gt;
    ssh -i "my-ec2-key.pem" &lt;a href="mailto:ec2-user@3.120.150.55"&gt;ec2-user@3.120.150.55&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%2Fz8s4tqxdd38p25wkb6lj.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%2Fz8s4tqxdd38p25wkb6lj.png" alt="Image description" width="800" height="71"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When prompted, type yes to continue connecting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Part 3: Installing and Starting the Apache Web Server&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Step 1: Update the Package List&lt;/strong&gt;&lt;br&gt;
         sudo yum update -y&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%2F1non9qap79x9l93h6ici.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%2F1non9qap79x9l93h6ici.png" alt="Image description" width="800" height="44"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Install Apache&lt;/strong&gt;&lt;br&gt;
sudo yum install -y httpd&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%2Fya4bh2ma20vosq2vf3wy.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%2Fya4bh2ma20vosq2vf3wy.png" alt="Image description" width="800" height="59"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Start Apache&lt;/strong&gt;&lt;br&gt;
sudo systemctl start httpd&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%2Febryo6mvx9bedtcl569p.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%2Febryo6mvx9bedtcl569p.png" alt="Image description" width="800" height="40"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Enable Apache to Start on Boot&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
You have successfully deployed an Apache web server on an AWS EC2 instance. This configuration provides a basic public-facing web server, ready for static or dynamic web content.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>linux</category>
      <category>awschallenge</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
