DEV Community

Sachin
Sachin

Posted on

S3 aws guide

What is Amazon S3?

Amazon Simple Storage Service (S3) is a scalable object storage service provided by AWS. It allows users to store and retrieve any amount of data, such as text files, images, videos, and other objects, from anywhere on the web. S3 is designed for durability, scalability, and accessibility, making it ideal for a wide range of use cases, including backups, media hosting, and data lakes.

S3 stores data as objects within buckets. A bucket is a container for objects, and each object consists of data, a key (name), and metadata. Objects can be text files, MP3s, images, or any other file type.

Storage Types

S3 stores data primarily as objects, but it can also support use cases involving:

  • Object Storage: Stores files like text, MP3s, images, and other data types as objects in buckets.
  • Block Storage: While S3 itself is object storage, it can integrate with services like Amazon Elastic Block Store (EBS) for operating system-level block storage needs. For example, objects in S3 can store virtual machine images or backups that include OS data.

S3 provides unlimited storage capacity, allowing users to scale storage needs without constraints. Amazon guarantees 99.999999999% (11 nines) durability, ensuring data is not lost, and offers high availability for accessing data.

S3 Storage Classes

AWS S3 offers several storage classes to optimize cost, performance, and accessibility based on user needs:

  • S3 Standard: Designed for frequently accessed data with low latency and high throughput. Ideal for active workloads like websites and analytics.
  • S3 Intelligent-Tiering: Automatically moves data between frequent and infrequent access tiers based on usage patterns, optimizing costs without manual intervention.
  • S3 Standard-Infrequent Access (S3 Standard-IA): For data accessed less frequently but requiring immediate access when needed, such as backups or long-term storage.
  • S3 One Zone-Infrequent Access (S3 One Zone-IA): Similar to S3 Standard-IA but stores data in a single Availability Zone, offering lower costs with slightly reduced resilience.
  • S3 Glacier: For archival data with retrieval times ranging from minutes to hours, suitable for long-term storage at a lower cost.
  • S3 Glacier Deep Archive: The lowest-cost storage class for rarely accessed data, with retrieval times of 12–48 hours, ideal for compliance or archival needs.

Each class balances cost, durability, and retrieval speed to suit different use cases.

S3 Transfer Acceleration

S3 Transfer Acceleration enables fast and secure file transfers over long distances between end users and an S3 bucket. It leverages Amazon CloudFront’s globally distributed edge locations to optimize data transfer.

How It Works

  • When data is uploaded to an S3 bucket with Transfer Acceleration enabled, it is sent to the nearest CloudFront edge location.
  • From the edge location, data is routed to the S3 bucket over an optimized network path, reducing latency and improving transfer speeds.
  • This is particularly useful for users uploading or downloading large files, such as media or backups, from distant geographic locations.

To enable Transfer Acceleration, you can configure it on a bucket via the AWS Management Console or SDK, and use a special endpoint (e.g., <bucket-name>.s3-accelerate.amazonaws.com).

Top comments (0)