• Amazon Simple Storage Service is called as Amazon S3
  • Provides easy-to-use management features to organize data and configure access controls.
  • It is designed for 99.999999999% (11 9’s) of durability
  • It  is an object storage service
  • Offers industry-leading scalability, data availability, security, and performance.
  • Use cases include
    • Websites
    • mobile applications
    • backup and restore
    • archive
    • enterprise applications
    • IoT devices
    • big data analytics.

S3 Access control

  • defines who can access objects and buckets within S3
  • the type of access (e.g., READ and WRITE).
  • authentication verifies the identity of a user who is trying to access AWS

Amazon S3 Concepts

Buckets –

  • It is a container for objects stored in Amazon S3.
  • Every object is contained in a bucket.
  • URL addressing, as if object named photos/puppy.jpg stored in johnsmith bucket, then URL is http://johnsmith.s3.amazonaws.com/photos/puppy.jpg
  • Buckets helps to
    • organize the S3 namespace at the highest level
    • identify the account responsible for storage and data transfer charges
    • play a role in access control
    • serve as the unit of aggregation for usage reporting.
  • Buckets can be created in a specific region.
  • Can also configure a bucket every time an object is added to it
  • S3 generates a unique version ID and assigns it to the object.

Rules for naming S3 buckets in all AWS Regions:

  • Bucket names must be unique across all existing bucket names in Amazon S3.
  • Bucket names must comply with DNS naming conventions.
  • Bucket names must be at least 3 and no more than 63 characters long.
  • Bucket names must not contain uppercase characters or underscores.
  • Bucket names must start with a lowercase letter or number.
  • Bucket names must be a series of one or more labels. Adjacent labels are separated by a single period (.). Bucket names can contain lowercase letters, numbers, and hyphens. Each label must start and end with a lowercase letter or a number.
  • Bucket names must not be formatted as an IP address (for example, 192.168.5.4).
  • When you use virtual hosted–style buckets with Secure Sockets Layer (SSL), the SSL wildcard certificate only matches buckets that don’t contain periods. To work around this, use HTTP or write own certificate verification logic. We recommend that you do not use periods (“.”) in bucket names when using virtual hosted–style buckets.

Objects

  • Fundamental entities stored in Amazon S3
  • Consist of object data and metadata.
  • Data portion is opaque to Amazon S3 or stored as it is.
  • Metadata is a set of name-value pairs that describe the object and include
    • the date last modified
    • standard HTTP metadata – Content-Type
  • Can specify custom metadata at the time the object is stored.
  • An object is uniquely identified within a bucket by a key (name) and a version ID.

Keys

  • Unique identifier for an object within a bucket.
  • Every object in a bucket has exactly one key.
  • Every object in Amazon S3 can be uniquely addressed as
    • Combination of a bucket, key, and version ID uniquely identify each object
    • web service endpoint, bucket name, key, and optionally, a version.
  • Example, in the URL http://doc.s3.amazonaws.com/2006-03-01/AmazonS3.wsdl, “doc” is the name of the bucket and “2006-03-01/AmazonS3.wsdl” is the key.

Regions

  • You can choose the geographical region where S3 will store the buckets you create.
  • Choose a region to
    • optimize latency
    • minimize costs
    • address regulatory requirements
  • Objects stored in a region never leave the region unless you explicitly transfer them to another region.

Amazon S3 Data Consistency Model –

  • S3 provides read-after-write consistency for PUTS of new objects in S3 bucket in all regions with one caveat.
  • The caveat is that if you make a HEAD or GET request to the key name (to find if the object exists) before creating the object, Amazon S3 provides eventual consistency for read-after-write.
  • S3 offers eventual consistency for overwrite PUTS and DELETES in all regions.
  • Updates to a single key are atomic. If you PUT to an existing key, a subsequent read might return the old data or the updated data, but it will never return corrupted or partial data.
  • High data availability by replicating data across multiple servers within Amazon’s data centers.
  • If a PUT request is successful, data is safely stored.
  • Following behavior for information about the changes
    • A process writes a new object to Amazon S3 and immediately lists keys within its bucket. Until the change is fully propagated, the object might not appear in the list.
    • A process replaces an existing object and immediately attempts to read it. Until the change is fully propagated, Amazon S3 might return the prior data.
    • A process deletes an existing object and immediately attempts to read it. Until the deletion is fully propagated, Amazon S3 might return the deleted data.
    • A process deletes an existing object and immediately lists keys within its bucket. Until the deletion is fully propagated, Amazon S3 might list the deleted object.

Menu