• 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
  • Provides
    • Scalability
    • data availability
    • security
    • 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 access type (as READ and WRITE).
  • authentication verifies the identity of a user who is trying to access AWS

Amazon S3 Concepts

Buckets –

  • It contains the S3 objects
  • 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.
  • Bucket configuration can be changed if object is added, every time
  • unique version ID  is given to object by S3

S3 bucket naming rules

  • Name be unique across all present names in S3
  • Should follow DNS naming conventions.
  • Be 3 to 63 characters long.
  • No use of uppercase letter or underscore
  • starts with a lowercase letter or number.
  • Are a series of one or more labels.
    • Adjacent labels separated by period
    • Only lowercase letters, numbers, and hyphens allowed for label name .
    • label start and end with lowercase letter or number.
  • For DNS notation, bucket names be like an IP address – like 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.

Objects –

  • Fundamental entities stored in Amazon S3
  • Consist of object data and metadata.
  • Data stored in has no impact due to S3/storage
  • Metadata refers to
    • set of name-value pairs
    • it describe the object and
    • it has include
      • the date last modified
      • standard HTTP metadata – Content-Type
  • custom metadata can be added to object during storage
  • All objects contained in a S3 bucket has
  • version ID
  • name or a key

Keys

  • pinpoints uniquely, a object but in the S3 bucket
  • all objects in s3 bucket have only 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 always remain in the region but, can be explicitly transferred 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.
  • eventual consistency is present in all regions, for
    • overwrite PUTS
    • DELETES
  • Updates to a single key are atomic. Hence, every time PUT to an existing key, does not gives corrupted or partial data.
  • High data availability is offered by replicating data
  • Successful PUT indicates safe storage of data
  • behavior about changes
    • New object written to S3 and is immediately listed within the S3 bucket. But object is not listed till addition is fully propagated
    • existing object is replaced and again read, S3 gives prior data till change is fully propagated
    • existing object is deleted but S3 gives deleted data till change is fully propagated
Menu