What is AWS EC2 Instance Storage?
EC2 Instance storage is the temporary block storage service provided by AWS. EC2 instance storage, in itself, is not a storage service in itself, but essentially it is a part of the EC2 service. These storage devices physically lie on the same host that provides the EC2 instance and are essentially useful to store temporary data associated with the EC2 instances.
Features of EC2 instance storage:
- Temporary storage: EC2 instance storage provides temporary storage for EC2 instances.
- Cost: The cost of these storage volumes is included in the cost of the EC2 instance. Different instances may have different storage volumes capacity, but the cost is always included in the price of the EC2 instance.
- Data Transfer Rate: Since these storage volumes physically reside on the same host as the EC2 server, the I/O speed offered by these storage volumes in extremely high. I/O speeds offered by these volumes far exceed other storage options on AWS.
- Security: Security on instance store volumes is the same as the security on the EC2 associated with them. The roles, users, and policies which have access to an EC2 instance will have access to the associated Instance Storage Volumes.
- Not backed up as AMI: If the user takes an AMI snapshot of an existing EC2 instance, and launches a new instance from that AMI, the instance storage data is not replicated onto the new EC2 instance machine.
Note: This storage is not recommended for critical or valuable data.
Limitations of EC2 instance storage:
- EC2 instance storage, being a temporary storage service, is not suitable for storing important/critical data.
- In case, the EC2 instance associated with this storage is stopped or terminated, all data on the storage is lost with no possible means for data recovery.
- In case, the host device that provided the EC2 instance fails/crashes due to internal errors, all data on EC2 instance storage is lost.
- Not all instance types in EC2 service support Instance Storage Volumes.
- Instance Store Volumes can only be specified for an instance during its launch. Users cannot add new storage volumes as a later update to the same EC2.
Note: If the instance is simply rebooted the data remains intact.
EC2 instance store volumes are particularly recommended in scenarios where the data is rapidly changing and the I/O speed demand is high. Essentially they are best suited to be used as cache and buffer devices for your application. They are not to be relied upon for critical and long term data.