Storage Options on AWS

Abdullah Ayad
2 min readNov 12, 2023

So there are lots of storage options on the AWS, all with their different use cases.
I wanted to summarize what are the differences.

Amazon S3

It is for Object Storage and it’s a very specific API, but it’s great for anything related to AWS.
When we want to archive these objects, we can use the S3 Glacier service.

EBS Volumes

Now, if we want to attach storage to one EC2 instance at a time, we could use EBS volumes.
EBS volumes have a little feature called multitask for the IO1 and IO2 volumes.
And within EBS, they were different kinds of volumes like GP3 volumes, IO2 volumes, and so on.

EC2 Instance Volumes

If we wanted to get super high performance, physical storage for your EC2 instance with very high IOPS.
If this is the physical storage, then we need to use the EC2 Instance Storage.

Network File System

If we wanted to get a Network File System for Linux instances, that could be mounted across multiple availability zones with the POSIX file system, then we should use the Amazon EFS service.

Amazon FSx

Now, if you wanted to have a Windows server file system we need to use the Amazon FSx for Windows service.

If you wanted to get very High Performance Computing Linux file system that’s compatible with a Lustre client, then we need to use FSx for Lustre.

If you wanted to get super High Operating System Compatibility for a network file system, we could use the FSx NetApp ONTAP file system.

If you want to get a managed ZFS file system, we could use FSx for OpenZFS.

Storage Gateway

Now we have other ways to bridge storage between on premises and AWS, we have the Storage Gateway.

So we sell the different types of storage gateway. We have the S3 and the FSx File Gateway to synchronize files between on premises and Amazon S3 or Amazon FSx.

We have the Volume Gateway to mount volumes onto your on premises servers but have them backed up in the cloud.

And we have the Tape Gateway to just do backups in the tape form.

AWS Transfer Family

If you wanted to have a FTP, FTPS, or SFTP interface on top of Amazon S3 or Amazon EFS, then you would use the AWS Transfer Family.


If you wanted to synchronize data on the schedule from on premises to AWS, or AWS to AWS, you would use the DataSync service.

Snow Family

And finally, if you don’t have the network capacity to move data, but you want to move large amount of data physically, then you would order a Snowcone, a Snowball, or a Snowmobile type of device into on-premises and then move it to the cloud.

With the particularity that Snowcone comes with a data sync agent bundled in it already.


You can store your data on databases but there are sort of very specific workloads usually need indexing and querying




Abdullah Ayad

Machine Learning and AI(NLP & Computer Vision) Engineer, AWS Community Builder, Kaggle Expert