Amazon Simple Storage Service (S3) is the foundational object storage service in AWS, offering virtually unlimited storage with eleven nines of durability and objects up to 5 TB in size, accessed via HTTP and HTTPS APIs. Data lives as objects inside buckets whose names must be globally unique across all AWS accounts, three to sixty-three characters, lowercase, with no underscores, and capped at one hundred buckets per account by default. Each bucket is created in a specific Region, and objects inside it are identified by a key representing the full path. S3 supports a range of storage classes for different cost and access profiles: S3 Standard for frequently accessed data, S3 Intelligent-Tiering that automatically moves objects between tiers based on access patterns, S3 Standard-IA and One Zone-IA for infrequent access with retrieval fees (the latter confined to a single AZ and therefore cheaper), S3 Glacier Instant Retrieval for archival with millisecond access, and S3 Glacier Deep Archive for the lowest cost with 12-hour retrieval.
S3 lifecycle policies automate transitions between storage classes and expirations by defining rules based on prefixes or tags that target current or previous versions. Versioning, when enabled, keeps every variant of an object after each overwrite or delete, marks deletes with a recoverable delete marker, and once activated can only be suspended, never disabled; it is also a prerequisite for Cross-Region Replication and for S3 Object Lock. Object Lock adds WORM (write once, read many) semantics in either Governance mode, where users with special IAM permissions can bypass the lock, or Compliance mode, where no one including the root account can delete or overwrite an object before the retention period elapses. S3 Replication asynchronously copies objects across buckets, either cross-region (CRR) for disaster recovery and low-latency access, or same-region (SRR) for compliance or data sovereignty. Replication requires versioning on both ends and only copies new objects by default; S3 Batch Replication backfills existing objects. S3 Batch Operations in general can run large-scale one-time actions across billions of objects.
For large or repeated uploads, Multipart Upload splits a single object into parts of 5 MB to 5 GB, with up to ten thousand parts, allowing parallel uploads, resume from failed parts, and faster transfers for files larger than 100 MB. Pre-signed URLs grant temporary, time-limited access to private objects (default 15 minutes, maximum 7 days), and S3 Transfer Acceleration routes uploads through CloudFront edge locations across the AWS backbone for faster long-distance transfers. S3 Event Notifications fire when objects are created, deleted, restored, or change redundancy class, and can be delivered to SQS, SNS, or Lambda (with at-least-once semantics that require idempotent consumers). S3 Storage Lens delivers thirty-plus organization-wide metrics through an interactive dashboard with daily S3 exports, and S3 Select and S3 Glacier Select run simple SQL expressions to filter data inside an object or archive without downloading the whole payload.
For Linux workloads needing shared file storage, Amazon Elastic File System (EFS) provides a managed, elastic NFS file system that scales to petabytes and can be mounted by EC2, ECS, Lambda, and on-premises hosts through Direct Connect, with Standard and Infrequent Access tiers. Amazon FSx brings third-party file systems to AWS: FSx for Windows File Server with SMB, NTFS, and Active Directory integration; FSx for Lustre for high-performance computing and S3 integration; FSx for NetApp ONTAP for enterprise NFS and SMB; and FSx for OpenZFS for NFS with snapshots and cloning. AWS Storage Gateway bridges on-premises and cloud with three appliance types: File Gateway exposes NFS or SMB files backed by S3, Volume Gateway provides iSCSI block storage with EBS snapshots in the cloud, and Tape Gateway presents a virtual tape library backed by S3 Glacier for traditional backup workflows.