Difference between EBS and Instance Store - AWS
Definitions
EBS volume is network attached drive which results in slow performance but data is persistent meaning even if you reboot the instance data will be there.
Instance store instance store provides temporary block-level storage for your instance. This storage is located on disks that are physically attached to the host computer.
EC2 Storage Overview
EC2 instances support two types of block-level storage:
1: Elastic Block Store (EBS)
2: Instance Store volume (as root volumes and additional volumes)
EC2 instances can be launched by choosing between AMIs backed by the EC2 instance store and AMIs backed by EBS.
However, AWS recommends the use of EBS-backed AMIs, because they launch faster and use persistent storage
Instance Store (Ephemeral storage)
An Instance store-backed instance is an EC2 instance using an Instance store as root device volume created from a template stored in S3.
Instance store volumes access storage from disks that are physically attached to the host computer.
When an Instance stored instance is launched, the image that is used to boot the instance is copied to the root volume (typically sda1).
Instance store provides temporary block-level storage for instances.
Data on an instance store volume persists only during the life of the associated instance; if an instance is stopped or terminated, any data on instance store volumes is lost.
Key points for Instance store backed Instance
Boot time is slower than EBS-backed volumes and usually less than 5 min
Can be selected as Root Volume and attached as additional volumes
Instance-backed Instances can be of a maximum 10GiB volume size
Instance store volume can be attached as additional volumes only when the instance is being launched and cannot be attached once the Instance is up and running.
Instance-backed Instances cannot be stopped, as when stopped and started AWS does not guarantee the instance will be launched in the same host, and hence the data is lost.
Data on Instance store volume is LOST in the following scenarios:-
Failure of an underlying drive
Stopping an EBS-backed instance where instance stores are attached as additional volumes
Termination of the Instance
Data on Instance store volume is NOT LOST when the instance is rebooted
For EC2 instance store-backed instances, AWS recommends to
distribute the data on the instance stores across multiple AZs
back up critical data from the instance store volumes to persistent storage on a regular basis.
AMI creation requires the usage of AMI tools and needs to be executed from within the running instance.
Instance-backed Instances cannot be upgraded
Elastic Block Store (EBS)
An “EBS-backed” instance means that the root device for an instance launched from the AMI is an EBS volume created from an EBS snapshot
An EBS volume behaves like a raw, unformatted, external block device that can be attached to a single instance and is not physically attached to the Instance host computer (more like network-attached storage).
Volume persists independently from the running life of an instance.
After an EBS volume is attached to an instance, you can use it like any other physical hard drive.
EBS volume can be detached from one instance and attached to another instance
EBS volumes can be created as encrypted volumes using the EBS encryption feature
Key points for EBS backed Instance
Boot time is very fast usually less than a min
Can be selected as Root Volume and attached as additional volumes
EBS backed Instances can be of maximum 64TiB volume size depending upon the OS,
EBS volume can be attached as additional volumes when the Instance is launched and even when the Instance is up and running
Data on the EBS volume is LOST for
EBS Root volume, if Delete On Termination flag is enabled, which is the default.
Attached EBS volumes, if the Delete On Termination flag is enabled. It’s disabled, by default.
Data on EBS volume is NOT LOST in the following scenarios:-
Reboot on the Instance
Stopping an EBS-backed instance
Termination of the Instance for the additional EBS volumes. Additional EBS volumes are detached with their data intact
When an EBS-backed instance is in a stopped state, various instance– and volume-related tasks can be done for e.g. you can modify the properties of the instance, you can change the size of your instance or update the kernel it is using, or you can attach your root volume to a different running instance for debugging or any other purpose
EBS volumes are AZ scoped and tied to a single AZ where created.
EBS volumes are automatically replicated within that zone to prevent data loss due to the failure of any single hardware component
AMI creation is easy using a Single command.
EBS backed Instances can be upgraded for instance type, Kernel, RAM disk, and user data