Professional Documents
Culture Documents
What Is An Amazon S3 Bucket
What Is An Amazon S3 Bucket
What Is An Amazon S3 Bucket
Amazon S3 buckets are similar to file folders and can be used to store,
retrieve, back up and access objects. Each object has three main components
-- the object's content or data, a unique identifier for the object and the
descriptive metadata, including the object's name, URL and size.
An object must exist within a bucket, as it can't exist alone. Each Amazon
account could have hundreds of buckets, each containing numerous objects.
Data lakes.
Dynamic websites.
Mobile applications.
User-generated content.
Storage archives.
Enterprise applications.
IoT devices.
How to use an S3 bucket
An S3 user first creates a bucket in the AWS region of their choice and gives it
a globally unique bucket name. It's crucial to know that Amazon S3 buckets
are globally unique, which means that the bucket names of any two AWS
accounts in the same region can't be the same. AWS recommends that users
choose regions geographically close to them to reduce latency and storage
costs.
Once the bucket is created, the user selects a tier for the data. Different S3
tiers have different levels of redundancy, pricing and accessibility. One bucket
can store objects from different S3 storage tiers.
Next the user specifies access privileges for the objects stored in a bucket
using the AWS Identity and Access Management service, bucket policies or
access control lists (ACLs).
An AWS user can interact with an Amazon S3 bucket via the AWS
Management Console, AWS Command Line Interface or application
programming interfaces (APIs). The S3 access points that have the Amazon
Resource Names and the bucket hostname can be used to access objects
inside a bucket.
S3 bucket features
Amazon S3 offers numerous features to manage and organize data and
support particular use cases.
Commonly used features that can be enabled for S3 buckets include the
following:
Versioning control. Versioning control can preserve every version of an
object when a user performs an operation, such as copy or delete. This
helps prevent the object from being accidently deleted. Multi-factor
authentication can also be enabled on an S3 bucket to prevent accidental
deletions.
When setting up S3 buckets, the bucket owner can also create object-level
configurations. For example, by setting up an ACL that's unique to an object,
the owner of the bucket can specify object-level permissions.
For objects stored inside a bucket, access privileges are typically granted
through the following permission options:
Bucket policies. The bucket owner can use a bucket policy to grant
permissions to the bucket and any objects inside the bucket that belong to
the owner. A bucket policy can be easily created using the AWS Policy
Generator.
AWS Identity and Access Management service. The AWS IAM web
service lets users securely manage who has access to their Amazon S3
buckets and other AWS resources. Several users can be created under the
same Amazon account using AWS IAM and user policies can be linked to
these accounts to control S3 object access permissions.
Pros
Cons
Data retrieval. Since an S3 bucket isn't a local disk, data retrieval requires
sending queries via the internet or the internal network of AWS. Due to the
nature of the internet, this can occasionally result in delays and possible
request failures.
Object store. S3 isn't a file system but just an object store. Therefore it
can never be treated as a Portable Operating System Interface file system.
Latency and availability. S3 isn't a real-time storage service even though
it's designed for high durability and availability. When accessing S3 data,
users could encounter some latency and downtime, especially when
there's a spike in demand or an infrastructure problem.
Complex billing. For small business owners who aren't particularly tech-
savvy, billing for most Amazon services, including S3, can be complex and
difficult to understand. However, most consumers eliminate this problem by
working with resellers, who make the billing procedure more intuitive and
easier for the end-user to comprehend.