SlideShare a Scribd company logo
1 of 142
Download to read offline
Masterclass
ianmas@amazon.com
@IanMmmm
Ian Massingham — Technical Evangelist
Amazon S3
Masterclass
Intended to educate you on how to get the best from AWS services
Show you how things work and how to get things done
A technical deep dive that goes beyond the basics
1
2
3
Amazon S3
Secure, durable, highly-scalable object storage

Accessible via a simple web services interface
Store & retrieve any amount of data
Use alone or together with other AWS services
Amazon S3
Durable Available
Low Cost
Scalable High Performance
Secure
Integrated
Easy to Use
Amazon S3
Backup & Archiving Big Data Analytics
Static Website HostingDisaster Recovery
Content Storage & Distribution
Cloud-native Application Data
Agenda
Amazon S3 Concepts & Fundamentals

Namespaces
Access Controls
Storage Classes

Encryption & Other Security Features
Versioning & Cross-Region Replication
Lifecycle Rules
Website Hosting
AMAZON S3 CONCEPTS
BUCKETS
Containers for objects stored in S3
Serve several purposes:
Organise the Amazon S3 namespace at the highest level
Identify the account responsible for charges
Play a role in access control
Serve as the unit of aggregation for usage reporting
Fundamental entities stored in Amazon S3
Consist of data & metadata
Data portion is opaque to Amazon S3
Metadata is a set of name-value pairs that describe the object
Object is uniquely identified within a bucket by a key (name) and a version ID
OBJECTS
Unique identifier for an object within a bucket.
Every object in a bucket has exactly one key
Combination of a bucket, key & version ID
uniquely identify each object
KEYS
http://doc.s3.amazonaws.com/2006-03-01/AmazonS3.wsdl
The geographical region where Amazon S3 will
store the buckets that you create
Choose a region to optimise latency, minimise
costs, or address regulatory requirements.
REGIONS
AMAZON S3 FUNDAMENTALS
A web store, not a file system
Highly scalable data storage
Fast Economical
Access via APIs
Highly available & durable
Access via APIshttp://aws.amazon.com/documentation/s3/
Access via SDKshttp://aws.amazon.com/tools/
Access via SDKs
https://github.com/awslabs/aws-sdk-go
Access via AWS CLI
List buckets
List buckets contents
Copy a file to an object
Stream the contents of
an object to STDOUT
Delete an object
Sync a directory with
a bucket
List buckets contents
Delete buckets contents
AWS S3 CLI help
AWS CLI
Access via AWS CLI
Detailed help on a
specific command
AWS CLI
AMAZON S3 FUNDAMENTALS
A web store, not a file system
Highly scalable data storage
Fast Economical
Access via APIs
Highly available & durable
A web store, not a file system
Eventually consistent
Write once,
Read many
A web store, not a file system
Eventually consistent
Write once,
Read many
A web store, not a file system
Eventually consistent
Write once,
Read many
Region
Availability.Zone
Indexing Storage
Load.balancers
Web.servers
Availability.Zone
Indexing Storage
Load.balancers
Web.servers
A web store, not a file system
Eventually consistent
Write once,
Read many
Region
Availability.Zone
Indexing Storage
Load.balancers
Web.servers
Availability.Zone
Indexing Storage
Load.balancers
Web.servers
A web store, not a file system
Eventually consistent
Write once,
Read many
Region
Availability.Zone
Indexing Storage
Load.balancers
Web.servers
Availability.Zone
Indexing Storage
Load.balancers
Web.servers
A web store, not a file system
Eventually consistent
Write once,
Read many
Region
Availability.Zone
Indexing Storage
Load.balancers
Web.servers
Availability.Zone
Indexing Storage
Load.balancers
Web.servers
Region
Availability.Zone
Indexing Storage
Load.balancers
Web.servers
Availability.Zone
Indexing Storage
Load.balancers
Web.servers
A web store, not a file system
Eventually consistent
Write once,
Read many
Region
Availability.Zone
Indexing Storage
Load.balancers
Web.servers
Availability.Zone
Indexing Storage
Load.balancers
Web.servers
A web store, not a file system
Eventually consistent
Write once,
Read many
A web store, not a file system
Eventually consistent
Write once,
Read many
Region
Availability.Zone
Indexing Storage
Load.balancers
Web.servers
Availability.Zone
Indexing Storage
Load.balancers
Web.servers
A web store, not a file system
Eventually consistent
Write once,
Read many
A web store, not a file system
Eventually consistent
Write once,
Read many
New Objects
Updates
Deletes
Synchronously stores your data across multiple
facilities before returning SUCCESS
Read-after-write consistency,
except US-STANDARD region
Write then read: could report key does not exist
Write then list: might not include key in list
Overwrite then read: old data could be returned
Delete then read: could still get old data
Delete then list: deleted key could be included in
list
Find out more here: docs.aws.amazon.com/AmazonS3/latest/dev/Introduction.html
NAMESPACES
Bucket Name + Object Name (key)
Globally Unique
Bucket Name + Object Name (key)
Globally Unique
Amazon S3
bucket
object object
bucket
object object
bucket
object object
Bucket Name + Object Name (key)
Globally Unique
Amazon S3
ianm-aws-bootstrap
wp/bootstrap.sh wp/credentials.txt
ianm-aws-docs
s3-webinar.pptx vid/s3-webinar.mp4
aws-exampl.es
index.html logo.png
Object key
Unique within a bucket
Object key
Unique within a bucket
Max 1024 bytes UTF-8 Including ‘path’ prefixes
Object key
Unique within a bucket
Max 1024 bytes UTF-8 Including ‘path’ prefixes
assets/js/jquery/plugins/jtables.js	
  
an example object key
Throughput Optimisation
2134857/gamedata/start.png	
  
2134857/gamedata/resource.rsrc	
  
2134857/gamedata/results.txt	
  
2134858/gamedata/start.png	
  
2134858/gamedata/resource.rsrc	
  
2134858/gamedata/results.txt	
  
2134859/gamedata/start.png	
  
2134859/gamedata/resource.rsrc	
  
2134859/gamedata/results.txt
mynewgame
Bucket Object keys
S3 automatically partitions based upon key prefix:
Throughput Optimisation
2134857/gamedata/start.png	
  
2134857/gamedata/resource.rsrc	
  
2134857/gamedata/results.txt	
  
2134858/gamedata/start.png	
  
2134858/gamedata/resource.rsrc	
  
2134858/gamedata/results.txt	
  
2134859/gamedata/start.png	
  
2134859/gamedata/resource.rsrc	
  
2134859/gamedata/results.txt
mynewgame
Bucket Object keys
S3 automatically partitions based upon key prefix:
Incrementing
game IDs
Throughput Optimisation
2134857/gamedata/start.png	
  
2134857/gamedata/resource.rsrc	
  
2134857/gamedata/results.txt	
  
2134858/gamedata/start.png	
  
2134858/gamedata/resource.rsrc	
  
2134858/gamedata/results.txt	
  
2134859/gamedata/start.png	
  
2134859/gamedata/resource.rsrc	
  
2134859/gamedata/results.txt
mynewgame
Bucket Object keys
S3 automatically partitions based upon key prefix:
Partition:
mynewgame/2
Throughput Optimisation
7584312/gamedata/start.png	
  
7584312/gamedata/resource.rsrc	
  
7584312/gamedata/results.txt	
  
8584312/gamedata/start.png	
  
8584312/gamedata/resource.rsrc	
  
8584312/gamedata/results.txt	
  
9584312/gamedata/start.png	
  
9584312/gamedata/resource.rsrc	
  
9584312/gamedata/results.txt
mynewgame
Bucket Object keys
S3 automatically partitions based upon key prefix:
Reversed
game ID
Throughput Optimisation
7584312/gamedata/start.png	
  
7584312/gamedata/resource.rsrc	
  
7584312/gamedata/results.txt	
  
8584312/gamedata/start.png	
  
8584312/gamedata/resource.rsrc	
  
8584312/gamedata/results.txt	
  
9584312/gamedata/start.png	
  
9584312/gamedata/resource.rsrc	
  
9584312/gamedata/results.txt
mynewgame
Bucket Object keys
S3 automatically partitions based upon key prefix:
Partitions:
mynewgame/7
mynewgame/8
mynewgame/9
ACCESS CONTROLS
SECURE BY DEFAULT
You decide what to share
Apply policies to buckets and objects
Policies, ACLs & IAM
Use S3 policies, ACLs or IAM to define rules
Fine grained
Administer as part of role
based access
Apply policies to S3 at
role, user & group level
Allow	
  
Actions	
  
PutObject	
  
Resource	
  
