S3
Introduction
It can used to host file and static website
Object
Max object size: 5TB
If larger than 5GB, must use multi-part upload
Security
IAM Policy
To specify a user permission to specific bucket, suitable for grant access to a user
Bucket Policy
To granting access to public or cross account
Versioning
Can be enabled on bucket level
Easy to rollback
For deleting, it will add a delete marker on object
After deleting delete marker, the object can restored
It must be enabled if replication is needed
Storage Class
General Purpose - Frequently Access Data
Infrequent Access - Infrequent Access Data, but rapid access when needed, e.g: backup for recovery
Glacier Storage - For archive/backup, low cost object storage
Intelligent Tier - Move object across different class automatically based on the frequency of access to the object
Lifecycle Policy
There are 2 types of action after the condition is triggered
Moving storage class to another class
Delete the object
Event Notification
After the object is deleted/updated/created, the event will be triggered and send the message to sqs , sns, ... for performing additional logic
Encryption
There are 4 types of encryption
AWS S3 Managed Key - Enabled by default, encrypt the data by key managed by aws and decrypt when getting the data
KMS Key - Generated key from AWS key management service and need specify the header x-amz-server-side-encryption: aws:kms
Client Side key - using the key managed by user and pass it through the header
Client Side encryption - encryption the file in application level
Pre-signed URL
Generate a url with expiry time for user to access the resource temporarily
Access Point
Define the policy for specific group of user (within VPC) to access specific resource
Last updated
Was this helpful?