In Amazon S3, a bucket is a fundamental container for storing objects (files) and is the top-level resource in the service.
An Amazon S3 bucket is a public cloud storage resource, analogous to a top-level directory or drive, where you store your data. To upload any file (referred to as an 'object') to S3, you must first create a bucket. A bucket is the primary container, and it holds all your objects . You can store an unlimited number of objects within a bucket .
Container for Objects: A bucket is a logical unit of organization in S3. Every file, or 'object', you store in S3 must reside within a bucket .
Globally Unique Names: Bucket names must be unique across all AWS accounts in the entire world (or within a specific AWS partition). After a bucket is created, its name cannot be used by another AWS account until it is deleted .
Regional Entity: When you create a bucket, you must choose an AWS Region where it will be physically located. The data stored in that bucket never leaves that region unless you explicitly move it .
Account Limits: By default, each AWS account can have up to 100 buckets, but this quota can be increased by requesting it from AWS Support .
There are two main types of S3 buckets: general purpose buckets, which are the original and recommended type for most use cases, and directory buckets, which are optimized for high-performance scenarios using the S3 Express One Zone storage class .
Buckets themselves are private by default. You can manage access to them and the objects inside using various configuration options like bucket policies, AWS Identity and Access Management (IAM) policies, and Access Control Lists (ACLs). Additional features like versioning, server access logging, and static website hosting are also configured at the bucket level .