arn:aws:s3:::mybucket/*
Bob Jane
IAM Policies
Find out more here: aws.amazon.com/iam
Fine grained
Administer as part of role
based access
Apply policies to S3 at
role, user & group level
Allow	
  
Actions	
  
PutObject	
  
Resource	
  
arn:aws:s3:::mybucket/*
Bob Jane
Find out more here: aws.amazon.com/iam
IAM Policies
Fine grained
Administer as part of role
based access
Apply policies to S3 at
role, user & group level
Allow	
  
Actions	
  
PutObject	
  
Resource	
  
arn:aws:s3:::mybucket/*
Bob Jane
Find out more here: aws.amazon.com/iam
IAM Policies
Fine grained
Administer as part of role
based access
Apply policies to S3 at
role, user & group level
Allow	
  
Actions	
  
PutObject	
  
Resource	
  
arn:aws:s3:::mybucket/*
Bob Jane
Bucket Policies
Fine grained
Apply policies at the bucket
level in S3
Incorporate user restrictions
without using IAM
Allow	
  
Bob,	
  Jane	
  
Actions	
  
PutObject	
  
Resource	
  
arn:aws:s3:::mybucket/*
mybucket
IAM Policies
Bucket Policies
Fine grained
Apply policies at the bucket
level in S3
Incorporate user restrictions
without using IAM
Allow	
  
Bob,	
  Jane	
  
Actions	
  
PutObject	
  
Resource	
  
arn:aws:s3:::mybucket/*
mybucket
{	
  
	
  	
  "Version":"2012-­‐10-­‐17",	
  
	
  	
  "Statement":[	
  
	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  "Sid":"AddPerm",	
  
	
  	
  	
  	
  	
  	
  "Effect":"Allow",	
  
	
  	
  	
  	
  	
  	
  "Principal":	
  "*",	
  
	
  	
  	
  	
  	
  	
  "Action":["s3:GetObject"],	
  
	
  	
  	
  	
  	
  	
  "Resource":["arn:aws:s3:::examplebucket/*"]	
  
	
  	
  	
  	
  }	
  
	
  	
  ]	
  
}
Granting Read-Only Permission
to an Anonymous User
{	
  
	
  	
  "Version":"2012-­‐10-­‐17",	
  
	
  	
  "Statement":[	
  
	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  “Sid":"AddPerm",	
  
	
  	
  	
  	
  	
  	
  "Effect":"Allow",	
  
	
  	
  	
  	
  	
  	
  "Principal":	
  "*",	
  
	
  	
  	
  	
  	
  	
  "Action":["s3:GetObject"],	
  
	
  	
  	
  	
  	
  	
  "Resource":["arn:aws:s3:::examplebucket/*"]	
  
	
  	
  	
  	
  }	
  
	
  	
  ]	
  
}
Granting Read-Only Permission to an Anonymous User
Who the policy applies to. * means everyone
The actions allowed/denied by this policy
The AWS resource that this policy applies to.
In this case all objects in example bucket
The effect of the policy, allow or deny
Bucket Policies
Fine grained
Apply policies at the bucket
level in S3
Incorporate user restrictions
without using IAM
Allow	
  
Bob,	
  Jane	
  
Actions	
  
PutObject	
  
Resource	
  
arn:aws:s3:::mybucket/*
mybucket
{	
  
	
  	
  "Version":	
  "2012-­‐10-­‐17",	
  
	
  	
  "Id":	
  "S3PolicyId1",	
  
	
  	
  "Statement":	
  [	
  
	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  "Sid":	
  "IPAllow",	
  
	
  	
  	
  	
  	
  	
  "Effect":	
  "Allow",	
  
	
  	
  	
  	
  	
  	
  "Principal":	
  "*",	
  
	
  	
  	
  	
  	
  	
  "Action":	
  "s3:*",	
  
	
  	
  	
  	
  	
  	
  "Resource":	
  "arn:aws:s3:::examplebucket/*",	
  
	
  	
  	
  	
  	
  	
  "Condition":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  "IpAddress":	
  {"aws:SourceIp":	
  "54.240.143.0/24"},	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  "NotIpAddress":	
  {"aws:SourceIp":	
  "54.240.143.188/32"}	
  	
  
	
  	
  	
  	
  	
  	
  }	
  	
  
	
  	
  	
  	
  }	
  	
  
	
  	
  ]	
  
}
Restricting Access to Specific IP Addresses
Bucket Policies
Fine grained
Apply policies at the bucket
level in S3
Incorporate user restrictions
without using IAM
Allow	
  
Bob,	
  Jane	
  
Actions	
  
PutObject	
  
Resource	
  
arn:aws:s3:::mybucket/*
mybucket
Other Example Use-Cases for Bucket Policies
• Granting Permissions to Multiple Accounts with
Added Conditions
• Restricting Access to a Specific HTTP Referrer
• Granting Permission to an Amazon CloudFront
Origin Identity
• Adding a Policy to Require MFA Authentication
• Granting Cross-Account Permissions to Upload
Objects While Ensuring the Bucket Owner Has Full
Control
Find out more here: docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html
Fine grained
Administer as part of role
based access
Apply policies to S3 at
role, user & group level
Allow	
  
Actions	
  
PutObject	
  
Resource	
  
arn:aws:s3:::mybucket/*
Bob Jane
Bucket Policies ACLs
Fine grained
Apply policies at the bucket
level in S3
Incorporate user restrictions
without using IAM
Coarse grained
Apply access control rules
at the bucket and/or object
level in S3
Allow	
  
Bob,	
  Jane	
  
Actions	
  
PutObject	
  
Resource	
  
arn:aws:s3:::mybucket/*
mybucket
Allow	
  
Everyone,	
  Bob,	
  Jane	
  
Actions	
  
Read	
  
mybucket myobject
IAM Policies
ACLs
Coarse grained
Apply access control rules
at the bucket and/or object
level in S3
Allow	
  
Everyone,	
  Bob,	
  Jane	
  
Actions	
  
Read	
  
mybucket myobject
You can use ACLs to grant basic read/write
permissions to other AWS accounts.
There are limits to managing permissions using
ACLs.
For example, you can grant permissions only to
other AWS accounts, you cannot grant permissions
to users in your account.
DEMO: GETTING STARTED
STORAGE CLASSES
Designed to provide 99.999999999% durability and 99.99%
availability of objects over a given year
Designed to sustain the concurrent loss of data in two facilities
Reduces costs by storing data at lower levels of redundancy than
the Standard storage
Designed to provide 99.99% durability and 99.99% availability of
objects over a given year
Suitable for archiving data, where data access is infrequent and a
retrieval time of several hours is acceptable
Uses the very low-cost Amazon Glacier storage service, but
managed through Amazon S3
Standard
Reduced
Redundancy
Storage
Glacier
Moving Objects between S3 storage classes
You can specify the storage class of an object
when uploading or creating it
$	
  aws	
  s3	
  cp	
  aws_uki.txt	
  s3://aws-­‐ianm-­‐s3-­‐masterclass/	
  -­‐-­‐storage-­‐
class	
  REDUCED_REDUNDANCY
AWS CLI
Moving Objects between S3 storage classes
You can change the storage class of an object that
is already stored in Amazon S3 by copying it to the
same key name in the same bucket
$	
  aws	
  s3	
  cp	
  s3://aws-­‐ianm-­‐s3-­‐masterclass/aws_uki.txt	
  s3://aws-­‐
ianm-­‐s3-­‐masterclass/aws_uki.txt	
  -­‐-­‐storage-­‐class	
  STANDARD
AWS CLI
Moving Objects between storage classes
AWS Console
Moving Objects between storage classes
$	
  python	
  
>>>	
  import	
  boto	
  
>>>	
  conn	
  =	
  boto.connect_s3()	
  
>>>	
  mybucket	
  =	
  conn.get_bucket(‘aws-­‐ianm-­‐s3-­‐masterclass’)	
  
>>>	
  mybucket.copy_key('aws_uki.txt','aws-­‐ianm-­‐s3-­‐
masterclass','aws_uki.txt',storage_class='REDUCED_REDUNDANCY')
Python
What about Amazon Glacier?
We will come to this when we talk about Lifecycle
Management
ENCRYPTION
Securing Data in Transit
Securely upload or download your data via
SSL-encrypted endpoints using HTTPS
Alternatively, use a client encryption library such as
the Amazon S3 Encryption Client to encrypt your
data before uploading to Amazon S3
http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/AmazonS3EncryptionClient.html
SECURING DATA AT REST
Amazon S3 Server Side Encryption (SSE)
Amazon S3 will automatically encrypt your data on
write and decrypt your data on retrieval
Uses Advanced Encryption Standard (AES) 256-bit
symmetric keys
There are three different ways to mange encryption
keys:
SSE with Amazon S3 Key Management (SSE-SE)
With SSE-S3, Amazon S3 will encrypt your data at rest and
manage the encryption keys for you
Data bucket Encrypted data
Encrypted per-object key
Key management (monthly rotation)
Per-object key
Master key
SSE with Customer-Provided Keys (SSE-C)
With SSE-C, Amazon S3 will encrypt your data at rest
using the custom encryption keys that you provide
Amazon S3 doesn’t store your encryption key anywhere;
the key is immediately discarded after Amazon S3
completes your requests
Data bucket Encrypted data
Customer Provided Key
SSE with AWS KMS (SSE-KMS)
With SSE-KMS, Amazon S3 will encrypt your data at rest
using keys that you manage in the AWS Key Management
Service (KMS)
AWS KMS provides an audit trail so you can see who used
your key to access which object and when
ADDITIONAL SECURITY FEATURES
AUDIT LOGS
MULTI-FACTOR
AUTHENTICATION DELETE
TIME-LIMTED ACCESS
TO OBJECTS
Signed URLs
Provide time-limited access to
specific objects that expires after a
set period
Access Permissions
Use on objects in non-public
buckets to prevent access once
the signed URL has expired
https://ianmas-­‐aws.testbucket.s3.amazonaws.com/testfile.txt	
  
?Signature=JHCa39GV1fKRKkEnAWzI88lH7f8%3D	
  
&Expires=1391425438	
  
&AWSAccessKeyId=AKIAIRBKBJ3ZAYAXFC2Q
>>>	
  import	
  boto	
  
>>>	
  conn	
  =	
  boto.connect_s3()	
  
>>>	
  conn.generate_url(3600,	
  'GET',	
  bucket='aws-­‐ianm-­‐s3-­‐masterclass',	
  
key=‘aws_uki.txt')	
  
'https://aws-­‐ianm-­‐s3-­‐masterclass.s3.amazonaws.com/aws_uki.txt?
Signature=hEBUPczy8DXCyqTz1JHgEaihvMo
%3D&Expires=1431697820&AWSAccessKeyId=AKIAI65L23YDGKGQTRFA'	
  
>>>	
  import	
  boto	
  
>>>	
  conn	
  =	
  boto.connect_s3()	
  
>>>	
  conn.generate_url(30,	
  'GET',	
  bucket='aws-­‐ianm-­‐s3-­‐masterclass',	
  
key=‘aws_uki.txt’,	
  force_http=True)	
  
'http://aws-­‐ianm-­‐s3-­‐masterclass.s3.amazonaws.com/aws_uki.txt?
Signature=yIYPyn0DMXk2cOcZkWPRuSHoKPA
%3D&Expires=1431694649&AWSAccessKeyId=AKIAI65L23YDGKGQTRFA'
PythonGenerating time-limited signed links
>>>	
  import	
  boto	
  
>>>	
  conn	
  =	
  boto.connect_s3()	
  
>>>	
  conn.generate_url(3600,	
  'GET',	
  bucket='aws-­‐ianm-­‐s3-­‐masterclass',	
  
key=‘aws_uki.txt')	
  
'https://aws-­‐ianm-­‐s3-­‐masterclass.s3.amazonaws.com/aws_uki.txt?
Signature=hEBUPczy8DXCyqTz1JHgEaihvMo
%3D&Expires=1431697820&AWSAccessKeyId=AKIAI65L23YDGKGQTRFA'	
  
>>>	
  import	
  boto	
  
>>>	
  conn	
  =	
  boto.connect_s3()	
  
>>>	
  conn.generate_url(30,	
  'GET',	
  bucket='aws-­‐ianm-­‐s3-­‐masterclass',	
  
key=‘aws_uki.txt’,	
  force_http=True)	
  
'http://aws-­‐ianm-­‐s3-­‐masterclass.s3.amazonaws.com/aws_uki.txt?
Signature=yIYPyn0DMXk2cOcZkWPRuSHoKPA
%3D&Expires=1431694649&AWSAccessKeyId=AKIAI65L23YDGKGQTRFA'
PythonGenerating time-limited signed links
1st parameter is link lifetime in seconds
Force a non-SSL link
Generating time-limited signed links
Error response: link expired
VERSIONING &
CROSS REGION REPLICATION
VERSIONING
Bucket level
Automatically preserves
all copies of objects
Persistent
Even deleted object
history is held
AWS Console
AWS Console
AWS CLI
uses the ‘aws s3api’ CLI command, which has
additional functionality over ‘aws s3’
$	
  aws	
  s3api	
  list-­‐object-­‐versions	
  -­‐-­‐bucket	
  aws-­‐ianm-­‐s3-­‐masterclass
Working with versioned objects via the CLI
http://docs.aws.amazon.com/cli/latest/reference/s3api/index.html#cli-aws-s3api
AWS CLI
$	
  aws	
  s3api	
  list-­‐object-­‐versions	
  -­‐-­‐bucket	
  aws-­‐ianm-­‐s3-­‐masterclass	
  
None	
   None	
  
VERSIONS	
   "36bc67941830bb388c9bf201440683a4"	
   True	
   s3-­‐masterclass-­‐logo.txt	
   2015-­‐05-­‐18T15:47:38.000Z	
  
337	
   STANDARD	
   q2FcbXFAgU7P82Hh6y81hYkrbGYtOCCc	
  
OWNER	
   ianm	
   4ee381d180ee58aa815e7d4a3a5f739b20bb8980a568947384e59c8d0ff8379b	
  
VERSIONS	
   "e0253c9354f61097cbf6ce239afd0464"	
   False	
   s3-­‐masterclass-­‐logo.txt	
   2015-­‐05-­‐18T15:47:30.000Z	
  
337	
   STANDARD	
   p_4oF4eG7Be.0aNXqUYFlZL7Q9OuK9nU	
  
OWNER	
   ianm	
   4ee381d180ee58aa815e7d4a3a5f739b20bb8980a568947384e59c8d0ff8379b	
  
VERSIONS	
   "84defb05031845e8b0616a9b70b2ae93"	
   False	
   s3-­‐masterclass-­‐logo.txt	
   2015-­‐05-­‐18T15:47:10.000Z	
  
328	
   STANDARD	
   BykgMQ6bRY02Y6krxvMaMvwrL2Ep2e6X	
  
OWNER	
   ianm	
   4ee381d180ee58aa815e7d4a3a5f739b20bb8980a568947384e59c8d0ff8379b
AWS CLI
$	
  aws	
  s3api	
  get-­‐object	
  -­‐-­‐bucket	
  aws-­‐ianm-­‐s3-­‐masterclass	
  -­‐-­‐key	
  s3-­‐
masterclass-­‐logo.txt	
  -­‐-­‐version-­‐id	
  
q2FcbXFAgU7P82Hh6y81hYkrbGYtOCCc	
  version.txt	
  
bytes	
   337	
   text/plain	
   "36bc67941830bb388c9bf201440683a4"	
   Mon,	
  18	
  May	
  2015	
  15:47:38	
  GMT	
  
q2FcbXFAgU7P82Hh6y81hYkrbGYtOCCc	
  
$	
  more	
  version.txt	
  
	
  ____	
  _____	
  	
  	
  __	
  	
  __	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  _	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  _	
  
/	
  ___|___	
  /	
  	
  |	
  	
  /	
  	
  |	
  __	
  _	
  ___|	
  |_	
  ___	
  _	
  __	
  ___|	
  |	
  __	
  _	
  ___	
  ___	
  
___	
  	
  |_	
  	
  	
  |	
  |/|	
  |/	
  _`	
  /	
  __|	
  __/	
  _	
  	
  '__/	
  __|	
  |/	
  _`	
  /	
  __/	
  __|	
  
	
  ___)	
  |__)	
  |	
  |	
  |	
  	
  |	
  |	
  (_|	
  __	
  	
  ||	
  	
  __/	
  |	
  |	
  (__|	
  |	
  (_|	
  __	
  __	
  	
  
|____/____/	
  	
  |_|	
  	
  |_|__,_|___/_____|_|	
  	
  ___|_|__,_|___/___/	
  
Version	
  3
http://docs.aws.amazon.com/cli/latest/reference/s3api/index.html#cli-aws-s3api
>>>	
  import	
  boto	
  
>>>	
  conn	
  =	
  boto.connect_s3()	
  
>>>	
  bucket=conn.get_bucket('aws-­‐ianm-­‐s3-­‐masterclass')	
  
>>>	
  versions	
  =	
  bucket.list_versions()	
  
>>>	
  for	
  version	
  in	
  versions:	
  
...	
  	
  	
  print	
  version.name	
  +	
  '	
  '	
  +	
  version.version_id	
  
...	
  
s3-­‐masterclass-­‐logo.txt	
  q2FcbXFAgU7P82Hh6y81hYkrbGYtOCCc	
  
s3-­‐masterclass-­‐logo.txt	
  p_4oF4eG7Be.0aNXqUYFlZL7Q9OuK9nU	
  
s3-­‐masterclass-­‐logo.txt	
  BykgMQ6bRY02Y6krxvMaMvwrL2Ep2e6X
PythonListing object versions
>>>	
  key	
  =	
  bucket.get_key('s3-­‐masterclass-­‐logo.txt',	
  
version_id='p_4oF4eG7Be.0aNXqUYFlZL7Q9OuK9nU')	
  
>>>	
  key.get_contents_as_string()	
  
"n	
  ____	
  _____	
  	
  	
  __	
  	
  __	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  _	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  _	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  n/	
  ___|___	
  /	
  	
  |	
  	
  
/	
  	
  |	
  __	
  _	
  ___|	
  |_	
  ___	
  _	
  __	
  ___|	
  |	
  __	
  _	
  ___	
  ___	
  n___	
  	
  |_	
  	
  	
  |	
  |/|	
  |/	
  _`	
  /	
  
__|	
  __/	
  _	
  	
  '__/	
  __|	
  |/	
  _`	
  /	
  __/	
  __|n	
  ___)	
  |__)	
  |	
  |	
  |	
  	
  |	
  |	
  (_|	
  __	
  	
  ||	
  	
  __/	
  |	
  |	
  
(__|	
  |	
  (_|	
  __	
  __	
  n|____/____/	
  	
  |_|	
  	
  |_|__,_|___/_____|_|	
  	
  ___|_|
__,_|___/___/nnVersion	
  2n”	
  
>>>	
  key.generate_url(300)	
  
'https://aws-­‐ianm-­‐s3-­‐masterclass.s3.amazonaws.com/s3-­‐masterclass-­‐logo.txt?
Signature=c%2BjgGY5EZ4tDuI0xcKg572qL%2B9Y
%3D&Expires=1431965853&AWSAccessKeyId=AKIAI65L23YDGKGQTRFA&versionId=p_4oF4eG7Be.
0aNXqUYFlZL7Q9OuK9nU'	
  
>>>
PythonGetting a specific object version
CROSS REGION REPLICATION
AWS Console
AWS Console
AWS Console
AWS Console
AWS Console
AWS Console
AWS CLI
$	
  aws	
  s3	
  cp	
  s3-­‐masterclass-­‐logo.txt	
  s3://aws-­‐ianm-­‐s3-­‐masterclass	
  
upload:	
  ./s3-­‐masterclass-­‐logo.txt	
  to	
  s3://aws-­‐ianm-­‐s3-­‐masterclass/s3-­‐masterclass-­‐logo.txt	
  
$	
  aws	
  s3	
  ls	
  s3://aws-­‐ianm-­‐s3-­‐masterclass-­‐fra	
  -­‐-­‐region=eu-­‐central-­‐1	
  
2015-­‐05-­‐18	
  17:27:47	
  	
  	
  	
  	
  	
  	
  	
  337	
  s3-­‐masterclass-­‐logo.txt
LIFECYCLE RULES
LIFECYCLE RULES
Object Deletion
Permanently delete objects from S3
Object Archiving
Move objects from S3 to Glacier
Amazon Glacier
Amazon Glacier
Durable
Designed for 99.999999999%
durability of archives
Cost Effective
Write-once, read-never. Cost effective for long
term storage. Pay for accessing data
Logs
accessible from S3
logs
Expiry
time
logs
✗
Objects expire
and are deleted
Logs
accessible from S3
Expiry
time
Txns
Object transition to
Glacier invoked
Logs logs
✗
Objects expire
and are deleted
accessible from S3
accessible from S3
ExpiryTransition
time
Restoration of object
requested for x hrs
Logs logs
✗
Objects expire
and are deleted
accessible from S3
accessible from S3
Txns
ExpiryTransition
Object transition to
Glacier invoked
time
time
3-5hrs
Object held in S3
RRS for x hrs
ExpiryTransition
Logs logs
✗
Objects expire
and are deleted
accessible from S3
accessible from S3
Txns
Object transition to
Glacier invoked
Restoration of object
requested for x hrs
Configuring Lifecycle Rules AWS Console
Configuring Lifecycle Rules AWS Console
Configuring Lifecycle Rules AWS Console
Configuring Lifecycle Rules AWS Console
Configuring Lifecycle Rules AWS Console
Configuring Lifecycle Rules AWS Console
Configuring Lifecycle Rules AWS Console
using	
  (client	
  =	
  new	
  AmazonS3Client()){	
  
	
  	
  var	
  lifeCycleConfiguration	
  =	
  new	
  LifecycleConfiguration()	
  
	
  	
  {	
  
	
  	
  	
  	
  Rules	
  =	
  new	
  List<LifecycleRule>	
  
	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  new	
  LifecycleRule	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Id	
  =	
  "Archive	
  and	
  delete	
  rule",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Prefix	
  =	
  "projectdocs/",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Status	
  =	
  LifecycleRuleStatus.Enabled,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Transition	
  =	
  new	
  LifecycleTransition()	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Days	
  =	
  365,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  StorageClass	
  =	
  S3StorageClass.Glacier	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  },	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Expiration	
  =	
  new	
  LifecycleRuleExpiration()	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Days	
  =	
  3650	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  }	
  
	
  	
  };
.NetConfiguring Lifecycle Rules
using	
  (client	
  =	
  new	
  AmazonS3Client()){	
  
	
  	
  var	
  lifeCycleConfiguration	
  =	
  new	
  LifecycleConfiguration()	
  
	
  	
  {	
  
	
  	
  	
  	
  Rules	
  =	
  new	
  List<LifecycleRule>	
  
	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  new	
  LifecycleRule	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Id	
  =	
  "Archive	
  and	
  delete	
  rule",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Prefix	
  =	
  "projectdocs/",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Status	
  =	
  LifecycleRuleStatus.Enabled,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Transition	
  =	
  new	
  LifecycleTransition()	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Days	
  =	
  365,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  StorageClass	
  =	
  S3StorageClass.Glacier	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  },	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Expiration	
  =	
  new	
  LifecycleRuleExpiration()	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Days	
  =	
  3650	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  }	
  
	
  	
  };
.NetConfiguring Lifecycle Rules
Transition to Glacier after 1 year
using	
  (client	
  =	
  new	
  AmazonS3Client()){	
  
	
  	
  var	
  lifeCycleConfiguration	
  =	
  new	
  LifecycleConfiguration()	
  
	
  	
  {	
  
	
  	
  	
  	
  Rules	
  =	
  new	
  List<LifecycleRule>	
  
	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  new	
  LifecycleRule	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Id	
  =	
  "Archive	
  and	
  delete	
  rule",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Prefix	
  =	
  "projectdocs/",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Status	
  =	
  LifecycleRuleStatus.Enabled,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Transition	
  =	
  new	
  LifecycleTransition()	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Days	
  =	
  365,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  StorageClass	
  =	
  S3StorageClass.Glacier	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  },	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Expiration	
  =	
  new	
  LifecycleRuleExpiration()	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Days	
  =	
  3650	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  }	
  
	
  	
  };
.NetConfiguring Lifecycle Rules
Delete object after 10 years
Restoring from Amazon Glacier AWS Console
Restoring from Amazon Glacier AWS Console
Restoring from Amazon Glacier AWS Console
Restoring from Amazon Glacier AWS Console
Restoring from Amazon Glacier AWS Console
WEBSITE HOSTING
Static Website Hosting with Amazon S3
You can host your entire static website on Amazon S3 for a
low-cost, highly available hosting solution that can scale
automatically to meet traffic demands
With Amazon S3, you can reliably serve your traffic and
handle unexpected peaks without worrying about scaling
your infrastructure
docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html
Static Website Hosting Bucket Properties
Setting Default Documents
Redirecting Requests
{	
  
	
  	
  "Version":"2008-­‐10-­‐17",	
  
	
  	
  "Statement":[{	
  
	
   "Sid":"PublicReadGetObject",	
  
	
  	
  	
  	
  	
  	
  	
  	
  "Effect":"Allow",	
  
	
   	
  	
  "Principal":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "AWS":	
  "*"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  },	
  
	
  	
  	
  	
  	
  	
  "Action":["s3:GetObject"],	
  
	
  	
  	
  	
  	
  	
  "Resource":["arn:aws:s3:::example-­‐bucket/*"	
  
	
  	
  	
  	
  	
  	
  ]	
  
	
  	
  	
  	
  }	
  
	
  	
  ]	
  
}	
  
Bucket Policy
{bucket-­‐name}.s3-­‐website-­‐{region}.amazonaws.com	
  
e.g.	
  mybucket.s3-­‐website-­‐eu-­‐west-­‐1.amazonaws.com
Website Addressing
s3-­‐{region}.amazonaws.com/{bucket-­‐name}/{object-­‐key}	
  
e.g.	
  s3-­‐eu-­‐west-­‐1.amazonaws.com/mybucket/img.png	
  
{bucket-­‐name}.s3-­‐{region}.amazonaws.com/{object-­‐key}	
  
e.g.	
  mybucket.s3-­‐eu-­‐west-­‐1.amazonaws.com/img.png	
  
Normal Addressing
DNS Record set for:
aws-­‐exampl.es
Route
53
DNS Record set for:
aws-­‐exampl.es
Route
53
bucket bucket
Website bucket name: Website bucket name:
www.aws-­‐exampl.es aws-­‐exampl.es
Error
.html
Index
.html
DNS Record set for:
aws-­‐exampl.es
Route
53
bucket bucket
Website bucket name: Website bucket name:
www.aws-­‐exampl.es aws-­‐exampl.es
Error
.html
Index
.html
Website redirect to:
aws-­‐exampl.es
DNS Record set for:
aws-­‐exampl.es
Route
53
bucket
Website bucket name: Website bucket name:
www.aws-­‐exampl.es aws-­‐exampl.es
Error
.html
Index
.html
Website redirect to:
aws-­‐exampl.es
A Record ‘Alias’ to S3 website:
aws-­‐exampl.es	
  @	
  
s3website-­‐eu-­‐west1-­‐amazonaws.com	
  
bucket
DNS Record set for:
aws-­‐exampl.es
Route
53
bucket
Website bucket name: Website bucket name:
www.aws-­‐exampl.es aws-­‐exampl.es
Error
.html
Index
.html
Website redirect to:
aws-­‐exampl.es
A Record ‘Alias’ to S3 website:
aws-­‐exampl.es	
  @	
  
s3website-­‐eu-­‐west1-­‐amazonaws.com	
  
bucketbucket
CNAME for www. to:
www.aws-­‐exampl.es.s3-­‐website-­‐
eu-­‐west-­‐1.amazonaws.com	
  
docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html
SUMMARY
S3 provides developers with secure, durable & highly scalable object storage1
S3 can be used alone with other AWS services or 3rd party tools & services2
Cost effective for a wide variety of use-cases from cloud applications,
content distribution, backup, archiving & disaster recovery to analytics
3
THINGS WE DIDN’T COVER
Amazon CloudFront
aws.amazon.com/cloudfront
S3 EVENT NOTIFICATIONS
http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
AWS Lambda
S3 event
notifications
AutomaticCloud Functions
aws.amazon.com/lambda
RESOURCES YOU CAN USE
TO LEARN MORE
aws.amazon.com/s3
Getting Started with Amazon S3:
docs.aws.amazon.com/AmazonS3/latest/gsg/GetStartedWithS3.html

Amazon S3 Deep Dive & Best Practices session from AWS re:Invent 2014
https://youtu.be/2DpOS0zu8O0

Amazon S3 Documentation:
aws.amazon.com/documentation/s3/
Certification
aws.amazon.com/certification
Self-Paced Labs
aws.amazon.com/training/

self-paced-labs
Try products, gain new skills, and
get hands-on practice working
with AWS technologies
aws.amazon.com/training
Training
Validate your proven skills and
expertise with the AWS platform
Build technical expertise to
design and operate scalable,
efficient applications on AWS
AWS Training & Certification
Follow
us
for m
ore
events
&
w
ebinars
@AWScloud for Global AWS News & Announcements
@AWS_UKI for local AWS events & news
@IanMmmm
Ian Massingham — Technical Evangelist

More Related Content

What's hot

Deep Dive on Amazon S3 - AWS Online Tech Talks
Deep Dive on Amazon S3 - AWS Online Tech TalksDeep Dive on Amazon S3 - AWS Online Tech Talks
Deep Dive on Amazon S3 - AWS Online Tech TalksAmazon Web Services
 
Object Storage: Amazon S3 and Amazon Glacier
Object Storage: Amazon S3 and Amazon GlacierObject Storage: Amazon S3 and Amazon Glacier
Object Storage: Amazon S3 and Amazon GlacierAmazon Web Services
 
How to backup, restore and archive your data on AWS
How to backup, restore and archive your data on AWSHow to backup, restore and archive your data on AWS
How to backup, restore and archive your data on AWSAmazon Web Services
 
AWS S3 and GLACIER
AWS S3 and GLACIERAWS S3 and GLACIER
AWS S3 and GLACIERMahesh Raj
 
Amazon Relational Database Service (Amazon RDS)
Amazon Relational Database Service (Amazon RDS)Amazon Relational Database Service (Amazon RDS)
Amazon Relational Database Service (Amazon RDS)Amazon Web Services
 
(STG401) Amazon S3 Deep Dive & Best Practices
(STG401) Amazon S3 Deep Dive & Best Practices(STG401) Amazon S3 Deep Dive & Best Practices
(STG401) Amazon S3 Deep Dive & Best PracticesAmazon Web Services
 
Storage with Amazon S3 and Amazon Glacier
Storage with Amazon S3 and Amazon GlacierStorage with Amazon S3 and Amazon Glacier
Storage with Amazon S3 and Amazon GlacierAmazon Web Services
 
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...Edureka!
 
(SEC318) AWS CloudTrail Deep Dive
(SEC318) AWS CloudTrail Deep Dive(SEC318) AWS CloudTrail Deep Dive
(SEC318) AWS CloudTrail Deep DiveAmazon Web Services
 

What's hot (20)

Introduction to Amazon S3
Introduction to Amazon S3Introduction to Amazon S3
Introduction to Amazon S3
 
Deep Dive on Amazon S3 - AWS Online Tech Talks
Deep Dive on Amazon S3 - AWS Online Tech TalksDeep Dive on Amazon S3 - AWS Online Tech Talks
Deep Dive on Amazon S3 - AWS Online Tech Talks
 
Introduction to Amazon EC2
Introduction to Amazon EC2Introduction to Amazon EC2
Introduction to Amazon EC2
 
Object Storage: Amazon S3 and Amazon Glacier
Object Storage: Amazon S3 and Amazon GlacierObject Storage: Amazon S3 and Amazon Glacier
Object Storage: Amazon S3 and Amazon Glacier
 
How to backup, restore and archive your data on AWS
How to backup, restore and archive your data on AWSHow to backup, restore and archive your data on AWS
How to backup, restore and archive your data on AWS
 
AWS S3 and GLACIER
AWS S3 and GLACIERAWS S3 and GLACIER
AWS S3 and GLACIER
 
Amazon Relational Database Service (Amazon RDS)
Amazon Relational Database Service (Amazon RDS)Amazon Relational Database Service (Amazon RDS)
Amazon Relational Database Service (Amazon RDS)
 
(STG401) Amazon S3 Deep Dive & Best Practices
(STG401) Amazon S3 Deep Dive & Best Practices(STG401) Amazon S3 Deep Dive & Best Practices
(STG401) Amazon S3 Deep Dive & Best Practices
 
Getting Started with Amazon EC2
Getting Started with Amazon EC2Getting Started with Amazon EC2
Getting Started with Amazon EC2
 
Introduction to Amazon EC2
Introduction to Amazon EC2Introduction to Amazon EC2
Introduction to Amazon EC2
 
BDA311 Introduction to AWS Glue
BDA311 Introduction to AWS GlueBDA311 Introduction to AWS Glue
BDA311 Introduction to AWS Glue
 
Intro to AWS: Storage Services
Intro to AWS: Storage ServicesIntro to AWS: Storage Services
Intro to AWS: Storage Services
 
AWS Cloud Watch
AWS Cloud WatchAWS Cloud Watch
AWS Cloud Watch
 
AWS IAM Introduction
AWS IAM IntroductionAWS IAM Introduction
AWS IAM Introduction
 
AWS Elastic Compute Cloud (EC2)
AWS Elastic Compute Cloud (EC2) AWS Elastic Compute Cloud (EC2)
AWS Elastic Compute Cloud (EC2)
 
Storage with Amazon S3 and Amazon Glacier
Storage with Amazon S3 and Amazon GlacierStorage with Amazon S3 and Amazon Glacier
Storage with Amazon S3 and Amazon Glacier
 
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
 
(SEC318) AWS CloudTrail Deep Dive
(SEC318) AWS CloudTrail Deep Dive(SEC318) AWS CloudTrail Deep Dive
(SEC318) AWS CloudTrail Deep Dive
 
Amazon S3 and EC2
Amazon S3 and EC2Amazon S3 and EC2
Amazon S3 and EC2
 
Introduction to AWS Glue
Introduction to AWS Glue Introduction to AWS Glue
Introduction to AWS Glue
 

Similar to Amazon S3 Masterclass

Amazon S3 - Masterclass - Pop-up Loft Tel Aviv
Amazon S3 - Masterclass - Pop-up Loft Tel AvivAmazon S3 - Masterclass - Pop-up Loft Tel Aviv
Amazon S3 - Masterclass - Pop-up Loft Tel AvivAmazon Web Services
 
Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...
Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...
Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...Amazon Web Services
 
Deep Dive on S3 Storage Management Covering New Feature Announcements - Decem...
Deep Dive on S3 Storage Management Covering New Feature Announcements - Decem...Deep Dive on S3 Storage Management Covering New Feature Announcements - Decem...
Deep Dive on S3 Storage Management Covering New Feature Announcements - Decem...Amazon Web Services
 
Masterclass Webinar - Amazon Simple Storage Service S3
Masterclass Webinar - Amazon Simple Storage Service S3Masterclass Webinar - Amazon Simple Storage Service S3
Masterclass Webinar - Amazon Simple Storage Service S3Amazon Web Services
 
Deep Dive On Object Storage: Amazon S3 and Amazon Glacier - AWS PS Summit Can...
Deep Dive On Object Storage: Amazon S3 and Amazon Glacier - AWS PS Summit Can...Deep Dive On Object Storage: Amazon S3 and Amazon Glacier - AWS PS Summit Can...
Deep Dive On Object Storage: Amazon S3 and Amazon Glacier - AWS PS Summit Can...Amazon Web Services
 
AWS re:Invent 2016: Workshop: AWS S3 Deep-Dive Hands-On Workshop: Deploying a...
AWS re:Invent 2016: Workshop: AWS S3 Deep-Dive Hands-On Workshop: Deploying a...AWS re:Invent 2016: Workshop: AWS S3 Deep-Dive Hands-On Workshop: Deploying a...
AWS re:Invent 2016: Workshop: AWS S3 Deep-Dive Hands-On Workshop: Deploying a...Amazon Web Services
 
Deep Dive on Amazon S3
Deep Dive on Amazon S3Deep Dive on Amazon S3
Deep Dive on Amazon S3Adrian Hornsby
 
AmazonS3 & Rails
AmazonS3 & RailsAmazonS3 & Rails
AmazonS3 & Rails_martinS_
 
AWSomeday Brussels Technical Track
AWSomeday Brussels Technical TrackAWSomeday Brussels Technical Track
AWSomeday Brussels Technical TrackAmazon Web Services
 
Aws meetup s3_plus
Aws meetup s3_plusAws meetup s3_plus
Aws meetup s3_plusAdam Book
 
Aws primer Amazon Web Services
Aws primer Amazon Web ServicesAws primer Amazon Web Services
Aws primer Amazon Web ServicesMamun Rashid, CCDH
 
AWS re:Invent 2016: How Amazon S3 Storage Management Helps Optimize Storage a...
AWS re:Invent 2016: How Amazon S3 Storage Management Helps Optimize Storage a...AWS re:Invent 2016: How Amazon S3 Storage Management Helps Optimize Storage a...
AWS re:Invent 2016: How Amazon S3 Storage Management Helps Optimize Storage a...Amazon Web Services
 
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web ServicesDayanand Shanmugham
 
Deep Dive on Amazon S3 - March 2017 AWS Online Tech Talks
Deep Dive on Amazon S3 - March 2017 AWS Online Tech TalksDeep Dive on Amazon S3 - March 2017 AWS Online Tech Talks
Deep Dive on Amazon S3 - March 2017 AWS Online Tech TalksAmazon Web Services
 
Deep Dive: Hybrid Cloud Storage with AWS Storage Gateway - AWS Online Tech Talks
Deep Dive: Hybrid Cloud Storage with AWS Storage Gateway - AWS Online Tech TalksDeep Dive: Hybrid Cloud Storage with AWS Storage Gateway - AWS Online Tech Talks
Deep Dive: Hybrid Cloud Storage with AWS Storage Gateway - AWS Online Tech TalksAmazon Web Services
 
STG302_Best Practices for Amazon S3
STG302_Best Practices for Amazon S3STG302_Best Practices for Amazon S3
STG302_Best Practices for Amazon S3Amazon Web Services
 

Similar to Amazon S3 Masterclass (20)

Amazon S3 - Masterclass - Pop-up Loft Tel Aviv
Amazon S3 - Masterclass - Pop-up Loft Tel AvivAmazon S3 - Masterclass - Pop-up Loft Tel Aviv
Amazon S3 - Masterclass - Pop-up Loft Tel Aviv
 
Amazon S3: Masterclass
Amazon S3: MasterclassAmazon S3: Masterclass
Amazon S3: Masterclass
 
Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...
Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...
Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...
 
Deep Dive on S3 Storage Management Covering New Feature Announcements - Decem...
Deep Dive on S3 Storage Management Covering New Feature Announcements - Decem...Deep Dive on S3 Storage Management Covering New Feature Announcements - Decem...
Deep Dive on S3 Storage Management Covering New Feature Announcements - Decem...
 
Building a Data Lake on AWS
Building a Data Lake on AWSBuilding a Data Lake on AWS
Building a Data Lake on AWS
 
Masterclass Webinar - Amazon Simple Storage Service S3
Masterclass Webinar - Amazon Simple Storage Service S3Masterclass Webinar - Amazon Simple Storage Service S3
Masterclass Webinar - Amazon Simple Storage Service S3
 
Deep Dive On Object Storage: Amazon S3 and Amazon Glacier - AWS PS Summit Can...
Deep Dive On Object Storage: Amazon S3 and Amazon Glacier - AWS PS Summit Can...Deep Dive On Object Storage: Amazon S3 and Amazon Glacier - AWS PS Summit Can...
Deep Dive On Object Storage: Amazon S3 and Amazon Glacier - AWS PS Summit Can...
 
AWS re:Invent 2016: Workshop: AWS S3 Deep-Dive Hands-On Workshop: Deploying a...
AWS re:Invent 2016: Workshop: AWS S3 Deep-Dive Hands-On Workshop: Deploying a...AWS re:Invent 2016: Workshop: AWS S3 Deep-Dive Hands-On Workshop: Deploying a...
AWS re:Invent 2016: Workshop: AWS S3 Deep-Dive Hands-On Workshop: Deploying a...
 
Deep Dive on Amazon S3
Deep Dive on Amazon S3Deep Dive on Amazon S3
Deep Dive on Amazon S3
 
AmazonS3 & Rails
AmazonS3 & RailsAmazonS3 & Rails
AmazonS3 & Rails
 
AWSomeday Brussels Technical Track
AWSomeday Brussels Technical TrackAWSomeday Brussels Technical Track
AWSomeday Brussels Technical Track
 
Aws meetup s3_plus
Aws meetup s3_plusAws meetup s3_plus
Aws meetup s3_plus
 
Aws primer Amazon Web Services
Aws primer Amazon Web ServicesAws primer Amazon Web Services
Aws primer Amazon Web Services
 
Amazone s3 in mule
Amazone s3 in muleAmazone s3 in mule
Amazone s3 in mule
 
AWS re:Invent 2016: How Amazon S3 Storage Management Helps Optimize Storage a...
AWS re:Invent 2016: How Amazon S3 Storage Management Helps Optimize Storage a...AWS re:Invent 2016: How Amazon S3 Storage Management Helps Optimize Storage a...
AWS re:Invent 2016: How Amazon S3 Storage Management Helps Optimize Storage a...
 
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web Services
 
Deep Dive on Amazon S3 - March 2017 AWS Online Tech Talks
Deep Dive on Amazon S3 - March 2017 AWS Online Tech TalksDeep Dive on Amazon S3 - March 2017 AWS Online Tech Talks
Deep Dive on Amazon S3 - March 2017 AWS Online Tech Talks
 
Deep Dive: Hybrid Cloud Storage with AWS Storage Gateway - AWS Online Tech Talks
Deep Dive: Hybrid Cloud Storage with AWS Storage Gateway - AWS Online Tech TalksDeep Dive: Hybrid Cloud Storage with AWS Storage Gateway - AWS Online Tech Talks
Deep Dive: Hybrid Cloud Storage with AWS Storage Gateway - AWS Online Tech Talks
 
STG302_Best Practices for Amazon S3
STG302_Best Practices for Amazon S3STG302_Best Practices for Amazon S3
STG302_Best Practices for Amazon S3
 
AWS essentials S3
AWS essentials S3AWS essentials S3
AWS essentials S3
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Recently uploaded

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 

Amazon S3 Masterclass

  • 2. Masterclass Intended to educate you on how to get the best from AWS services Show you how things work and how to get things done A technical deep dive that goes beyond the basics 1 2 3
  • 3. Amazon S3 Secure, durable, highly-scalable object storage
 Accessible via a simple web services interface Store & retrieve any amount of data Use alone or together with other AWS services
  • 4. Amazon S3 Durable Available Low Cost Scalable High Performance Secure Integrated Easy to Use
  • 5. Amazon S3 Backup & Archiving Big Data Analytics Static Website HostingDisaster Recovery Content Storage & Distribution Cloud-native Application Data
  • 6. Agenda Amazon S3 Concepts & Fundamentals
 Namespaces Access Controls Storage Classes
 Encryption & Other Security Features Versioning & Cross-Region Replication Lifecycle Rules Website Hosting
  • 8. BUCKETS Containers for objects stored in S3 Serve several purposes: Organise the Amazon S3 namespace at the highest level Identify the account responsible for charges Play a role in access control Serve as the unit of aggregation for usage reporting
  • 9. Fundamental entities stored in Amazon S3 Consist of data & metadata Data portion is opaque to Amazon S3 Metadata is a set of name-value pairs that describe the object Object is uniquely identified within a bucket by a key (name) and a version ID OBJECTS
  • 10. Unique identifier for an object within a bucket. Every object in a bucket has exactly one key Combination of a bucket, key & version ID uniquely identify each object KEYS http://doc.s3.amazonaws.com/2006-03-01/AmazonS3.wsdl
  • 11. The geographical region where Amazon S3 will store the buckets that you create Choose a region to optimise latency, minimise costs, or address regulatory requirements. REGIONS
  • 12. AMAZON S3 FUNDAMENTALS A web store, not a file system Highly scalable data storage Fast Economical Access via APIs Highly available & durable
  • 16. Access via AWS CLI List buckets List buckets contents Copy a file to an object Stream the contents of an object to STDOUT Delete an object Sync a directory with a bucket List buckets contents Delete buckets contents AWS S3 CLI help AWS CLI
  • 17. Access via AWS CLI Detailed help on a specific command AWS CLI
  • 18. AMAZON S3 FUNDAMENTALS A web store, not a file system Highly scalable data storage Fast Economical Access via APIs Highly available & durable
  • 19. A web store, not a file system Eventually consistent Write once, Read many
  • 20. A web store, not a file system Eventually consistent Write once, Read many
  • 21. A web store, not a file system Eventually consistent Write once, Read many Region Availability.Zone Indexing Storage Load.balancers Web.servers Availability.Zone Indexing Storage Load.balancers Web.servers
  • 22. A web store, not a file system Eventually consistent Write once, Read many Region Availability.Zone Indexing Storage Load.balancers Web.servers Availability.Zone Indexing Storage Load.balancers Web.servers
  • 23. A web store, not a file system Eventually consistent Write once, Read many Region Availability.Zone Indexing Storage Load.balancers Web.servers Availability.Zone Indexing Storage Load.balancers Web.servers
  • 24. A web store, not a file system Eventually consistent Write once, Read many Region Availability.Zone Indexing Storage Load.balancers Web.servers Availability.Zone Indexing Storage Load.balancers Web.servers
  • 27. A web store, not a file system Eventually consistent Write once, Read many Region Availability.Zone Indexing Storage Load.balancers Web.servers Availability.Zone Indexing Storage Load.balancers Web.servers
  • 28. A web store, not a file system Eventually consistent Write once, Read many
  • 29. A web store, not a file system Eventually consistent Write once, Read many New Objects Updates Deletes Synchronously stores your data across multiple facilities before returning SUCCESS Read-after-write consistency, except US-STANDARD region Write then read: could report key does not exist Write then list: might not include key in list Overwrite then read: old data could be returned Delete then read: could still get old data Delete then list: deleted key could be included in list Find out more here: docs.aws.amazon.com/AmazonS3/latest/dev/Introduction.html
  • 31. Bucket Name + Object Name (key) Globally Unique
  • 32. Bucket Name + Object Name (key) Globally Unique Amazon S3 bucket object object bucket object object bucket object object
  • 33. Bucket Name + Object Name (key) Globally Unique Amazon S3 ianm-aws-bootstrap wp/bootstrap.sh wp/credentials.txt ianm-aws-docs s3-webinar.pptx vid/s3-webinar.mp4 aws-exampl.es index.html logo.png
  • 35. Object key Unique within a bucket Max 1024 bytes UTF-8 Including ‘path’ prefixes
  • 36. Object key Unique within a bucket Max 1024 bytes UTF-8 Including ‘path’ prefixes assets/js/jquery/plugins/jtables.js   an example object key
  • 37. Throughput Optimisation 2134857/gamedata/start.png   2134857/gamedata/resource.rsrc   2134857/gamedata/results.txt   2134858/gamedata/start.png   2134858/gamedata/resource.rsrc   2134858/gamedata/results.txt   2134859/gamedata/start.png   2134859/gamedata/resource.rsrc   2134859/gamedata/results.txt mynewgame Bucket Object keys S3 automatically partitions based upon key prefix:
  • 38. Throughput Optimisation 2134857/gamedata/start.png   2134857/gamedata/resource.rsrc   2134857/gamedata/results.txt   2134858/gamedata/start.png   2134858/gamedata/resource.rsrc   2134858/gamedata/results.txt   2134859/gamedata/start.png   2134859/gamedata/resource.rsrc   2134859/gamedata/results.txt mynewgame Bucket Object keys S3 automatically partitions based upon key prefix: Incrementing game IDs
  • 39. Throughput Optimisation 2134857/gamedata/start.png   2134857/gamedata/resource.rsrc   2134857/gamedata/results.txt   2134858/gamedata/start.png   2134858/gamedata/resource.rsrc   2134858/gamedata/results.txt   2134859/gamedata/start.png   2134859/gamedata/resource.rsrc   2134859/gamedata/results.txt mynewgame Bucket Object keys S3 automatically partitions based upon key prefix: Partition: mynewgame/2
  • 40. Throughput Optimisation 7584312/gamedata/start.png   7584312/gamedata/resource.rsrc   7584312/gamedata/results.txt   8584312/gamedata/start.png   8584312/gamedata/resource.rsrc   8584312/gamedata/results.txt   9584312/gamedata/start.png   9584312/gamedata/resource.rsrc   9584312/gamedata/results.txt mynewgame Bucket Object keys S3 automatically partitions based upon key prefix: Reversed game ID
  • 41. Throughput Optimisation 7584312/gamedata/start.png   7584312/gamedata/resource.rsrc   7584312/gamedata/results.txt   8584312/gamedata/start.png   8584312/gamedata/resource.rsrc   8584312/gamedata/results.txt   9584312/gamedata/start.png   9584312/gamedata/resource.rsrc   9584312/gamedata/results.txt mynewgame Bucket Object keys S3 automatically partitions based upon key prefix: Partitions: mynewgame/7 mynewgame/8 mynewgame/9
  • 43. SECURE BY DEFAULT You decide what to share Apply policies to buckets and objects Policies, ACLs & IAM Use S3 policies, ACLs or IAM to define rules
  • 44. Fine grained Administer as part of role based access Apply policies to S3 at role, user & group level Allow   Actions   PutObject   Resource   arn:aws:s3:::mybucket/* Bob Jane IAM Policies Find out more here: aws.amazon.com/iam
  • 45. Fine grained Administer as part of role based access Apply policies to S3 at role, user & group level Allow   Actions   PutObject   Resource   arn:aws:s3:::mybucket/* Bob Jane Find out more here: aws.amazon.com/iam IAM Policies
  • 46. Fine grained Administer as part of role based access Apply policies to S3 at role, user & group level Allow   Actions   PutObject   Resource   arn:aws:s3:::mybucket/* Bob Jane Find out more here: aws.amazon.com/iam IAM Policies
  • 47. Fine grained Administer as part of role based access Apply policies to S3 at role, user & group level Allow   Actions   PutObject   Resource   arn:aws:s3:::mybucket/* Bob Jane Bucket Policies Fine grained Apply policies at the bucket level in S3 Incorporate user restrictions without using IAM Allow   Bob,  Jane   Actions   PutObject   Resource   arn:aws:s3:::mybucket/* mybucket IAM Policies
  • 48. Bucket Policies Fine grained Apply policies at the bucket level in S3 Incorporate user restrictions without using IAM Allow   Bob,  Jane   Actions   PutObject   Resource   arn:aws:s3:::mybucket/* mybucket {      "Version":"2012-­‐10-­‐17",      "Statement":[          {              "Sid":"AddPerm",              "Effect":"Allow",              "Principal":  "*",              "Action":["s3:GetObject"],              "Resource":["arn:aws:s3:::examplebucket/*"]          }      ]   } Granting Read-Only Permission to an Anonymous User
  • 49. {      "Version":"2012-­‐10-­‐17",      "Statement":[          {              “Sid":"AddPerm",              "Effect":"Allow",              "Principal":  "*",              "Action":["s3:GetObject"],              "Resource":["arn:aws:s3:::examplebucket/*"]          }      ]   } Granting Read-Only Permission to an Anonymous User Who the policy applies to. * means everyone The actions allowed/denied by this policy The AWS resource that this policy applies to. In this case all objects in example bucket The effect of the policy, allow or deny
  • 50. Bucket Policies Fine grained Apply policies at the bucket level in S3 Incorporate user restrictions without using IAM Allow   Bob,  Jane   Actions   PutObject   Resource   arn:aws:s3:::mybucket/* mybucket {      "Version":  "2012-­‐10-­‐17",      "Id":  "S3PolicyId1",      "Statement":  [          {              "Sid":  "IPAllow",              "Effect":  "Allow",              "Principal":  "*",              "Action":  "s3:*",              "Resource":  "arn:aws:s3:::examplebucket/*",              "Condition":  {                    "IpAddress":  {"aws:SourceIp":  "54.240.143.0/24"},                    "NotIpAddress":  {"aws:SourceIp":  "54.240.143.188/32"}                }            }        ]   } Restricting Access to Specific IP Addresses
  • 51. Bucket Policies Fine grained Apply policies at the bucket level in S3 Incorporate user restrictions without using IAM Allow   Bob,  Jane   Actions   PutObject   Resource   arn:aws:s3:::mybucket/* mybucket Other Example Use-Cases for Bucket Policies • Granting Permissions to Multiple Accounts with Added Conditions • Restricting Access to a Specific HTTP Referrer • Granting Permission to an Amazon CloudFront Origin Identity • Adding a Policy to Require MFA Authentication • Granting Cross-Account Permissions to Upload Objects While Ensuring the Bucket Owner Has Full Control Find out more here: docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html
  • 52. Fine grained Administer as part of role based access Apply policies to S3 at role, user & group level Allow   Actions   PutObject   Resource   arn:aws:s3:::mybucket/* Bob Jane Bucket Policies ACLs Fine grained Apply policies at the bucket level in S3 Incorporate user restrictions without using IAM Coarse grained Apply access control rules at the bucket and/or object level in S3 Allow   Bob,  Jane   Actions   PutObject   Resource   arn:aws:s3:::mybucket/* mybucket Allow   Everyone,  Bob,  Jane   Actions   Read   mybucket myobject IAM Policies
  • 53. ACLs Coarse grained Apply access control rules at the bucket and/or object level in S3 Allow   Everyone,  Bob,  Jane   Actions   Read   mybucket myobject You can use ACLs to grant basic read/write permissions to other AWS accounts. There are limits to managing permissions using ACLs. For example, you can grant permissions only to other AWS accounts, you cannot grant permissions to users in your account.
  • 56. Designed to provide 99.999999999% durability and 99.99% availability of objects over a given year Designed to sustain the concurrent loss of data in two facilities Reduces costs by storing data at lower levels of redundancy than the Standard storage Designed to provide 99.99% durability and 99.99% availability of objects over a given year Suitable for archiving data, where data access is infrequent and a retrieval time of several hours is acceptable Uses the very low-cost Amazon Glacier storage service, but managed through Amazon S3 Standard Reduced Redundancy Storage Glacier
  • 57.
  • 58. Moving Objects between S3 storage classes You can specify the storage class of an object when uploading or creating it $  aws  s3  cp  aws_uki.txt  s3://aws-­‐ianm-­‐s3-­‐masterclass/  -­‐-­‐storage-­‐ class  REDUCED_REDUNDANCY AWS CLI
  • 59. Moving Objects between S3 storage classes You can change the storage class of an object that is already stored in Amazon S3 by copying it to the same key name in the same bucket $  aws  s3  cp  s3://aws-­‐ianm-­‐s3-­‐masterclass/aws_uki.txt  s3://aws-­‐ ianm-­‐s3-­‐masterclass/aws_uki.txt  -­‐-­‐storage-­‐class  STANDARD AWS CLI
  • 60. Moving Objects between storage classes AWS Console
  • 61. Moving Objects between storage classes $  python   >>>  import  boto   >>>  conn  =  boto.connect_s3()   >>>  mybucket  =  conn.get_bucket(‘aws-­‐ianm-­‐s3-­‐masterclass’)   >>>  mybucket.copy_key('aws_uki.txt','aws-­‐ianm-­‐s3-­‐ masterclass','aws_uki.txt',storage_class='REDUCED_REDUNDANCY') Python
  • 62. What about Amazon Glacier? We will come to this when we talk about Lifecycle Management
  • 64. Securing Data in Transit Securely upload or download your data via SSL-encrypted endpoints using HTTPS Alternatively, use a client encryption library such as the Amazon S3 Encryption Client to encrypt your data before uploading to Amazon S3 http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/AmazonS3EncryptionClient.html
  • 66. Amazon S3 Server Side Encryption (SSE) Amazon S3 will automatically encrypt your data on write and decrypt your data on retrieval Uses Advanced Encryption Standard (AES) 256-bit symmetric keys There are three different ways to mange encryption keys:
  • 67. SSE with Amazon S3 Key Management (SSE-SE) With SSE-S3, Amazon S3 will encrypt your data at rest and manage the encryption keys for you Data bucket Encrypted data Encrypted per-object key Key management (monthly rotation) Per-object key Master key
  • 68. SSE with Customer-Provided Keys (SSE-C) With SSE-C, Amazon S3 will encrypt your data at rest using the custom encryption keys that you provide Amazon S3 doesn’t store your encryption key anywhere; the key is immediately discarded after Amazon S3 completes your requests Data bucket Encrypted data Customer Provided Key
  • 69. SSE with AWS KMS (SSE-KMS) With SSE-KMS, Amazon S3 will encrypt your data at rest using keys that you manage in the AWS Key Management Service (KMS) AWS KMS provides an audit trail so you can see who used your key to access which object and when
  • 74. Signed URLs Provide time-limited access to specific objects that expires after a set period Access Permissions Use on objects in non-public buckets to prevent access once the signed URL has expired https://ianmas-­‐aws.testbucket.s3.amazonaws.com/testfile.txt   ?Signature=JHCa39GV1fKRKkEnAWzI88lH7f8%3D   &Expires=1391425438   &AWSAccessKeyId=AKIAIRBKBJ3ZAYAXFC2Q
  • 75. >>>  import  boto   >>>  conn  =  boto.connect_s3()   >>>  conn.generate_url(3600,  'GET',  bucket='aws-­‐ianm-­‐s3-­‐masterclass',   key=‘aws_uki.txt')   'https://aws-­‐ianm-­‐s3-­‐masterclass.s3.amazonaws.com/aws_uki.txt? Signature=hEBUPczy8DXCyqTz1JHgEaihvMo %3D&Expires=1431697820&AWSAccessKeyId=AKIAI65L23YDGKGQTRFA'   >>>  import  boto   >>>  conn  =  boto.connect_s3()   >>>  conn.generate_url(30,  'GET',  bucket='aws-­‐ianm-­‐s3-­‐masterclass',   key=‘aws_uki.txt’,  force_http=True)   'http://aws-­‐ianm-­‐s3-­‐masterclass.s3.amazonaws.com/aws_uki.txt? Signature=yIYPyn0DMXk2cOcZkWPRuSHoKPA %3D&Expires=1431694649&AWSAccessKeyId=AKIAI65L23YDGKGQTRFA' PythonGenerating time-limited signed links
  • 76. >>>  import  boto   >>>  conn  =  boto.connect_s3()   >>>  conn.generate_url(3600,  'GET',  bucket='aws-­‐ianm-­‐s3-­‐masterclass',   key=‘aws_uki.txt')   'https://aws-­‐ianm-­‐s3-­‐masterclass.s3.amazonaws.com/aws_uki.txt? Signature=hEBUPczy8DXCyqTz1JHgEaihvMo %3D&Expires=1431697820&AWSAccessKeyId=AKIAI65L23YDGKGQTRFA'   >>>  import  boto   >>>  conn  =  boto.connect_s3()   >>>  conn.generate_url(30,  'GET',  bucket='aws-­‐ianm-­‐s3-­‐masterclass',   key=‘aws_uki.txt’,  force_http=True)   'http://aws-­‐ianm-­‐s3-­‐masterclass.s3.amazonaws.com/aws_uki.txt? Signature=yIYPyn0DMXk2cOcZkWPRuSHoKPA %3D&Expires=1431694649&AWSAccessKeyId=AKIAI65L23YDGKGQTRFA' PythonGenerating time-limited signed links 1st parameter is link lifetime in seconds Force a non-SSL link
  • 77. Generating time-limited signed links Error response: link expired
  • 79. VERSIONING Bucket level Automatically preserves all copies of objects Persistent Even deleted object history is held
  • 82. AWS CLI uses the ‘aws s3api’ CLI command, which has additional functionality over ‘aws s3’ $  aws  s3api  list-­‐object-­‐versions  -­‐-­‐bucket  aws-­‐ianm-­‐s3-­‐masterclass Working with versioned objects via the CLI http://docs.aws.amazon.com/cli/latest/reference/s3api/index.html#cli-aws-s3api
  • 83. AWS CLI $  aws  s3api  list-­‐object-­‐versions  -­‐-­‐bucket  aws-­‐ianm-­‐s3-­‐masterclass   None   None   VERSIONS   "36bc67941830bb388c9bf201440683a4"   True   s3-­‐masterclass-­‐logo.txt   2015-­‐05-­‐18T15:47:38.000Z   337   STANDARD   q2FcbXFAgU7P82Hh6y81hYkrbGYtOCCc   OWNER   ianm   4ee381d180ee58aa815e7d4a3a5f739b20bb8980a568947384e59c8d0ff8379b   VERSIONS   "e0253c9354f61097cbf6ce239afd0464"   False   s3-­‐masterclass-­‐logo.txt   2015-­‐05-­‐18T15:47:30.000Z   337   STANDARD   p_4oF4eG7Be.0aNXqUYFlZL7Q9OuK9nU   OWNER   ianm   4ee381d180ee58aa815e7d4a3a5f739b20bb8980a568947384e59c8d0ff8379b   VERSIONS   "84defb05031845e8b0616a9b70b2ae93"   False   s3-­‐masterclass-­‐logo.txt   2015-­‐05-­‐18T15:47:10.000Z   328   STANDARD   BykgMQ6bRY02Y6krxvMaMvwrL2Ep2e6X   OWNER   ianm   4ee381d180ee58aa815e7d4a3a5f739b20bb8980a568947384e59c8d0ff8379b
  • 84. AWS CLI $  aws  s3api  get-­‐object  -­‐-­‐bucket  aws-­‐ianm-­‐s3-­‐masterclass  -­‐-­‐key  s3-­‐ masterclass-­‐logo.txt  -­‐-­‐version-­‐id   q2FcbXFAgU7P82Hh6y81hYkrbGYtOCCc  version.txt   bytes   337   text/plain   "36bc67941830bb388c9bf201440683a4"   Mon,  18  May  2015  15:47:38  GMT   q2FcbXFAgU7P82Hh6y81hYkrbGYtOCCc   $  more  version.txt    ____  _____      __    __                      _                                _   /  ___|___  /    |    /    |  __  _  ___|  |_  ___  _  __  ___|  |  __  _  ___  ___   ___    |_      |  |/|  |/  _`  /  __|  __/  _    '__/  __|  |/  _`  /  __/  __|    ___)  |__)  |  |  |    |  |  (_|  __    ||    __/  |  |  (__|  |  (_|  __  __     |____/____/    |_|    |_|__,_|___/_____|_|    ___|_|__,_|___/___/   Version  3 http://docs.aws.amazon.com/cli/latest/reference/s3api/index.html#cli-aws-s3api
  • 85. >>>  import  boto   >>>  conn  =  boto.connect_s3()   >>>  bucket=conn.get_bucket('aws-­‐ianm-­‐s3-­‐masterclass')   >>>  versions  =  bucket.list_versions()   >>>  for  version  in  versions:   ...      print  version.name  +  '  '  +  version.version_id   ...   s3-­‐masterclass-­‐logo.txt  q2FcbXFAgU7P82Hh6y81hYkrbGYtOCCc   s3-­‐masterclass-­‐logo.txt  p_4oF4eG7Be.0aNXqUYFlZL7Q9OuK9nU   s3-­‐masterclass-­‐logo.txt  BykgMQ6bRY02Y6krxvMaMvwrL2Ep2e6X PythonListing object versions
  • 86. >>>  key  =  bucket.get_key('s3-­‐masterclass-­‐logo.txt',   version_id='p_4oF4eG7Be.0aNXqUYFlZL7Q9OuK9nU')   >>>  key.get_contents_as_string()   "n  ____  _____      __    __                      _                                _                              n/  ___|___  /    |     /    |  __  _  ___|  |_  ___  _  __  ___|  |  __  _  ___  ___  n___    |_      |  |/|  |/  _`  /   __|  __/  _    '__/  __|  |/  _`  /  __/  __|n  ___)  |__)  |  |  |    |  |  (_|  __    ||    __/  |  |   (__|  |  (_|  __  __  n|____/____/    |_|    |_|__,_|___/_____|_|    ___|_| __,_|___/___/nnVersion  2n”   >>>  key.generate_url(300)   'https://aws-­‐ianm-­‐s3-­‐masterclass.s3.amazonaws.com/s3-­‐masterclass-­‐logo.txt? Signature=c%2BjgGY5EZ4tDuI0xcKg572qL%2B9Y %3D&Expires=1431965853&AWSAccessKeyId=AKIAI65L23YDGKGQTRFA&versionId=p_4oF4eG7Be. 0aNXqUYFlZL7Q9OuK9nU'   >>> PythonGetting a specific object version
  • 94. AWS CLI $  aws  s3  cp  s3-­‐masterclass-­‐logo.txt  s3://aws-­‐ianm-­‐s3-­‐masterclass   upload:  ./s3-­‐masterclass-­‐logo.txt  to  s3://aws-­‐ianm-­‐s3-­‐masterclass/s3-­‐masterclass-­‐logo.txt   $  aws  s3  ls  s3://aws-­‐ianm-­‐s3-­‐masterclass-­‐fra  -­‐-­‐region=eu-­‐central-­‐1   2015-­‐05-­‐18  17:27:47                337  s3-­‐masterclass-­‐logo.txt
  • 96. LIFECYCLE RULES Object Deletion Permanently delete objects from S3 Object Archiving Move objects from S3 to Glacier
  • 98. Amazon Glacier Durable Designed for 99.999999999% durability of archives Cost Effective Write-once, read-never. Cost effective for long term storage. Pay for accessing data
  • 100. logs ✗ Objects expire and are deleted Logs accessible from S3 Expiry time
  • 101. Txns Object transition to Glacier invoked Logs logs ✗ Objects expire and are deleted accessible from S3 accessible from S3 ExpiryTransition time
  • 102. Restoration of object requested for x hrs Logs logs ✗ Objects expire and are deleted accessible from S3 accessible from S3 Txns ExpiryTransition Object transition to Glacier invoked time
  • 103. time 3-5hrs Object held in S3 RRS for x hrs ExpiryTransition Logs logs ✗ Objects expire and are deleted accessible from S3 accessible from S3 Txns Object transition to Glacier invoked Restoration of object requested for x hrs
  • 111. using  (client  =  new  AmazonS3Client()){      var  lifeCycleConfiguration  =  new  LifecycleConfiguration()      {          Rules  =  new  List<LifecycleRule>          {                  new  LifecycleRule                  {                            Id  =  "Archive  and  delete  rule",                            Prefix  =  "projectdocs/",                            Status  =  LifecycleRuleStatus.Enabled,                              Transition  =  new  LifecycleTransition()                              {                                        Days  =  365,                                        StorageClass  =  S3StorageClass.Glacier                              },                              Expiration  =  new  LifecycleRuleExpiration()                              {                                        Days  =  3650                              }                  }          }      }; .NetConfiguring Lifecycle Rules
  • 112. using  (client  =  new  AmazonS3Client()){      var  lifeCycleConfiguration  =  new  LifecycleConfiguration()      {          Rules  =  new  List<LifecycleRule>          {                  new  LifecycleRule                  {                            Id  =  "Archive  and  delete  rule",                            Prefix  =  "projectdocs/",                            Status  =  LifecycleRuleStatus.Enabled,                              Transition  =  new  LifecycleTransition()                              {                                        Days  =  365,                                        StorageClass  =  S3StorageClass.Glacier                              },                              Expiration  =  new  LifecycleRuleExpiration()                              {                                        Days  =  3650                              }                  }          }      }; .NetConfiguring Lifecycle Rules Transition to Glacier after 1 year
  • 113. using  (client  =  new  AmazonS3Client()){      var  lifeCycleConfiguration  =  new  LifecycleConfiguration()      {          Rules  =  new  List<LifecycleRule>          {                  new  LifecycleRule                  {                            Id  =  "Archive  and  delete  rule",                            Prefix  =  "projectdocs/",                            Status  =  LifecycleRuleStatus.Enabled,                              Transition  =  new  LifecycleTransition()                              {                                        Days  =  365,                                        StorageClass  =  S3StorageClass.Glacier                              },                              Expiration  =  new  LifecycleRuleExpiration()                              {                                        Days  =  3650                              }                  }          }      }; .NetConfiguring Lifecycle Rules Delete object after 10 years
  • 114. Restoring from Amazon Glacier AWS Console
  • 115. Restoring from Amazon Glacier AWS Console
  • 116. Restoring from Amazon Glacier AWS Console
  • 117. Restoring from Amazon Glacier AWS Console
  • 118. Restoring from Amazon Glacier AWS Console
  • 120. Static Website Hosting with Amazon S3 You can host your entire static website on Amazon S3 for a low-cost, highly available hosting solution that can scale automatically to meet traffic demands With Amazon S3, you can reliably serve your traffic and handle unexpected peaks without worrying about scaling your infrastructure docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html
  • 121. Static Website Hosting Bucket Properties
  • 124. {      "Version":"2008-­‐10-­‐17",      "Statement":[{     "Sid":"PublicReadGetObject",                  "Effect":"Allow",        "Principal":  {                          "AWS":  "*"                    },              "Action":["s3:GetObject"],              "Resource":["arn:aws:s3:::example-­‐bucket/*"              ]          }      ]   }   Bucket Policy
  • 125. {bucket-­‐name}.s3-­‐website-­‐{region}.amazonaws.com   e.g.  mybucket.s3-­‐website-­‐eu-­‐west-­‐1.amazonaws.com Website Addressing s3-­‐{region}.amazonaws.com/{bucket-­‐name}/{object-­‐key}   e.g.  s3-­‐eu-­‐west-­‐1.amazonaws.com/mybucket/img.png   {bucket-­‐name}.s3-­‐{region}.amazonaws.com/{object-­‐key}   e.g.  mybucket.s3-­‐eu-­‐west-­‐1.amazonaws.com/img.png   Normal Addressing
  • 126. DNS Record set for: aws-­‐exampl.es Route 53
  • 127. DNS Record set for: aws-­‐exampl.es Route 53 bucket bucket Website bucket name: Website bucket name: www.aws-­‐exampl.es aws-­‐exampl.es Error .html Index .html
  • 128. DNS Record set for: aws-­‐exampl.es Route 53 bucket bucket Website bucket name: Website bucket name: www.aws-­‐exampl.es aws-­‐exampl.es Error .html Index .html Website redirect to: aws-­‐exampl.es
  • 129. DNS Record set for: aws-­‐exampl.es Route 53 bucket Website bucket name: Website bucket name: www.aws-­‐exampl.es aws-­‐exampl.es Error .html Index .html Website redirect to: aws-­‐exampl.es A Record ‘Alias’ to S3 website: aws-­‐exampl.es  @   s3website-­‐eu-­‐west1-­‐amazonaws.com   bucket
  • 130. DNS Record set for: aws-­‐exampl.es Route 53 bucket Website bucket name: Website bucket name: www.aws-­‐exampl.es aws-­‐exampl.es Error .html Index .html Website redirect to: aws-­‐exampl.es A Record ‘Alias’ to S3 website: aws-­‐exampl.es  @   s3website-­‐eu-­‐west1-­‐amazonaws.com   bucketbucket CNAME for www. to: www.aws-­‐exampl.es.s3-­‐website-­‐ eu-­‐west-­‐1.amazonaws.com  
  • 133. S3 provides developers with secure, durable & highly scalable object storage1 S3 can be used alone with other AWS services or 3rd party tools & services2 Cost effective for a wide variety of use-cases from cloud applications, content distribution, backup, archiving & disaster recovery to analytics 3
  • 137. AWS Lambda S3 event notifications AutomaticCloud Functions aws.amazon.com/lambda
  • 138. RESOURCES YOU CAN USE TO LEARN MORE
  • 140. Getting Started with Amazon S3: docs.aws.amazon.com/AmazonS3/latest/gsg/GetStartedWithS3.html Amazon S3 Deep Dive & Best Practices session from AWS re:Invent 2014 https://youtu.be/2DpOS0zu8O0 Amazon S3 Documentation: aws.amazon.com/documentation/s3/
  • 141. Certification aws.amazon.com/certification Self-Paced Labs aws.amazon.com/training/
 self-paced-labs Try products, gain new skills, and get hands-on practice working with AWS technologies aws.amazon.com/training Training Validate your proven skills and expertise with the AWS platform Build technical expertise to design and operate scalable, efficient applications on AWS AWS Training & Certification
  • 142. Follow us for m ore events & w ebinars @AWScloud for Global AWS News & Announcements @AWS_UKI for local AWS events & news @IanMmmm Ian Massingham — Technical Evangelist