Cloudwards.net may earn a small commission from some purchases made through our site. However, any earnings do not affect how we review services. Learn more about our editorial integrity and research process.
Amazon S3 offers a mix of inexpensive pricing, storage flexibility, unlimited storage, reliability and durability. However, its configurations and pricing can be confusing at first. Keep reading this Amazon S3 review for all the details.
AWS S3, or Amazon S3, is a cloud object storage service from Amazon Web Services (AWS).
Amazon S3 offers unlimited storage and is ideal when you need to store large volumes of data for relatively infrequent access.
S3 has nine storage classes, each of which is designed for varying levels of access frequency, resilience and performance.
Use Amazon S3 for…
Website Hosting: You can host a static website directly from Amazon S3, and distribute through CloudFront for security and enhanced performance. You can also host a dynamic website on Amazon S3 when you combine it with AWS Lambda. In such a combination, Lambda hosts the backend code while S3 serves as data storage.
App Data Storage: S3 can serve as data storage for user-generated contents and other uploads to a web app or mobile app.
Data Archiving and Backup: Considering its impressive durability, you can store backups on S3, and if you want to archive data, you can use the Glacier or Infrequent-Access storage classes.
Facts & Expert Analysis: Amazon Simple Storage Service
Personal storage: Though it’s built for more, you can use Amazon S3 as personal or business cloud storage, with 5GB of free storage for your files. Unlike other personal cloud storage solutions, Amazon S3 does not sync with personal devices, but those with software development experience can find a workaround.
S3 With AWS Lambda: Amazon S3 plus AWS Lambda is a popular combination of services. In many use cases, people want to transform objects before storing in S3. For instance, if you are storing profile pictures in S3, you can convert the pictures to the ideal resolution with Lambda and then store them in S3.
Bucket naming: S3 bucket names are unique and involve many naming rules. Your bucket name cannot start with “xn--,” “sthree-,” “sthree-configurator” or “amzn-s3-demo-.” Similarly, your bucket name cannot end in “-s3alias,” “–ol-s3,” “–x-s3” or “.map.” This is not an exhaustive list, so consult the rules if you’re having issues naming your bucket.
Amazon S3 is the second service that AWS launched, and it offers remarkable durability and availability, qualities that drive its reputation and popularity in the object storage market. This Amazon S3 review delves into its usage, features, performance, pricing, security, support and more.
Besides object storage (Amazon S3), AWS offers block storage (Elastic Block Service) and file storage (Elastic File System). Though all three store data, their ideal use cases differ. We will explain the differences between them later in this review.
09/30/2024 Facts checked
This article was rewritten with up-to-date information about pricing, features, server network and performance.
Steep learning curve, particularly for access control
What Is AWS S3?
AWS S3, also known as Amazon S3, is an object storage service from Amazon Web Services. Amazon S3 is suited for storing large volumes of unstructured data that is infrequently accessed. However, if you’re not storing large data volumes or if you need to access stored data frequently, block storage offers better performance.
Amazon S3 stores data as objects in containers called “buckets.” You can think of objects as data stored as-is, but with the addition of metadata. In other words, objects in object storage include the stored data and information about it (metadata). Object metadata includes details like the size, an identifier, timestamps and permissions.
Demystify cloud storage terminology and key concepts in plain language
Discover easy-to-implement techniques to securely backup and sync your data across devices
Learn money-saving strategies to optimize your cloud storage costs and usage
Of course, AWS S3 is not the only storage platform on Amazon Web Services; the block storage service (Elastic Block Storage) and file system (Elastic File System) are alternatives. However, if you want durability, unlimited storage and scalability for large, infrequently accessed data, AWS S3 is typically the best option.
Facts & Expert Analysis:
Personal storage: Though it’s built for more, you can use Amazon S3 as personal or business cloud storage, with 5GB of free storage for your files. Unlike other personal cloud storage solutions, Amazon S3 does not sync with personal devices, but those with software development experience can find a workaround.
S3 With AWS Lambda: Amazon S3 plus AWS Lambda is a popular combination of services. In many use cases, people want to transform objects before storing in S3. For instance, if you are storing profile pictures in S3, you can convert the pictures to the ideal resolution with Lambda and then store them in S3.
Bucket naming: S3 bucket names are unique and involve many naming rules. Your bucket name cannot start with “xn--,” “sthree-,” “sthree-configurator” or “amzn-s3-demo-.” Similarly, your bucket name cannot end in “-s3alias,” “–ol-s3,” “–x-s3” or “.map.” This is not an exhaustive list, so consult the rules if you’re having issues naming your bucket.
AWS S3 Features
Storage classes: Amazon S3 offers different storage classes based on access frequency. This means you can choose the storage class best suited to your use case.
Storage analytics: S3 provides insights into storage usage and activity trends, and recommends actions to improve cost efficiency and data protection. It also analyzes usage patterns and suggests if a different S3 storage class might be better.
Storage monitoring: Amazon S3 offers various storage-monitoring and management features, including bucket versioning, data replication, access points, and usage and cost aggregation.
Access control: Access to S3 resources is private by default, but you can control access using AWS IAM (Identity and Access Management), access control lists, bucket policies and access points.
Data processing: You can modify and process data stored in Amazon S3 through an integration with AWS Lambda.
Data transfer: S3 can be used as part of hybrid cloud storage with AWS Storage Gateway. That aside, you can use AWS DataSync to transfer large amounts of online data to S3 and AWS Snow Family for offline data transfer.
Data exchange: With AWS Data Exchange for S3, you get easier access to third-party files in a data provider’s S3 bucket for data analysis (if you have a subscription with the data provider).
Query in place: You can integrate AWS data analysis services like Amazon Athena and Amazon Redshift Spectrum to query and analyze data in S3 without making a copy of the data.
AWS Object Storage Explained
Elastic Block Storage (EBS) and Elastic File System (EFS) use hierarchical systems, making for efficient file access. AWS object storage, or Amazon S3, uses a flat namespace, so file access isn’t as efficient and typically requires the use of APIs. However, because it doesn’t use a hierarchical system, Amazon S3 is perfect for storing data with complex metadata.
AWS object storage is based on multiple nodes of physical storage disks, making it durable and scalable. There’s also no limit to how much storage you can access. You can also control storage costs by choosing from Amazon S3 tiers designed for archiving and infrequent access.
What Is an S3 Bucket?
An S3 bucket is a container for object storage in Amazon S3. In other words, it is the storage unit in Amazon S3 — think of it as a unit in a storage facility. S3 buckets primarily organize objects stored in Amazon S3. Beyond that, they allow you to control data access with bucket policies, access points and access control lists.
Each S3 bucket in Amazon S3 is globally unique; no two AWS accounts have a bucket with the same name. Beyond facilitating organization and access control, S3 buckets serve as identifiers for their AWS origin accounts.
You can have up to 100 buckets in your AWS account by default, but you can also request a quota increase.
Amazon S3 Availability Rate
Amazon S3 has an availability rate of between 99.5% and 99.99% across its storage classes. Standard, Glacier Flexible Retrieval and Glacier Deep Archive have 99.99% availability; One Zone-IA is 99.5% available; and every other class has 99.9% availability.
Amazon S3 Durability Rate
Amazon S3 has a durability rate of 99.99999999999%, which it achieves thanks to data being stored across at least three zones by default.
AWS S3 Cost & Pricing
90 % – Excellent
AWS S3 pricing includes the cost of transformations and queries, storage and requests, data transfer, security and access control, replication, and management and insights.
The prices of some cost components vary across the six Amazon S3 storage classes:
Standard
Intelligent-Tiering
Standard-Infrequent Access
One Zone-Infrequent Access
Glacier
Glacier Deep Archive
However, other cost components are independent of storage class.
Generally, S3 storage classes designed for relatively frequent access, such as Standard, are more expensive than other tiers. However, they have volume discounting, meaning the unit rate is lower when you store larger amounts of data.
Amazon S3 Storage Rates
Amazon Glacier Deep Archive offers the cheapest Amazon S3 storage rate, at $0.00099 per GB, because it offers the most infrequent access. S3 Standard and Intelligent-Tiering (Frequent Access tier) offer the highest rates: $0.023 per GB for the first 50TB per month, $0.022 per GB for the next 450TB per month and $0.021 per GB for more than 500TB per month.
S3 Intelligent-Tiering — Deep Archive Access tier (asynchronous)
$0.00099 per GB
Storage Class
Rate
S3 Express One Zone
$0.16 per GB
Storage Class
Rate
S3 Glacier — Instant Retrieval
$0.004 per GB
S3 Glacier — Flexible Retrieval
$0.0036 per GB
S3 Glacier — Deep Archive
$0.00099 per GB
Storage Class
Rate
S3 One Zone-Infrequent Access
$0.01 per GB
Amazon S3 Usage Rates
Usage rates include requests (such as HTTP request methods and data retrieval requests) and data transfer. The tables below highlight Amazon S3 request rates.
Data Transfer Flow
Rate
Transfer to S3 from the internet
Free
Transfer from S3 to the internet
$0.09 per GB for the first 10TB per month
$0.085 per GB for the next 40TB per month
$0.07 per GB for the next 100TB per month
$0.05 per GB for more than 150TB per month
Transfer from S3 to CloudFront
Free
Transfer from S3 to AWS regions
$0.02 per GB to all regions except U.S. East ($0.01 per GB)
Storage Class
Request Rate
S3 Standard
PUT, COPY, POST, LIST requests — $0.005 per 1,000 requests
GET, SELECT and all other requests — $0.004 per 1,000 requests
S3 Standard-Infrequent Access
PUT, COPY, POST, LIST requests — $0.01 per 1,000 requests
GET, SELECT and all other requests — $0.001 per 1,000 requests
Lifecycle transition requests — $0.01 per 1,000 requests
Data retrievals — $0.01 per GB
Storage Class
Request Rate
S3 One Zone-Infrequent Access
PUT, COPY, POST, LIST requests — $0.01 per 1,000 requests
GET, SELECT and all other requests — $0.001 per 1,000 requests
Lifecycle transition requests — $0.01 per 1,000 requests
Data retrievals — $0.01 per GB
Storage Class
Request Rate
S3 Express One Zone
PUT, COPY, POST, LIST requests — $0.0025 per 1,000 requests
GET, SELECT and all other requests — $0.0002 per 1,000 requests
Lifecycle transition requests — $0.01 per 1,000 requests
Data retrievals — flat rate up to 512kB
For extra GB above 512kB, $0.0075-0.008 per GB for PUTs and $0.0014-0.0015 per GB for GETs; varies by region
Storage Class
Request Rate
S3 Intelligent-Tiering
PUT, COPY, POST, LIST requests — $0.005 per 1,000 requests
GET, SELECT and all other requests — $0.0004 per 1,000 requests
Lifecycle transition requests — $0.01 per 1,000 requests
PUT, COPY, POST, LIST requests — $0.02 per 1,000 requests
GET, SELECT and all other requests — $0.01 per 1,000 requests
Lifecycle transition requests — $0.02 per 1,000 requests
Data retrievals — $0.03 per GB
S3 Glacier — Flexible Retrieval
PUT, COPY, POST, LIST requests — $0.03 per 1,000 requests
GET, SELECT and all other requests — $0.0004 per 1,000 requests
Lifecycle transition requests — $0.03 per 1,000 requests
Expedited: Data retrieval requests — $10 per 1,000 requests
Data retrieval — $0.03 per GB
Standard: Data retrieval requests — $0.05 per 1,000 requests
Data retrieval — $0.01 per GB
Provisioned Capacity Unit: Data retrieval — $100 per unit
S3 Glacier — Deep Archive
PUT, COPY, POST, LIST requests — $0.05 per 1,000 requests
GET, SELECT and all other requests — $0.0004 per 1,000 requests
Lifecycle transition requests — $0.05 per 1,000 requests
Standard: Data retrieval requests — $0.10 per 1,000 requests
Data retrieval — $0.02 per GB
Bulk: Data retrieval requests — $0.025 per 1,000 requests
Data retrieval — $0.0025 per GB
AWS S3 Bucket Pricing
The cost of an AWS S3 bucket includes storage rates, request rates and data transfer rates, as highlighted above. In addition to those charges, you pay $0.03 per 1,000 access grant requests and $0.03 per GB of dual-layer server-side encryption, with keys stored in AWS Key Management Service (KMS). You’ll also pay AWS KMS charges.
In addition, Amazon S3 charges for storage management, storage insights and replication. If you use AWS Lambda with S3, you’ll pay for transform and query operations. That said, Amazon S3 has a free tier with 5GB of object storage, 100GB of outward data transfer, 20,000 GET requests and 2,000 requests for other HTTP methods (PUT, COPY, POST and LIST).
Amazon Storage Server Network
95 % – Excellent
Amazon S3 is available in all AWS regions worldwide. Its server network includes 34 regions with 105 availability zones consisting of hundreds of data centers. Since AWS regions are distributed all over the world except in Antarctica, you can use Amazon S3 virtually anywhere.
Besides AWS global infrastructure, Amazon S3 drives low-latency connections by caching data using Amazon CloudFront, so data is available at edge locations worldwide. This promotes low latency because edge locations are often closer to users than data centers, data transfer from edge locations to users is faster.
Amazon S3 uses a global namespace, hence the need for unique bucket names. It replicates data across at least three availability zones by default for all storage classes except S3 One Zone. That said, there’s still some redundancy in the S3 One Zone class, as data is replicated across multiple devices within one availability zone.
Besides zonal replications, you can configure Amazon S3 for regional replication through one of two options: cross-region replication and single-region replication. Cross-region replication applies when replicating objects across buckets in different regions, while single-region replicates objects across buckets in the same region.
Amazon S3 Ease of Use
90 % – Excellent
Compared to Azure Blob Storage, Amazon S3 is fairly straightforward to use. For one, the S3 dashboard interface is more intuitive and less congested than that of Azure Blob Storage. However, the access control configurations can be tricky, especially for beginners.
Creating, emptying and deleting buckets in S3 highlights is easy. Buttons for performing all three actions are next to each other on the “buckets” dashboard. That said, you can prevent accidental bucket deletions using a resource-based policy, so the ease of access to the “delete” and “empty” buttons doesn’t put your buckets at risk.
The Access Grants and Storage Lens dashboards include illustrative images that enhance accessibility. The images offer concise and clear descriptions of what each feature does.
Having the IAM Access Analyzer and various access options to the left of the S3 dashboard facilitates use of the access and access management features. Each option shares the same unfussy layout as the “buckets” dashboard. Though there are no illustrative images as with the Access Grants dashboard, there’s no intricate layout complicating the view.
How to Use an Amazon S3 Bucket for Cloud Object Storage
You can use Amazon S3 buckets for cloud object storage through the AWS Management Console, AWS CLI, REST API and AWS SDK (software development kit). The SDK is particularly useful when integrating S3 into your application, but CLI and REST API could also be of use in software development.
The AWS console allows you to upload files or folders of up to 160 GB only; for larger uploads, use the S3 REST API, CLI or SDK. Below is an explanation of how to store objects in an S3 bucket from the AWS console.
Create Your Bucket
After signing in to the AWS console, navigate to the Amazon S3 dashboard and click on the “create bucket” button to create an S3 bucket.
Configure the Bucket
You’ll be taken to a page where you can configure your bucket. You’ll provide a bucket name, which must be globally unique. You’ll also configure bucket ownership, bucket access, bucket versioning, encryption and object lock. If you have an existing S3 bucket, you can copy its configuration directly to the new bucket.
Navigate to the Bucket’s Dashboard
Next, you’ll be redirected to a dashboard where you can manage buckets. From that dashboard, click on your target bucket’s name to navigate to its dashboard.
Upload an Object to the Bucket
When you click the “upload” button from the bucket’s dashboard, a page opens with various upload options. You can choose to upload either files or folders, and you can configure storage class, encryption and permissions while viewing details of the object’s destination bucket.
You can drag the file or folder to be uploaded to the console. Alternatively, click on “add files” or “add folder” to select the object. After selecting the object, click on the “upload” button at the bottom of the page to complete the process.
Managing the Object
After uploading the object, navigate to the bucket’s dashboard and select the object to manage it. When you do this, a page with configurations for the object will load in your browser. From that page, you can obtain the URL, the S3 URI and the modification date, among other object properties. You can also manage permissions, file versioning and properties of the object.
Amazon Cloud Storage Security Features
95 % – Excellent
Amazon Cloud storage security features include encryption, access control, multi-factor authentication, physical server security and audits. We provide more details on these features below.
Encryption
Amazon S3 offers four server-side encryption methods for uploaded objects: server-side encryption-S3 (SSE-S3), server-side encryption-KMS (SSE-KMS), dual-layer server-side encryption-KMS (DSSE-KMS) and server-side encryption customer-provided keys (SSE-C).
SSE-S3 is the default encryption, which involves storing objects on S3 storage disks in an encrypted form. When using SSE-S3, S3 provides and manages the encryption key for each object.
With SSE-KMS and DSSE-KMS, you have more control over the encryption keys, as AWS Key Management Service generates them and gives you management access. Unlike SSE-KMS, DSSE-KMS uses two layers of server-side encryption, which is sometimes required for compliance. SSE-C gives you the most control over the encryption keys since you provide them.
Multi-Factor Authentication & Access Controls
S3 resources are private by default and not publicly accessible. However, you can control access through resource-based policies, user policies, bucket policies, access control lists and IAM.
Moreover, you can enable multi-factor authentication for deletions and bucket-versioning state alterations. Multi-factor authentication protects you from data loss through accidental or unauthorized actions, as it requires manual intervention before any changes take place.
Physical Server Security
AWS’ part of the shared responsibility model mandates that it provide physical security at data centers. That security extends to Amazon S3 disks — the physical storage devices that make up Amazon S3. Security is achieved through a combination of optimal site selection, data redundancy, restricted physical access, CCTV systems and intrusion detection systems.
Third-Party Audits
Amazon S3’s compliance and security is evaluated through third-party audits, which are available on AWS Artifact. This indicates some transparency in the assessment of Amazon S3’s security.
Customer Support
95 % – Excellent
AWS offers account and billing support by default at no extra cost. However, if you want technical support for areas such as architectural guidance, third-party software usage or programmatic management for your S3 account, you’ll need to subscribe to a paid plan.
Paid plans offer varying degrees of support, with Developer offering the least and Enterprise offering the most. The Developer plan provides general architectural guidance but no third-party software or programmatic management support. The Business, Enterprise On-Ramp and Enterprise plans do offer these features. S3 customer support is available via chat or phone.
Pricing for Customer Support
Support Tier:
Price
Features
Developer
3% of the account’s monthly charges or a minimum of $29 per month
– General architectural guidance – AWS Trusted Advisor service quota and basic security checks – Enhanced technical support – Access to support automation workflows
Business
10% of monthly account charges up to $10k, 7% up to $80k, 5% up to 250k and 3% above 250k
Minimum support charge is $100 per month
– Contextual architectural guidance – Full AWS Trusted Advisor checks – Enhanced technical support – Access to support automation workflows and AWS Countdown Premium – Third-party software support – Programmatic case management
Enterprise On-Ramp
10% of account’s monthly charges or a minimum of $5,500 per month
– Contextual architectural guidance with consultative review – Full AWS Trusted Advisor checks – Enhanced technical support – Access to free AWS Countdown, support automation workflows and AWS Countdown Premium – Proactive security reviews – Third-party software support – Programmatic case management – Technical account management – Billing assistance – Access to AWS Managed Services and AWS re:Post Private for a fee
Enterprise
$15k for monthly account charges up to $150k, 7% up to $500k, 5% up to $1 million and 3% above $1 million
Minimum support charge is $15,000 per month
Same features as Enterprise On-Ramp plus the following:
– Designated technical account manager – Proactive billing assistance – AWS Incident Detection and Response for a fee
Final Thoughts
Amazon S3 readily integrates with many other services and has features hardened with thorough security measures, so its standing in the cloud object storage market is consistent with its quality. Its pricing model can be complicated and access control might be a hassle at the start. However, all in all, it is a remarkable service.
On a scale of one to 10, what would you rate Amazon S3? If you were to substitute S3 with another service, which one would it be? Let us know how you feel about Amazon S3 in the comments.
FAQ: Amazon S3 Review
S3 stands for “simple storage service.” Therefore, Amazon S3 is Amazon Simple Storage Service.
Use Amazon S3 over Google Cloud Storage if you need scalability, low latency and a vast range of features and integrations.
People use Amazon S3 for storing unstructured data that will not be accessed frequently.
Amazon S3’s failure rate estimates that one data object out of 10 billion objects will go missing every 10 years.
Adeyomola Kazeem is an experienced writer and cloud computing professional with over five years of writing experience, specializing in cloud computing, Linux and DevOps. Holding a diploma in cloud computing from Altschool Africa and a bachelor of pharmacy from the University of Ibadan, Adeyomola is also certified as an AWS Solutions Architect Associate and AWS Cloud Practitioner. His expertise and technical background contribute to his ability to simplify complex cloud concepts, making him a valuable asset to Cloudwards.
Because the Cloudwards.net team is committed to delivering accurate content, we implemented an additional fact-checking step to our editorial process. Each article that we fact check is analyzed for inaccuracies so that the published content is as accurate as possible.
You can tell that an article is fact checked with the Facts checked by symbol, and you can also see which Cloudwards.net team member personally verified the facts within the article. However, providers frequently change aspects of their services, so if you see an inaccuracy in a fact-checked article, please email us at feedback[at]cloudwards[dot]net. We strive to eventually have every article on the site fact checked. Thank you.