Introduction to AWS Elastic Block Store

In this article, we are going to learn about AWS EBS service and we will be covering the below topics,
So, let’s get started step by step.

INTRODUCTION TO AWS ELASTIC BLOCK STORE

Amazon Elastic Block Store (Amazon EBS) provides persistent block storage volumes for use with Amazon EC2 instances. Each EBS volume is automatically replicated within its Availability Zone to protect you from the component failure, offering high availability and durability.
EBS volumes offer the consistent and low-latency performance needed to run your workloads. With EBS, we can scale our usage up or down within minutes, all by paying a low price for only what you provision.
IMPORTANT TO NOTE HERE,
We will be learning Snapshot in the coming parts of Introduction to AWS Elastic Block Store.

REAL LIFE USE CASE FOR USING AWS EBS SERVICE

We may get a requirement where we need to increase the disk space after we launch our EC2 instance from the AMI.
AMI will have some size like 8GB or 10GB and that will be the root volume. So, if we want extra disk space then we can extend the root volume from 8GB to suppose 100GB. But usually, we don’t do it this way.
Instead, we create a new volume and attach it with our instance.
Now let’s take the requirement which we are going to fulfill,
Here we need to have a 5GB of storage on directory /opt/devdata and this directory should be a separate partition with 5GB of storage size.

SOLUTION

We can achieve the above-mentioned requirement by using ELASTIC BLOCK STORAGE and we can think of it as a virtual hard disk, which one can plug and use.
This is block-based storage which means that we have to create a partition, format it, and then mount it, i.e., we store data. Each block acts as an individual hard drive.
Introduction To AWS Elastic Block Store
There is also file-based storage like Google Drive where we don’t do partition, we simply put our files there and start using it.
Now, let’s get started with the below steps,
Step 1
Start by launching a CentOS 7 EC2 instance and we have seen already in one of my previous articles Host Your Sample App In AWS Instance Using EC2 Service how we can launch an EC2 instance.
Introduction To AWS Elastic Block Store
We can see that this is a root volume /dev/sda1 with default 8GB of size which we get by default when we create a new instance.
Introduction To AWS Elastic Block Store
We will add the tags to this EC2 instance as shown above.
Step 2
I will create a new security group with the name EBS-sg and will set the inbound rules for HTTP and SSH service.
Introduction To AWS Elastic Block Store
And will allow the ports 22 and 80 from my IP.
Step 3
Then we will create the new key pair EBS-kp to login to this instance.
Introduction To AWS Elastic Block Store
Step 4
Finally, will launch the instance post reviewing whatever we have configured and will connect to it using SSH as shown below.
Introduction To AWS Elastic Block Store
Introduction To AWS Elastic Block Store
Step 5
Once we get logged in to the machine, we will switch to the root user and run the below command.
fdisk -l
OUTPUT
Introduction To AWS Elastic Block Store
This command is going to list all the hard disk attached to our Linux OS which is CentOS 7 in our case. Here, we can see that this machine has a root volume named /dev/xvda with a size of 8GB and has one partition /dev/xvda1.
So, by now, we have set up a CentOS 7 EC2 instance and allowed port 80 for HTTP and port 22 for SSH. We have also mentioned the owner of this EC2 instance as the QA team.

Summary

In this article, we have gone through the introduction to AWS EBS service and have also set up the EC2 instance for our real-life use case. In the next article, we will understand some interesting facts about disks and partitions and will also see how we can create partitions and many more things.
I hope you find this article helpful. Stay tuned for more … Cheers!!