An Amazon S3 bucket is a scalable, high speed web-based resource available on Amazon Web Services(AWS). S3 stands for Simple Storage Service and it is designed for online backup and archiving data and applications on AWS. It is built to store, protect and retrieve data from “buckets” at any time, from anywhere, on any device. It is just like a file folder and stores objects which consists of data and its descriptive metadata.
An Amazon s3 client initially creates a bucket in the AWS region of his/her choice and gives it a globally unique name. AWS usually advises clients to choose regions with closer proximity in order to reduce latency and costs. After creating the bucket, the user selects a tier of the data, alongside other S3 tiers with different levels of redundancy, prices and accessibility. This means that one S3 bucket can store objects from different S3 storage tiers. After that, the user can specify access privileges for the objects stored in a bucket through AWS IAM(Identity and Access Management) bucket policies and access control lists. A client can interact with an S3 bucket via the AWS Management Console, the AWS Command Line Interface or through APIs.
AWS offers several features for S3 buckets like versioning, set-up server access logs, object-level API logs, tags and encryption and transfer acceleration.
There is no limit to the amount of objects a client can store in a bucket(although buckets cannot exist in others). No matter how many buckets an individual creates, S3 performance remains the same. Each AWS account can create 100 buckets but an unlimited number of objects, and the account that creates a bucket is the admin of that bucket, and administration is not transferable. An S3 customer can delete a bucket but another user can claim that unique name. To request an increase in number of buckets above 100, visit the service Quotas Console.
AWS charges customers for storing objects in a bucket and for the movement of objects in and out of buckets. The pricing varies by region.