DEV Community

Manoj Kumar Patra
Manoj Kumar Patra

Posted on

AWS Basics - Beginner's Guide to EBS

EBS Volumes

EBS stands for Elastic Block Store - Virtual disks in the cloud (spread across regions) that we attach to EC2 instances.

EBS volume attached to an EC2 instance is called root device volume.

EBS volumes can be used to

  1. create a file system
  2. run a database
  3. run an OS
  4. store data
  5. install applications

EBS volumes are designed for

  1. mission critical workloads
  2. highly available - auto-replicated within a single availability zone to protect against hardware failures
  3. scalable - dynamically increase capacity or change type of volume with zero downtime or performance impact on live systems

Available EBS volume types

General purpose SSD (GP2)

  • Balances both price and performance
  • 3 IOPS (Input/output operations per second) per GB
  • Up to 16,000 IOPS per volume
  • GP2 volumes smaller than 1 TB can burst upto 3,000 IOPS
  • good for boot volumes, dev/test applications and anything that is latency insensitive

Provisioned IOPS SSD (IO1)

  • High performance and most expensive
  • 50 IOPS per GiB
  • Up to 64,000 IOPS per volume
  • greater than 16,000 IOPS
  • good for I/O intensive applications or latency sensitive applications

Provisioned IOPS SSD (IO2)

  • Latest gen
  • 500 IOPS per GiB
  • Higher durability (99.999%) and more IOPS
  • same price as IO1
  • Max limit same as IO1

Throughput Optimized HDD (ST1)

  • for big data, data warehouse, ETL, log processing
  • cannot be a boot volume
  • additional volume
  • low cost
  • 40 MB/s per TB
  • burst up to 250 MB/s per TB
  • max throughput of 500 MB/s per volume

Cold HDD (SC1)

  • low cost storage
  • file server
  • cannot be a boot volume
  • baseline 12 MB/s per TB
  • burst up to 80 MB/s per TB
  • max throughput of 250 MB/s per volume

Magnetic (Standard)

  • Ideal for workloads where data is accessed infrequently
  • legacy
  • useful when lowest storage cost is important

Creating an EBS Volume Type and attaching it to a host

  1. Go to EC2 Dashboard.
  2. Select Volumes.
  3. Select Create volume.

To attach a volume to an existing EC2 instance, select Actions and Attach Volume.

Creating a volume with a snapshot ID leads to creating a replica of the original volume used to create the snapshot.

Volumes that are created from encrypted snapshots are automatically encrypted, and volumes that are created from unencrypted snapshots are automatically unencrypted.

If no snapshot is selected, we can choose to encrypt the volume and specify your own key.

IOPS vs Throughput

IOPS Throughput
measures the number of read and write operations per second measures the number of bits read or written per second (MB/s)
for quick transactions, low latency apps, transactional workloads for large datasets, large I/O sizes, complex queries
has the ability to read and write quickly works well with large datasets

Top comments (0)