AWS EC2 Storage Types

Amazon EC2 has many storage options, the first being EBS Volumes. An EBS Volume stands for Elastic Block Store. EBS is a network drive that can be attached to EC2 instances. These types of volumes make it possible to persist data even if the instance it is being used with is terminated. EBS Volumes are also highly available and can be used to create a robust storage solution. Being able to recreate an instance and then mount it to a previously existing EBS Volume makes it possible to retain data across new EC2 instances or EC2 instance failures. An EBS Volume is tied to a given availability zone.

EBS Volume

• EBS Volume is a network drive
• Since EBS uses the network to communicate the instance there can be small amounts of latency
• An excellent feature is that a volume can be detached from an EC2 instance and then reattached to another one very quickly
• An EBS Volume is tied to an Availability Zone therefore An EBS Volume in us-east-1a cannot be attached to us-east-1b. To move a volume across an AZ, you would first need to snapshot it
• Have a provisioned capacity with size in GBs and IOPS

Since EBS is a volume you have to provision capacity in advance. You’ll need to specify how many GBs you want in advance as well as the I/O operations per second. You define how you want your EBS Volume to perform and are billed for that capacity. It is possible to attach two volumes to one instance. It’s almost like having two network USB drives plugged into one machine.

You can create EBS Volumes and leave them unattached if desired. At a later time, the volume can be attached on demand so to speak, so this gives quite a bit of flexibility. One more thing to be aware of is the Deletes on Termination attribute. When creating an EBS Volume and EC2 instance, there is an option named Delete on Termination. By default, this is turned on for the root volume but not for a new Volume. This is what determines what happens to a volume or volumes when an EC2 instance is terminated.

EBS Snapshot

EBS Snapshots are a point-in-time copy of your data and can be used to enable disaster recovery, migrate data across regions and accounts, and improve backup compliance. You can create and manage your EBS Snapshots through the AWS Management Console, AWS Command Line Interface (CLI), or AWS SDKs.

• EBS Snapshot Archive Features
• Move a Snapshot to an ”archive tier” that is 75% cheaper
• Will take 24 to 72 hours for restoring the archive
• Leverage Recycle Bin for EBS Snapshots
• You can configure rules to retain deleted snapshots so you can recover them after an accidental deletion
• Specify retention from 1 day to 1 year

AMI

An Amazon Machine Image (AMI) is a supported and maintained image provided by AWS that provides the information required to launch an instance. You must specify an AMI when you launch an instance. You can launch multiple instances from a single AMI when you require multiple instances with the same configuration.

• AMI = Amazon Machine Image
• AMI is a customization of an EC2 instance
• You add your own software, configuration, operating system, monitoring…

• Faster boot/configuration time because all your software is pre-packaged
• AMIs are built for a specific region (and can be copied across regions)
• You can launch EC2 instances from:
— A Public AMI: AWS provided
— Your own AMI: you make and maintain them yourself
— An AWS Marketplace AMI: an AMI someone else made (and potentially sells)

• Start an EC2 instance and customize it
• Stop the instance for data integrity
• Build an AMI – this will also create EBS snapshots • Launch instances from other AMIs

EC2 Image Builder

EC2 Image Builder is a fully managed AWS service that makes it easier to automate the creation, management, and deployment of customized, secure, and up-to-date server images that are pre-installed and pre-configured with software and settings to meet specific IT standards.

• Used to automate the creation of virtual machines or container images
• => Automate the creation, maintenance, validation and testing of EC2 AMIs
• Can be run on a schedule (weekly, whenever packages are updated, etc…)

• Free service (only pay for the underlying resources)

EC2 Instance Store

An AWS instance store is a temporary storage type located on disks that are physically attached to a host machine. Instance stores are made up of single or multiple instance store volumes exposed as block devices. Block storage on AWS is available with AWS EBS.

• EBS volumes are network drives with good but “limited” performance
• If you need a high-performance hardware disk, use EC2 Instance Store
• Better I/O performance
• EC2 Instance Store lose their storage if they’re stopped (ephemeral)

• Good for buffer/cache/scratch data, and temporary content
• Risk of data loss if hardware fails
• Backups and Replication are your responsibility

EFS

Amazon EFS is a cloud-based file storage service for applications and workloads that run in the Amazon Web Services public cloud. AWS automatically deploys and manages the infrastructure for Elastic File System (EFS), which is distributed across an unlimited number of servers to avoid performance bottlenecks.

• Managed NFS network file system that can be mounted on 100s of EC2 instances
• EFS works with Linux EC2 instances in multi-AZ
• Highly available, scalable, expensive (3x gp2), pay per use, no capacity planning

EFS-IA

Amazon EFS Standard-Infrequent Access (EFS Standard-IA) and Amazon EFS One Zone-Infrequent Access (EFS One Zone-IA) are storage classes that provide price/performance that is cost-optimized for files not accessed every day, with storage prices up to 92% lower compared to Amazon EFS Standard.

• Storage class that is cost-optimized for files not accessed every day
• Up to 92% lower cost compared to EFS Standard
• EFS will automatically move your files to EFS-IA based on the last time they were accessed
• Enable EFS-IA with a Lifecycle Policy
• Example: move files that are not accessed for 60 days to EFS-IA
• Transparent to the applications accessing EFS

FSx for Windows

Amazon FSx for Windows File Server provides fully managed shared storage built on Windows Server and delivers a wide range of data access, data management, and administrative capabilities.

• A fully managed, highly reliable, and scalable Windows native shared file system
• Built on Windows File Server
• Supports SMB protocol & Windows NTFS
• Integrated with Microsoft Active Directory
• Can be accessed from AWS or your on-premise infrastructure

FSx for Lustre

Amazon FSx for Lustre provides fully managed shared storage with the scalability and performance of the popular Lustre file system.

• A fully managed, high-performance, scalable file storage for High-Performance Computing (HPC)
• The name Lustre is derived from “Linux” and “cluster”
• Machine Learning, Analytics, Video Processing, Financial Modeling, …
• Scales up to 100s GB/s, millions of IOPS, sub-ms latencies

Learn more about ec2 storage