Storage

Amazon S3

Amazon S3 is an object storage service that stores and retrieves arbitrary amounts of data as objects using REST APIs and SDKs. It operates as a managed, highly scalable object store with configurable storage classes, access controls, lifecycle rules, and event notifications. S3 commonly fits in architectures as the durable object layer for static assets, backups, data lakes, and application file stores.

🗂 Resource Category

Storage

🧠 Exam Memory Hook

Think: "Object storage + HTTP access + lifecycle and events = Amazon S3"


📖 Ownership

Classification: AWS Managed Service

AWS responsibilities: AWS operates and patches the underlying physical infrastructure, networking, and the S3 service control plane, APIs, storage nodes, and the managed service platform; AWS maintains service-level availability, scaling, and the server-side components that implement object storage and replication behaviour. AWS is responsible for the security of the service infrastructure and the managed platform components. AWS does not manage customer data, bucket policies, or customer application code.

Customer responsibilities: The customer configures buckets, object keys, access controls (IAM, bucket policies, ACLs, and block public access), encryption configuration, logging, lifecycle rules, replication configuration, event notification destinations, and client-side usage; the customer secures credentials and IAM principals, monitors object access and usage through CloudWatch and AWS CloudTrail, and enforces data classification and compliance requirements. The customer is responsible for application code that reads from or writes to S3, client libraries, and any stored data lifecycle planning and recovery processes.

Patching responsibilities: AWS patches and maintains the physical infrastructure, network equipment, hypervisor and the managed service platform that runs Amazon S3; AWS is responsible for operating system and runtime patching for the managed service components. The customer is responsible for patching and maintaining their client applications, application libraries, dependencies, and any compute resources (for example EC2 instances or containers) that access S3. Guest operating system and application-level patching on customer-managed compute is the customer’s responsibility; there is no guest OS for the S3 service platform that customers must patch.


🏗 Typical Architecture

💡 Top 5 Features

  • Object-based REST and SDK access for PUT/GET/DELETE operations.
  • Multiple storage classes and configurable lifecycle policies to transition or expire objects.
  • Bucket policies, IAM controls, ACLs, and block public access controls for access management.
  • Server-side encryption options and support for client-side encryption for object data.
  • Event notifications for object-level events that can invoke services such as AWS Lambda, Amazon SQS, or Amazon SNS.

✅ Top 5 Use Cases

  • Hosting and serving static website assets and application media via HTTP(S) and CDN integration.
  • Backup and archive storage with lifecycle management to transition objects to lower-cost storage classes when configured.
  • A central object store for data lakes and analytics pipelines where compute services ingest or read objects.
  • Media asset storage and distribution for large files used by streaming and content delivery workflows.
  • Application object store for user uploads, configuration files, and generated artifacts used by web and mobile applications.

🏗 Architecture Placement

Amazon S3 serves as the account-level object storage layer in AWS architectures and is typically created in a specific AWS region; applications, CDNs, and client SDKs send requests to buckets and objects through S3 endpoints or via CloudFront. Compute services (EC2, Lambda, containers) and analytics services commonly read from and write to S3, and S3 can send event notifications to other services when configured. Placement and access patterns depend on bucket region, endpoint choice, and whether a CDN or VPC endpoints are used.

🎯 Commonly Used With

- Amazon CloudWatch
- AWS Identity and Access Management
- AWS Lambda
- Amazon VPC
- Amazon CloudFront

🌍 5 Real-World Examples

  • A retail platform stores product images and front-end static assets in S3 and serves them via CloudFront to improve delivery to customers.
  • A healthcare analytics pipeline lands de-identified patient telemetry data into S3 as raw objects for downstream ETL and analysis workflows.
  • A media company stores raw video files in S3 and triggers transcoding jobs via Lambda or container-based workers when new objects arrive.
  • A financial institution archives daily transaction exports to S3 with lifecycle rules to retain and then transition older archives for long-term retention planning.
  • A logistics provider stores scanned delivery documents and manifests in S3 so web applications and mobile clients can retrieve the documents on demand.

🎓 AWS Exam Clues

  • Object storage and HTTP/SDK access for large unstructured files suggests Amazon S3.
  • Requirements for object lifecycle transitions, versioning, and expiry typically point to S3 lifecycle policies and versioning features.
  • Event-driven processing triggered by object creation or deletion is commonly implemented using S3 event notifications.
  • Need for static website hosting or CDN-backed asset delivery often implies S3 fronted by Amazon CloudFront.
  • Requirement to manage access by IAM, bucket policies, and block public access indicates S3 as the storage control plane to configure.

📝 Quick Revision

Amazon S3 is the AWS managed object store for storing and retrieving files via REST APIs and SDKs; use it for static assets, backups, and data lakes. When designing with S3 consider access controls and encryption, lifecycle transitions and storage classes, event notifications, and the client-side or compute resources that will produce and consume objects.

🏷 Keywords

object storagebucketsobjectskeysS3 APIpre-signed URLsversioninglifecycle policiesserver-side encryptionS3 eventscross-region replicationstorage classes