Introduction

AWS S3 is where individuals, applications and a long list of AWS services keep their data. Its an excellent platform for:

OS volumes learned about in previous chapter are kept on block storage volumes driving your EC2 instance. S3 by contract, provides a space for effectively unlimited object storage.

<aside> 💡 Block vs Object Storage

Block level storage, data is stored on a raw physical storage device which is divided into individual blocks who use is managed by a file system. NFTS is a common filesystem used by Windows and Linux might use Brtfs or ext4.

Object storage like S3m provides a flat surface to store data. Design avoids OS-related complications of block storage and allows anyone easy access to any amount of professionally designed and maintained storage capacity.

</aside>

S3 Service Architecture

You can organise your S3 files into buckets. By default, can create 100 buckets for each AWS account (can ask AWS to increase that limit). Although an S3 bucket and its contents exist only within a single AWS region, name you choose must be globally unique.

Working with Large Objects

A single object may be no larger than 5TB. Individual uploads can be no larger than 5GB. To reduce risk of data loss or aborted uploads, AWS recommends use a feature called Multipart Upload for any object larger than 100MB.

As the name suggests, Multipart Upload will be used automatically when upload is initiated by AWS CLI or a high level API. Need to manually break up your object if you’re working with a low level API.

API is a programmatic interface through which operations can be run through code or from the command line.

<aside> 💡 Transfer Acceleration can be used to speed up transfer. Uploads get routed through geographically nearby AWS edge locations and, from there, routed using Amazon’s internal network.

</aside>

Encryption