Simple Storage Service S3 Link to heading
Flat files storage service, object-based storage service. Not a block storage service.
Buckets Link to heading
- Versioning
- Encryption
- Unlimited storage
- Lifecycle management
- Logging for accesses
- Host static web sites
- Buckets names are unique globally
- Supports ACLs and Torrent/BiTorrent
Defaults Link to heading
- By default a bucket is private
- By default up to 100 buckets are allowed
Objects Link to heading
- Obj properties: Key(obj name) and Value(bytes), version id, metadata.
- If the obj is deleted, it is not actually deleted instead a new version as deleted is created
- Restore an obj: remove the
Marker delete
obj version - Each obj version has independent version on
public
property - Objs size can be from 0b to 5TB. Upload can be 0b-5Gb size.
- S3 multi-part enabled allows a fast upload data transfer
- S3 allows up to 3500 PUTS requests per second
S3 Consistency Link to heading
- HTTP Newly created files are retrieved inmediately with a HTTP/200 (read-after-write)
- HTTP Updates and deletes can take some time to propagate. Eventual consistency.
- Updates to a single key is atomic
Analytics (other aws integrations) Link to heading
- Data lake: athenta, redshift, spectrum, quicksight
- Streaming data: Kinesis firehose
- ML: Rekognition, Lex, MXNET
- Storage class analysis
Security Link to heading
- User-based IAMs
- Resources based (ACLs, Policies)
- Supports MFA delete obj which uses multi-factor auth
Objects can be secured by:
- Cloudfront origin access identity
- Cloudfront signed coockies
- Cloudfront signed urls
Encryption at REST Link to heading
Supports different encryption methods:
- Client side: (before upload to S3. PGP)
- Server side: AWS S3 managed keys SSE-S3. AWS managed with AES-256
- Server side: KMS (SSE-KMS). You create the aws kms key by AWS storages it. Integration with aws auditrail
- Server side: customer provided keys (SSE-C).
Tiers Link to heading
- S3 standard: 99.99% SLA, and 99.99999999% durability
- S3 standard: availability and durability across multiple azs
- S3 ia: less frequently access but rapid access when needed
- S3 one zone IA: same as ia but stored in one az. mucho lower cost. SLA=99.50%
- Glacier: service to long-term storage. takes 3-5hrs to retrieve files. No SLA.
- Intelligent tier (aws moves objects betwen glacer or deep glacier)
Lifecycle: S3-IA & Glacier Link to heading
- Use rules to manage objs
- Automated transitions to tiered storage
- Expire objs based on retention period
- Previous and current versions can have different lifecycle configurations
- Previous and current versions can have different expirations
- IA has a mininum of 30 days
- Glacier has a minimum of 30 days after IA
- Deletions are permanent!
Charges Link to heading
- Storage itself
- HTTP Requests
- Data transfer (between regions)
- Storage management (tags setup and other metadat)
- Transfer acceleration with help of CDN via edge locations
Bucket replications Link to heading
- Entire bucket or a prefix objects
- Cross-region replication support (security, compliance, latency reasons)
- Specific IAM role is needed
- Deleted objects are not replicated through regions
- Versioning is required on source and destination buckets
Some other features and/or integrations Link to heading
- Transfer acceleration: uses cloudfront in reverse to fast uploads
- Requester Pays for usage (requires aws account)
- Events when something happens in the bucket: SNS, SQS and Lambda