💾 AWS 105: Persistent Storage Power-Up – Creating an EBS Volume

AWS

🧱 EBS Volumes: Building the Hard Drives of Your Cloud Servers

Hey Cloud Builders and Data Defenders! 👋

Welcome to Day 5 of the #100DaysOfCloud Challenge: Create EBS Volume! We’re moving beyond networking and into the storage layer of our migration plan from KodeKloud Engineer.

KodeKloud Engineer

So far, we have our key, our firewall, our network space, and a static IP. But where does our application’s data actually live? On an Amazon Elastic Block Store (EBS) Volume!

1. Introduction: What is an EBS Volume? 💡

Think of an EBS Volume as a network-attached, virtual hard drive for your EC2 instance.

  • Persistence: Unlike the temporary storage that often comes with an instance (instance store), an EBS Volume persists. If you stop or terminate your EC2 instance, the EBS Volume and its data can remain intact.
  • Availability Zone Bound: An EBS Volume is created and exists within a specific Availability Zone (AZ). You can only attach it to an EC2 instance that is running in the same AZ.
  • Volume Type (gp3): We are using gp3 (General Purpose SSD, 3rd generation). This is the latest and recommended default choice because it offers a great balance of price and performance, allowing you to scale IOPS and throughput independently from the volume size.

Our task is simple: create a 2 GiB gp3 volume named nautilus-volume.

Let’s allocate some rock-solid storage! 💾

2. Step-by-Step Guide: Creating the Volume via AWS Console

We will use the AWS Management Console within the EC2 Dashboard, as EBS Volumes are closely tied to EC2 instances.

Step 2.1: Navigate to the EBS Volumes Section

EBS Volumes are a component of the EC2 service.

  1. Log in to the AWS Console.
  2. In the AWS console search bar, type EC2 and click on the first result to open the EC2 Dashboard.

  1. In the left-hand navigation menu, scroll down to the “Elastic Block Store” section.
  2. Click on “Volumes”.

Step 2.2: Initiate Volume Creation

  1. Click the orange “Create volume” button.

Step 2.3: Configure Volume Settings

We must specify the three core requirements: Type, Size, and Name.

  1. Volume type: Select gp3 (General Purpose SSD).
  2. Size (GiB): Enter 2.
  3. Availability Zone: Select an Availability Zone (e.g., us-east-1a). Remember, this volume can ONLY attach to an instance in this specific AZ.
  4. IOPS and Throughput: For gp3, these fields have default minimums (3,000 IOPS and 125 MiB/s) which are free up to a certain point. Leave them at their defaults.

Step 2.4: Add the Name Tag

For resource management, we must tag the volume.

  1. Scroll down to the “Tags” section.
  2. Click “Add new tag”.
  3. For the tag Key, type Name.
  4. For the tag Value, type the required name: nautilus-volume.

Step 2.5: Finalize Creation

  1. Click the “Create volume” button at the bottom right.

You will see your new nautilus-volume appear in the dashboard with a state of “available.” This means it’s ready to be attached to an EC2 instance! Excellent work! 🎉

3. Key Takeaways 📝

  • EBS is Persistent: Data on an EBS Volume survives the stop/start/termination of an EC2 instance.
  • AZ Specific: Volumes are locked to the AZ they are created in.
  • gp3 is Modern: The gp3 volume type offers cost-effective, high-performance storage where IOPS and throughput are independently configurable.

4. Common Mistakes to Avoid 🚫

  1. Wrong AZ: Trying to attach a volume to an instance in a different Availability Zone. AWS will not allow this.
  2. Not Naming: Forgetting to apply the Name tag, which makes it hard to identify the volume later.
  3. Forgetting to Attach: Creating the volume but forgetting the crucial second step: attaching it to an instance so the OS can actually use it.
  4. Leaving Unused: Similar to EIPs, volumes cost money even when they are not attached to an instance. Delete unused volumes to save costs!

5. Conclusion + Call to Action! 🌟

You’ve successfully provisioned persistent block storage for your cloud environment! This nautilus-volume is the perfect place to store application data that needs to survive server lifecycle events. Keep crushing the 100 Days of Cloud Challenge!

If you found this guide helpful, please:

  • 💬 Let’s connect on LinkedIn: Cloud, DevOps, consistency, and learning in public—let’s build together!
    👉 Hritik Raj

  • Support my journey on GitHub: Follow my #100DaysOfCloud challenge with real AWS tasks and hands-on learning
    👉 GitHub – 100 Days of Cloud

Next up, we might launch our first EC2 instance and attach this volume to it! Happy storage management! 💻

Leave a Reply