Getting started with S3


Storage on AWS
Elastic Block Store
Overview of EBS
Simple Storage Service
Advanced services: Glacier and Storage Gateway
Start course

Storage is a central part of any computing infrastructure. Amazon provides many services on the cloud to replace traditional, on-premises storage systems, ranging from short-term storage for running instances who are doing computation on smal batches of data, up to long-term archives saved in redundant disks or even tapes.

In this course, the Computer Engineer and Cloud Expert Mohammad Ali Tabibi will give you an overview of the AWS storage services like EBS, S3, Glacier and Storage Gateway, to better understand what they are for, how they are built, and how they can be best used.

Who should take this course

Being a beginner course, no prerequisites are needed to understand the concepts of this course. Nevertheless, having some knowledge of what AWS is, and having some experience with the Linux Command Line Interface, might be helpful to follow along the course.

If you want to test your knowledge on the basic topics covered in this course, we strongly suggest to take our AWS questions. Also, if you want to learn more about the other AWS services, please consider checking out our other AWS courses.


Amazon Simple Storage Service or S3 provides a fully redundant data storage infrastructure for storing and retrieving any amount of data at any time from anywhere on the web. It gives access to the same highly scalable, reliable, secure, fast and inexpensive infrastructure that Amazon uses itself to run its own global network of websites.

Amazon S3 provides a highly durable and available storage for a variety of content ranging from web applications to media files. It allows you to offload your entire storage infrastructure onto the cloud where you can take advantage of the Amazon's scalability and pay-as-you-go pricing to handle your growing storage needs. For sharing content that is either easily reproduced or where you are strong original copy elsewhere and where cost matters, Amazon S3's reduced redundancy storage, or RRS, provides a compelling solution. For example, if you're storing media content in-house but you need to provide accessibility to your customers, channel partners or employees, RRS is a low-cost solution for storing and sharing this content. If you need to store large amounts of data, Amazon S3 is an ideal location for it. You can then send this content to Amazon EC2 for computation, resizing or other large scale analytics without incurring any data transfer charges for moving the data between the services. Amazon S3 offers a highly durable, scalable and secure solution for backing up and archiving your critical data. Its versioning capabilities provide even further protection for your stored data. Also you can define rules to automatically archive sets of your Amazon S3 objects in Amazon Glacier, greatly reducing storage costs. You can even host your entire static website on Amazon S3 for an inexpensive and available hosting solution that scales automatically to meet traffic demands.

To get the most out of Amazon S3, you need to understand a few simple concepts. Amazon S3 stores data as objects within buckets. An object is comprised of a file and optionally any meta data that describes that file. To store an object in Amazon S3, you upload the file you want to store to a bucket and you can set its permissions. Buckets are containers for objects. You can have one or more buckets.

For each one of them you can control access permissions, view access logs for the bucket and its objects, and you can choose the geographical region where Amazon S3 will store the bucket and its contents. You also have the possibility to create folders to group objects together.

You can nest folders but you cannot nest buckets. Amazon S3 is intentionally built with a minimal feature set. You can write, read and delete objects containing from one byte to five terabytes of data each.

The number of objects you can store is unlimited. Each object is stored in a bucket and retrieved via a unique developer-assigned key. A bucket can be stored in one of several regions. You can choose a region to optimize for latency, minimize costs, or address regulatory requirements. To ensure that data is kept secure from unauthorized access, authentication mechanisms are provided.

Objects can be made private or public and rights can be granted to specific users. Options for secure data upload and download, an encryption of data at rest are provided for additional data protection. You can use standards-based REST and SOAP interfaces designed to work with any internet development toolkit.

Also S3 provides functionality to simplify manageability of data throughout its lifetime and it includes options for segregating data by buckets, monitoring and controlling spend, and automatically archiving data to even lower cost storage options.

About the Author
Mohammad Ali Tabibi
Software Engineer

Computer Engineer and Cloud Expert