EBS/EFS Cheat Sheet

Elastic Block Store: What is it?

  • Block type storage for EC2 instances, can be attached/detached on demand.
  • Attach multiple EBS volumes to a single EC2 instance in the same AZ
  • EBS Multi-Attach for Provisioned IOPS allows multiple EC2 to connect to a single Volume.
  • Designed for Scalability, Data backup/recovery, durability and Data Archiving.
  • Different cost associations depending on volume type. However you pay for what is provisioned.
  • EBS Volumes offer Point-in-time incremental snapshots.
  • The service is primarily accessed through EC2 Console or AWS CLI.

Elastic Block Store: Volume Comparison Table

Nitro-based instances support volumes provisioned at 256,000, other instances can have volumes up to 64,000 but will only run at 32,000. 

IOPS: Input/Output Operations Per Second

  • Disk reads/sec + Disk Writes/sec = IOPS
  • Calculate IOPS required for applications before provisioning a storage solution
  • Not getting these requirements could mean you have underprovisioned resources.

EBS Snapshots:

  • First snapshot created is always a full snapshot.
  • Subsequent snapshots to the same volume are incremental - changed and new data blocks only.
  • Snapshot is only of data used on volume, not entire volume.
  • Size and storage cost of incremental snapshots thereafter are only of the changed or new data blocks.
  • Snapshots are stored in S3 Bucket, not accessible from S3 Console. Only EC2.
  • Can use snapshots to create new volumes that are replicas.
  • EBS Volumes are not backed up by default and relies on the user to create snapshots.
  • Encyrption at rest and encryption in transit as the encryption happens on the server that hosts instance and EBS volume.

Elastic File Service (EFS):

  • Fully managed, Servereless, Scalable, Secure file system.
  • Used for EC2, Lambda and Containers. Can be extended for On-Prem.
  • Dont need to provision or remove storage, its elastic.
  • Can be mounted in VPC.
  • Does not support Windows based clients.
  • Supports Linux, macOS, ECS Tasks, EKS Pods and Lambda Functions.
  • Typical deployment depicts a single VPC with Mount Points in 3 AZ/Subnets.