Learn the concepts of Amazon S3 below.
- 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
- type of access (e.g., READ and WRITE).
- authentication verifies 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 S3 namespace at highest level
- identify account responsible for storage and data transfer charges
- play a role in access control
- serve as 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 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.
- Thirdly, Bucket names must be at least 3 and no more than 63 characters long.
- Bucket names must not contain uppercase characters or underscores.
- Next, Bucket names must start with a lowercase letter or number.
- Bucket names must be a series of one or more labels. Adjacent labels can separate using 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 format as an IP address (for example, 192.168.5.4).
- When you use virtual hosted–style buckets with Secure Sockets Layer (SSL), 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 object and include
- date last modified
- standard HTTP metadata – Content-Type
- Can specify custom metadata at time object stores.
- 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 uniquely address 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 URL http://doc.s3.amazonaws.com/2006-03-01/AmazonS3.wsdl, “doc” is name of bucket and “2006-03-01/AmazonS3.wsdl” is key.
Regions
- You can choose geographical region where S3 will store buckets you create.
- Choose a region to
- optimize latency
- minimize costs
- address regulatory requirements
- Objects stored in a region never leave 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.
- caveat is that if you make a HEAD or GET request to key name (to find if object exists) before creating 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 old data or 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 changes
- A process writes a new object to Amazon S3 and immediately lists keys within its bucket. Until change fully propagates, object might not appear in list.
- A process replaces an existing object and immediately attempts to read it. Until change fully propagates, Amazon S3 might return prior data.
- A process deletes an existing object and immediately attempts to read it. Until deletion fully propagates, Amazon S3 might return deleted data.
A process deletes an existing object and immediately lists keys within its bucket. Until deletion fully propagates, Amazon S3 might list deleted object.
AWS Certified Solutions Architect Associate Free Practice TestTake a Quiz