S3 Cheat Sheet

  • Simple Storage Service
  • Unlimited storage
  • Pay as you use
  • Read after write consistency for PUTS
  • Eventual consistency for overwrite puts and deletes.
  • Objects are stored in Buckets
  • Bucket name is unique across the entire S3 service. You can’t create a bucket with a name that is already taken.
  • Once created, the bucket name cannot be changed.
  • Bucket is created in an AWS region – Bucket region cannot be changed.
  • You can create up to 100 Buckets in your AWS account(Soft limit)
  • Object size can be 0B to 5TB. Objects upto 5GB can be uploaded in single operation. Use multipart-upload to upload objects greater than 5GB in size.
  • You can define Bucket Policies and Access Control Lists to control permissions on buckets and objects.
  • Storage Classes
    • Standard
    • Intelligent-Tiering
    • Infrequent Access
    • One Zone
    • Glacier
    • Glacier Deep Archive
Storage ClassDurabilityAvailabilityNumber of Availability ZonesRetrieval Fee
Standard99.999999999%99.99%>=3NO
Intelligent-Tiering99.999999999%99.9%>=3NO
Infrequent Access99.999999999%99.9%>=3YES
One Zone99.999999999%99.5%1YES
Glacier99.999999999%99.99%>=3YES
Glacier Deep Archive99.999999999%99.99%>=3YES
  • Life Cycle Management – You can configure life cycle rules to
    • Automatically transition objects from one storage class to another after a certain number of days.
    • Automatically delete objects after a certain number of days.
  • Supports Encryption. Objects can be encrypted either at server side or client side.
  • Versioning – You can enable versioning to store old versions of objects. Once enabled, versioning cannot be disabled; you can only suspend it. Previous object versions remain in S3.
  • Static Website Hosting – You can host a Static Website on S3 by uploading all contents to an S3 bucket and configuring the bucket for hosting.
  • Cross Region Replication – Replicate objects between buckets in various regions to minimize latency.
  • Transfer Acceleration – Uses Edge locations to quickly transfer files between S3 and client location.
  • S3 Event Notifications – You can configure S3 to send notifications to Lambda, SQS, SNS for events such as object creation and deletion.
  • Requester Pays Buckets – By default bucket owner pays for storage, retrieval requests and data transfer. By enabling requester pays option on a bucket – retrieval request charge and data transfer charge will be paid by the requester.
  • Monitoring – S3 metrics are stored in Cloud Watch and Cloud Trail logs.
See also  AWS Lambda Cheat Sheet