Lesson 04 Amazon Storage Services
Lesson 04 Amazon Storage Services
Source: https://docs.aws.amazon.com/
Amazon Storage Services
Learning Objectives
Amazon Simple Storage Service (Amazon S3) is a web-based storage service offered by AWS for
online backup and archiving of data. Users can store and retrieve any amount of data, at any
time, and from anywhere on the internet.
What is Amazon S3?
Features of Amazon S3
01 02 03
Availability Scalability Durability
04 05 06
Performance Cost-efficiency Security
Features of Amazon S3: Availability
Amazon S3 offers 99.99% availability. Users can optimize latency and minimize
costs by choosing the required region to store data.
01 02 03
Availability Scalability Durability
04 05 06
Performance Cost-efficiency Security
Features of Amazon S3: Scalability
01 02 03
Availability Scalability Durability
04 05 06
Performance Cost-efficiency Security
Features of Amazon S3: Durability
Amazon S3 stores data redundantly across multiple facilities and multiple devices in
each facility making it extremely durable.
01 02 03
Availability Scalability Durability
04 05 06
Performance Cost-efficiency Security
Features of Amazon S3: Performance
01 02 03
Availability Scalability Durability
04 05 06
Performance Cost-efficiency Security
Features of Amazon S3: Cost-efficiency
Amazon S3 uses a pay-per-use model that allows users to store large data sets at a
very low cost.
01 02 03
Availability Scalability Durability
04 05 06
Performance Cost-efficiency Security
Features of Amazon S3: Security
Amazon S3 supports SSL (Secure Sockets Layer) data transfer and encrypts uploaded
data.
01 02 03
Availability Scalability Durability
04 05 06
Performance Cost-efficiency Security
Components of Amazon S3
Components of Amazon S3
Buckets:
01 Buckets are containers for storing and organizing data
of any format in Amazon S3.
Keys:
02 Keys are unique identifiers for each piece of data
stored in Amazon S3 buckets.
Regions:
03 Regions are geographical locations where Amazon
stores the S3 buckets created by its users.
Components of Amazon S3
User
Creating an Amazon S3 Bucket
Assisted Practice
Creating an Amazon S3 Bucket
Duration: 15 Min.
Problem Statement:
5. Skip to the review page and click the Create bucket button
Version Control in Amazon S3
Version Control
Versioning is used to keep and maintain multiple variants of an object in the same bucket. It is
used to preserve, retrieve, and restore earlier versions of objects stored in Amazon S3
buckets.
Preserve V.01
V.01
Bucket
Version Control
User can use Version Control to recover files from accidental deletion or overwrite.
ID = 121212
Request
Versioning-enabled User
Version Control States
S3 buckets versions can be in one of the three states such as unversioned, versioning-
enabled, and versioning-suspended.
Key
Key == photo.gif
photo.gif
ID= 121212
ID= 121212
Key = photo.gif
Key = photo.gif Key = photo.gif ID= Null
ID= 111111
Versioning-enabled Versioning-enabled
Source: https://docs.aws.amazon.com/AmazonS3/latest/dev/RestoringPreviousVersions.html
Restoring a Previous Version
Versioning-enabled Versioning-enabled
Source: https://docs.aws.amazon.com/AmazonS3/latest/dev/RestoringPreviousVersions.html
Cross-region Replication
Region Region
Source Destination
Versioning-enabled Versioning-enabled
MFA Delete
Amazon S3 allows users to protect data by enabling Multi-Factor Authentication (MFA) delete.
This provides additional authentication for operations such as changing the versioning state of a bucket
permanently and deleting an object version.
Key = photo.gif
Delete Request Access Granted ID= 121212
Key = photo.gif
ID= 111111
User
Versioning-enabled
Assisted Practice
Configure an S3 Bucket for Versioning
Duration: 5 Min.
Problem Statement:
Amazon S3 allows users to host static websites at low cost by providing a highly available hosting
solution. A static website contains web pages with static content and client-side scripts.
Amazon S3
2
Authentication
To configure an Amazon S3 bucket for static website hosting in the Amazon S3 console, follow
the steps mentioned below:
{
"Version": "2012-10-17",
"Statement": [
{
<html xmlns="http://www.w3.org/1999/xhtml" >
"Sid": "PublicReadGetObject",
<head>
"Effect": "Allow",
<title>My Website Home Page</title>
"Principal": "*",
</head>
"Action": [
<body>
"s3:GetObject"
<h1>Welcome to my website</h1>
],
<p>Now hosted on Amazon S3!</p>
"Resource": [
</body>
"arn:aws:s3:::example.com/*"
</html>
]
}
]
}
3. Add a bucket policy in the bucket policy editor 4. Configure an index document
Amazon S3 Policies
Amazon S3 Policies
An S3 bucket policy is a resource-based AWS Identity and Access Management (IAM) policy that
grants other AWS accounts or IAM users access to the objects in an S3 bucket.
Object permissions apply only to the objects created by the bucket owner. S3 policies
supplement, and in many cases, replace Access Control List(ACL)-based access policies.
Amazon S3 Policies
S3 bucket User
Source: https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html
Amazon S3 Policies
Source: https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html
Assisted Practice
Configure an S3 Bucket for Static Website Hosting
Duration: 20 Min.
Problem Statement:
Configure an S3 bucket for static website hosting by using the Amazon S3 console.
Assisted Practice: Guidelines
Amazon S3 Standard
Amazon S3 Intelligent-Tiering
Amazon S3 Glacier
● Recommended for dynamic websites, cloud and mobile applications, and file
storage
● Stores objects in four access tiers: 2 low latency access tiers(frequent and
infrequent access), 2 opt - in archive access(rare access)
● Supports SSL for data in transit and encryption for data in rest
● Ideal for long-term storage, backups, and as a data store for disaster recovery
files
Amazon S3 One Zone-Infrequent Access
● Designed for the data that is infrequently accessed, but require rapid access
when needed
● Stores data in a single availability zone and costs 20% less than S3 Standard-IA
● Supports SSL for data in transit and encryption for data in rest
● Ideal for customers who want lower-cost options for infrequently accessed data
● Supports SSL for data in transit and encryption for data in rest
● Good for customers from highly-regulated industries who retain data for 7-10 years
Performance Chart
Source: https://aws.amazon.com/s3/storage-classes/
Performance Chart
Source: https://aws.amazon.com/s3/storage-classes/
Amazon S3 Pricing
Amazon S3 Pricing
Amazon S3 charges a user only for what they use. A user pays for storing objects, requests made
against S3 bucket and object, data transferred in from the internet, replicating storage, other storage
management analytics, and so on.
Amazon S3 pricing
Source: https://aws.amazon.com/pricing/
Amazon S3 Pricing
The following are the four cost components to consider when deciding on which
S3 storage class best fits the data profile:
Source: https://aws.amazon.com/s3/pricing/
Amazon S3 Pricing
Source: https://aws.amazon.com/s3/pricing/
Amazon S3 Pricing
Source: https://aws.amazon.com/s3/pricing/
Amazon S3 Pricing
Data management features and replication pricing for Asia Pacific region
Source: https://aws.amazon.com/s3/pricing/
AWS Free Tier
AWS offers a free tier to new users upon sign up to get started with Amazon S3 for free. It
provides free, hands-on experience with the AWS platform, products, and services.
The free tier offers the following types of access, based on the feature usage:
AWS free tier offers new users with the following monthly benefits for a year on the Amazon
Simple Storage Service:
AWS pricing calculator estimates the cost for a storage solution. Users can configure a cost
estimate that fits business or personal requirements with Amazon S3.
Source: https://calculator.aws/#/
Amazon S3 Select and S3 Glacier Select
Amazon S3 Select
Amazon S3 Select allows applications to fetch only a subset of data from an object by using
simple SQL expressions that help users achieve drastic performance increases.
Source: https://aws.amazon.com/blogs/aws/s3-glacier-select/
Amazon S3 Glacier Select
● Amazon S3 Glacier Select allows users to filter data in a Glacier object by using
standard SQL statements.
● To perform select queries, S3 Glacier provides three data access tiers: expedited,
standard, and bulk. A user can choose a tier based on how quickly they need the
data to be available.
● S3 Glacier Select can be used with AWS SDKs, the S3 Glacier REST API and the
AW CLI.
Depending on the type of access that a user want to provide, the following methods can be
used to grant cross-account access for sharing objects between multiple accounts:
2. Account B admin user attaches a user policy authorizing the permissions received
from Account A.
3. User in Account B verifies the permissions by accessing the bucket owned by Account
A.
Source: https://docs.aws.amazon.com/AmazonS3/latest/dev/example-walkthroughs-managing-access-example2.html
AWS DataSync and AWS Backup
AWS DataSync
AWS DataSync is an online data transfer offering by AWS that simplifies, automates, and
accelerates, transfer of large amount of data between on-premise storage system and AWS
storage services.
Source: https://aws.amazon.com/blogs/storage/protect-your-file-and-backup-archives-using-aws-datasync-and-amazon-s3-glacier/
AWS DataSync
● AWS DataSync ensures data security by providing end-to-end encryption and data
integrity validation.
● It directly moves the on-premises cold data to durable and long-term storage such as S3
Glacier that helps free up on premises storage capacity.
● A huge amount of data can be transferred rapidly over network using DataSync.
● It helps to reduce operational cost with the per-gigabyte pricing and saves on script
development, deployment and maintenance cost.
AWS Backup
AWS Backup provides centralized and automated data backup across AWS resources. It can be
used to centrally configure backup policies and monitor backup activities.
Source: https://aws.amazon.com/backup/
Amazon S3 Replication
Amazon S3 Replication is an elastic, fully managed and low cost feature that enables automatic,
asynchronous copying of objects across Amazon S3 buckets by providing great flexibility and
functionality in cloud storage.
Working of S3 Replication
Source: https://aws.amazon.com/s3/features/replication/
Why Use Replication?
Amazon S3 Amazon S3
Cross-Region Same-Region
Replication Replication
Amazon
Replication
Time Control
Types of S3 Replication
● With CRR, a user can replicate objects, their respective metadata, and object
tags for reduced latency, compliance, security, and disaster recovery
● User can set up replication data at the bucket-level, shared prefix level, or object
level by using S3 object tags
● Automatically replicates data between buckets within the same AWS Region
● Replicates data at bucket level, a shared prefix level, or object level by using S3
object tags
● Changes account ownership for the replicated objects to protect accidental data
deletion
● Collects logs from various S3 buckets for in-region processing, or configures live
replication
Types of S3 Replication
Amazon CloudFront is a global content delivery network (CDN) service that securely delivers
content to the end-users with low latency and high transfer speeds.
Amazon CloudFront
Amazon CloudFront
Source: https://aws.amazon.com/blogs/aws/200-amazon-cloudfront-points-of-presence-price-reduction/
Content Delivery Using CloudFront
CloudFront assigns a domain name to the new distribution and sends the
distribution's configuration to all of its edge locations
Content Delivery Using CloudFront
Source: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html
Assisted Practice
Configure an Amazon CloudFront Distribution
Duration: 15 Min.
Problem Statement:
Configure an Amazon CloudFront distribution to serve a static website hosted on Amazon S3.
Assisted Practice: Guidelines
Problem Statement:
You are asked to create a static HTML webpage, upload it in S3 bucket and
generate a sharable domain endpoint for website hosting
Tools required:
AWS S3, Visual Studio Code/ Notepad++
Expected Deliverables:
Screenshots for every steps