AWS Storage

Lesson 3: Overview of AWS Storage Options


Welcome to Lesson 3 of our "Fundamentals of AWS" series! Today, we embark on a journey through the vast landscape of AWS storage options. Understanding the nuances of storage is pivotal for architects, developers, and cloud enthusiasts alike. Let's dive deep into the world of Amazon EBS, Amazon S3, and Amazon EFS.



Our objectives for this lesson are clear:


1. Understand the Various Storage Options:

   - Amazon EBS (Elastic Block Store).

   - Amazon S3 (Simple Storage Service).

   - Amazon EFS (Elastic File System).


2. Comparison and Use Cases:

   - Differentiate between EBS, S3, and EFS.

   - Explore use cases for each storage type.


3. Best Practices for AWS Storage:

   - Configure storage for optimal performance and durability.

   - Learn data backup and recovery strategies.


4. Explore Storage Gateway:

   - Understand AWS Storage Gateway for hybrid cloud deployments.

   - Learn how to integrate on-premises environments with AWS storage.


 1. Types of AWS Storage:

 - Amazon EBS (Elastic Block Store):

- Definition: Provides persistent block-level storage volumes for use with EC2 instances.

- Example:

  - Attach an EBS volume to an EC2 instance for scalable and high-performance storage.



# AWS CLI command to create an EBS volume

aws ec2 create-volume --availability-zone us-east-1a --size 50 --volume-type gp2



 - Amazon S3 (Simple Storage Service):

- Definition: Object storage service designed to store and retrieve any amount of data at any time.

- Example:

  - Create an S3 bucket for static website hosting or storing large datasets.



# AWS CLI command to create an S3 bucket

aws s3 mb s3://my-awesome-bucket



 - Amazon EFS (Elastic File System):

- Definition: Fully managed file storage service that can be easily shared across multiple EC2 instances.

- Example:

  - Create an EFS file system to support a scalable and shared file storage environment.



 AWS CLI command to create an EFS file system

aws efs create-file-system --creation-token my-efs-token



 2. Comparison and Use Cases:

 - Differentiating Between EBS, S3, and EFS:


Amazon EBS

Amazon S3

Amazon EFS

Use Case

Block-level storage for EC2

Object storage for static content and backups

Shared file storage across instances


Highly durable

Highly durable

Highly durable


High performance, low latency

High throughput, suitable for large datasets

Balanced performance

Access Speed

Low-latency access

Varies (frequent access, infrequent access)

Low-latency access

Access Method

Attached to EC2 instances

RESTful API access

NFS-based access

 Use Cases for Each Storage Type:

- Amazon EBS:

  - Running a relational database with consistent I/O performance.

  - Storing critical application data that requires low-latency access.


- Amazon S3:

  - Storing and serving static website content.

  - Backup and archival of data.

  - Hosting media files and streaming videos.


- Amazon EFS:

  - Shared storage for containers and serverless applications.

  - Content management systems requiring shared file access.

  - Big data analytics with shared data sets.


 3. Best Practices for AWS Storage:

 - Configuring Storage for Performance and Durability:


Amazon EBS:

  - Use Provisioned IOPS (PIOPS) for high-performance workloads.

  - Take regular snapshots for data backup and recovery.


Amazon S3:

  - Enable versioning to protect against accidental deletions.

  - Use lifecycle policies to transition objects to lower-cost storage classes.


Amazon EFS:

  - Configure lifecycle policies for data management.

  - Use provisioned throughput for predictable performance.


Data Backup and Recovery Strategies:

- Implement automated backup mechanisms.

- Regularly test data recovery procedures.

- Utilize cross-region replication for additional data resilience.


 4. Storage Gateway:

 Overview of AWS Storage Gateway:

- Definition: A hybrid cloud storage service that connects on-premises environments with cloud-based storage.

- Example:

  - Set up a Storage Gateway to seamlessly integrate on-premises file shares with Amazon S3.



# AWS CLI command to create a file gateway

aws storagegateway create-gateway --gateway-type FILE_S3 --activation-key "your-activation-key" --name "MyGateway" --region us-east-1



 Integrating On-Premises Environments with AWS Storage:

- Extend existing on-premises storage to AWS.

- Use Storage Gateway to cache frequently accessed data locally.


 Example: Setting Up EBS, S3, and EFS:


Let's tie it all together with a practical example:

  1. Create an EBS volume and attach it to an EC2 instance.
  2. Set up an S3 bucket for storing static website content.
  3. Create an EFS file system for shared file storage across multiple instances.


This example provides a hands-on experience to solidify your understanding of AWS storage options.


In conclusion, AWS storage is not a one-size-fits-all solution. Understanding the strengths and use cases of Amazon EBS, Amazon S3, and Amazon EFS empowers you to architect robust and scalable storage solutions tailored to your needs. Stay tuned for more AWS insights in our upcoming lessons!