Welcome to this article on AWS storage options. This article is aimed at presenting the various storage choices available in Amazon AWS Cloud.
It covers in detail only those types of storage that allow for storage of files and folders much like a file server or a storage area network.
There are mainly two kinds of storage that fall in this category, persistent and non-persistent. The 4 types of storage that will be discussed in this article are:
- EC2 Instance Storage
- EBS – Elastic Block Storage
- S3 – Simple Storage Service
- Glacier – A Cold storage service
However, there are some services offered by AWS that are related to storage but cannot be considered as options for traditional storage of files and folders. As an example:
- AWS Import/Export, is a service offered by Amazon to transport large volumes of data in and out of Amazon’s AWS Cloud using physical drives by shipping them back and forth.
- AWS Storage Gateway, is a service that connects appliances in your network with a cloud-based storage to provide seamless and secure integration between your data center OR on premise infrastructure and AWS cloud
- RDS, is a relational database service that helps provisions relational databases on the cloud
- DynamoDB, is a NoSQL Database service
- Elasticache, is a service that makes it easy to deploy, operate, and scale a distributed, in-memory cache in the cloud.
- Besides these there are other services that come up in discussion such as Redshift, which is a Data warehouse service on the cloud, and SQS, which is a Queuing service. Although all of these are related to storage, this presentation is mainly focused on storage options that allow persistent or non-persistent storage for files and folders.
EC2 Instance Storage
EC2 instance storage gets automatically created with certain instance types and is fixed in size. It is mainly meant for temporary storage for information, and could be used for buffers, caches etc. There is no additional cost for instance storage. Here it is necessary to note that the data stored in EC2 instance storage will be lost if the instance is stopped and restarted or if it gets terminated, the only time it won’t be lost is when rebooted. Also, there is no way of backing up an instance storage as snapshots, and the contents an EC2 instance storage cannot be detached or attached to other instance and the storage is purely local to the instance.
Elastic Block Storage
Elastic Block Storage or EBS volumes provides durable block level storage for EC2 instances:
- These are typically used as drives attached to the EC2 instance
- They are off instance, network attached storage that persist independently from the EC2 instance
- They can be detached from one instance and attached to another
- EBS volumes also provide the ability to create point-in-time snapshots for long term backup of data
- EBS is not meant for temporary storage or highly durable storage
EBS is also not ideal for static data or web-content such as HTML pages.
- EBS provides two volume types: Standard and Provisioned IOPS (Input/Output operations per second):
- Standard volumes are cost effective but provide only 100 IOPS
- Provisioned IOPS volumes are designed to deliver predictable, high performance I/O for intensive workloads, such as database, which can be configured while creating an EBS volume and can be as high as 20,000 IOPS and are priced based on the IOPS chosen
Simple Storage Service – S3
S3, short for Simple Storage Service, is a very commonly used storage in AWS:
- S3 is a highly-durable low latency storage typically used for hosting static content and the files and folders are typically stored in what is called S3 buckets
- S3 buckets are virtually unlimited in size
- S3 is highly available with an SLA with uptime guaranty of 99.999999999% availability per object stored and 99.99% availability in a 1 year period
- S3 therefore can be used for storing mission critical data that is highly secure, supporting encryption at rest and fine-grained access control
- S3 is redundant by design although it comes with a cheaper “Reduced Redundancy” option for the use cases where the redundancy is not required
- S3 provides REST and SOAP based web services API for management as well as data operations and can be integrated with web applications using languages such as Java, .NET, PHP and Ruby.
- Cannot be attached to any instance as a drive or volume
- Is not ideal for use as a file system, where the content changes at a rapid pace, so S3 is not ideal for hosting web content that is dynamic in nature
- Is not ideal for backup and archival storage as there are cheaper alternatives for doing that in AWS
Glacier is a cold storage service used for cheap and long-term storage:
- Glacier stores the archived data in what is called vaults. Vaults can be setup with access control using the AWS Identity and Access management service (IAM)
- Glacier is a very low cost storage service
- It is a highly secure, durable and flexible storage
- It is best suited for long term backup and archival of data
- Glacier also comes with an SLA and availability guaranty of 99.999999999% for an archive
- Has a limit of 4TB per archive but is virtually unlimited in terms of the data you can store in Glacier
- Can integrate with S3 and can be used as a storage class in S3
- It is important to know that any data in Glacier, since it is cold storage, cannot be accessed on demand. It takes 3-5 hours for data to be retrieved from Glacier after a RESTORE request is put in.
- Therefore Glacier is not suitable for rapidly changing or real time data
For more information about AWS related services, please visit us at http://www.0downtime.com