amazon-s3

Amazon S3 is simply a collection of objects stored in a bucket. Buckets are created in a region. Buckets are replicated in multiple Availability Zones (AZ) within the same region. To setup an S3, you simply choose a region, create a bucket, modify access to the bucket because it is private by default, and then simply upload your objects.

S3 does not have a filesystem because it uses object storage. Every object has a key. The resembles file system addresses to make is more comprehensible for us humans. For example, “images/me.jpg” is an object key.

An S3 bucket can store HTML, CSS, JS, images, media files, pdf, ebooks, software downloads, logs, data lakes, database backups and much more. In fact S3 is the lowest-cost, durable storage option for retaining database backups for immediate retrieval.

S3 stores objects, provides real-time access to those objects, and offers versioning and lifecycle capabilities.

S3 is a managed cloud storage service. This means that it provides simple API for storing and retrieving data. Data stored in S3 is not associated with any server. The infrastructure is managed by Amazon.

Is there a storage limit? No. You can store virtually unlimited number of objects. Objects can be any data file (images, video, logs, etc.). Objects as large as several terabytes can be saved.

S3 can be accessed any time, from anywhere. You get low latency access to data over http / https. You can access S3 privately through a VPC (virtual private cloud) endpoint

There are several security controls that can be used with S3 such as IAM controls, S3 bucket policies, per object ACL (access control lists), encrypt data in transit, server-side encryption on your objects

All data in buckets. All buckets are automatically replicated with AZ.

Can be accessed by aws Console, aws CLI, aws SDKs

Example:
bucket name https://somebucket/
region specific endpoint: s3-us-east-2b.amazonaws.com/
object key: docs/hello.txt
S3 object address : https://somebucket/s3-us-east-2b.amazonaws.com/docs/hello.txt

Common use cases for S3 are:

  • storing app assets
  • static web hosting
    — html, css, js, etc.
  • backup & Disaster Recovery
  • staging are for big data
    — e.g. loaded into RedShift, processed in EMR, and queried in Athena
    — import / export large volumes of data using Snowball

By master