Revision Notes for Amazon Solutions Architect Associate.
What is S3?
- S3 is a safe place to store your files.
- It is Object based storage, meaning you can store files such as images, videos and documents.
- It is not a place to install an Operating System, for that you will need block based storage.
- S3 is designed to withstand failure, Your data is spread across multiple devices and multiple facilities.
- Your files can be anywhere from 0B in size all the way up to 5TB, storage is virtually unlimited.
- Files are stored in Buckets which is essentially a Folder.
- Names of Buckets MUST be unique, you cannot share the same name as another user.
- Your buckets will be assigned a DNS name upon creating it, it will always begin with https://s3- and then the region you created your bucket in, https://s3-eu-west1.amazonaws.com/ and then this will be followed by your bucket name https://s3-eu-west1.amazonaws.com/appman
- When you upload a file successfully into S3 you will receive a HTTP 200 code.
Data Consistency Model for S3
- Read after write consistency for PUTS of new Objects. – Meaning when you put a new object in S3 you are going to get immediate consistency, you will be able to make changes straight away
- Eventual Consistency for overwrite PUTS and DELETES (can take a while to propagate.) – Meaning making changed or deleting older files will take a while as it will need to update all the disks / locations your files have been written too.
S3 is a simple key, value store
- S3 is object based. objects consist of the following;
- Key (This is simply the name of the object)
- Value (This is the data and is made up of a sequence of bytes)
- Version ID (Important for versioning)
- Metadata (Data about the data you are storing)
- Access control lists
- S3 is built for 99.99% availability.
- Amazon Guarantee 99.9% up time.
- Amazon Guarantee 99.999999999% durability for S3 Information. (What!?) You will never lose a file.
- Tiered Storage Options Available.
- LifeCycle Management, gives you the option to move or archive files to different areas of your buckets after a certain period of time.
- Versioning, you can have 1 file with several different versions.
- Secure your data with Policies and Access Control Lists.
Storage Classes / Tiers
- S3 – 99.99% availability, 99.999999999% durability, stored redundantly across multiple devices and locations. It is designed to sustain the loss of 2 facilities concurrently.
- S3 – IA (Infrequently Accessed.) For data that is access less frequiently, but requires rapid access when needed. there is a lower fee than S3 but you are charged a retrieval fee.
- Reduced Redundancy Storage (RRS) – Designed to provide 99.99% durability and 99.99% availability of objects over a given year. – Best used for data you can generate again.
- Glacier – Very cheap, but used for archival only. It takes 3 -5 hours to restore from Glacier.
What is Glacier?
Glacier is an extremely low-cost storage service for data archival. Amazon Glacier stores data for as little as $0.01 per gigabyte per month, and is optimized for data that is infrequently used, for which it will take 3 to 5 hours to retrieve a file.
S3 Vs Glacier
S3 – Charges – What are you charged for?
- The number of requests
- Storage Management Pricing
- Data Transfer Pricing, uploading data is free but transferring to different regions are chargeable
What is S3 Transfer Acceleration?
Amazon S3 Transfer Acceleration enables fast, easy and secure transfers of files over long distances between your end users and an s3 bucket. Transfer Acceleration takes advantage of Aamzon CloudFront’s globally distributed edge locations. As the data arrives at an edge location, data is routed to Amazon S3 over an optimized network path.