AWS for Beginners: Understanding AWS Terminologies: Part 1
AWS for Beginners: What is AWS EC2: Part 2
AWS for Beginners: AWS Compute Services: Part 3
AWS for Beginners: How to Protect AWS Security Tools: Part 4
AWS for Beginners: What is IAM (Identity and Access Management) and Best Practices: Part 5
AWS for Beginners: Provisioning IAM Users and Programmatic Access in AWS: Part 6
AWS for Beginners: Securing Root account using MFA: Part 7
What is Amazon S3?
Amazon S3 is an object storage service offered by AWS. Similar to other cloud services, you can start using this service in the Pay as you go (PAYG) model. This web-based storage is highly scalable and dependable and relatively very quick. Customers can store any amount of data from anywhere and retrieve anytime. Amazon s3 bucket name should be unique across all the AWS accounts and regions. It can store massive amounts of unstructured data. Data files are stored as objects in a bucket that you define. The maximum file size of a single object is 5TB. This article will give a quick glimpse of the S3 bucket and objects, benefits, security, common use cases, costs, and best practices.
Amazon S3 Bucket & objects
All the objects have a REST-accessible globally unique URL aka universal namespace. All the objects have the following.
1. Key – Object name
2. Version ID – S3 supports versioning. It keeps multiple variants of the file on the same bucket when the objects are modified. It helps to revert the changes very quickly.
3. Value – Actual content size
4. Metadata – S3 handles the metadata portion. For example, the object creation timestamp is maintained by S3.
5. Sub-resources – Access control (ACL) helps resource-based access control.
Key benefits of Amazon S3
Amazon S3 is revolutionary internet storage that can handle a large amount of data with an intelligent tiering system. Here are some of the key features of Amazon S3 storage.
1. Durability – Amazon S3 ensures data is not lost. S3 standard storage provides 11 9s (99.999999999).
2. Availability – You can access the data when needed. The S3 Standard storage class is designed for four 9s (99.99%) availability.
3. Scalability – It offers virtually unlimited capacity. It supports a single object up to 5TB or less.
4. Performance – It supports many design patterns.
5. Security – It offers fine-grained access control using a bucket policy.
Securing S3 buckets and objects:
- Newly created s3 buckets and objects are private and protected by default
- Manage and control the data access using the bucket policy
- Always follow the principle of the least privilege method
The following diagram explains the different access methods on the Amazon S3 bucket.
Amazon S3 Common use cases:
Common Storage for unstructured data:
You can build a redundant, scalable, and highly available infrastructure that hosts video, pictures, text files, binaries, or music uploads and downloads.
- Amazon S3 bucket is used for backup and storage
- You can host applications using s3 bucket storage
- Media files can be uploaded to s3 buckets
- You can also store software binaries for delivery
Amazon S3 – Backup and archive critical data:
Amazon S3 is used to back up and archive the ONPREM data on the cloud in a hybrid cloud model. In the Multi-Cloud model, it’s used to back up other cloud platform data safely for disaster recovery solutions.
Amazon S3 – Best Practices
Enable encryption
Consider encrypting objects in S3. Encryption encodes data with a secret key, which makes it unreadable to unauthorized users.
- Only users who have the secret key can decode the data
- Optionally, use the AWS key management server to manage the secret keys
Server-side encryption:
On the bucket, server-side encryption can be enabled by selecting the default encryption option. Amazon S3 encrypts objects before it saves the objects to disk, and decrypts the object when you download them.
Client-side encryption
Encrypt data on the client side and upload the encrypted data to Amazon S3. In this case, you manage the encryption process.
Enable versioning
Versioning protects against accidental overwrites and deletion with no performance penalty. When you try to edit the existing file, it generates a new version with every upload. It enables easy retrieval of deleted objects or rollback to previous versions. Three possible states of an s3 bucket.
- Default Versioning not enabled
- Versioning enabled
- Versioning suspended
Amazon S3 storage classes:
AWS offers the following storage classes in Amazon S3.
1. S3 Standard – Frequently accessed data
2. S3 Standard IA – Long-lived, infrequently accessed data
3. S3 One Zone IA – Long-Lived, infrequently accessed data, non-critical data
4. Amazon S3 Glacier or Deep archive – Archiving rarely accessed data.
Note: Amazon S3 intelligent tiering – Automatically moves your objects between storage classes based on data access patterns.
Managing Objects on Amazon S3:
1. You can use the AWS Management Console to access the S3 buckets to upload and download files.
2. AWS command line interface supports uploading and downloading files from s3 buckets. The Command line interface is very handy to automate tasks and use it in the pipeline.
3. AWS offers tools and SDKs to manage the objects programmatically.
Amazon S3 Costs:
AWS charges for the amount of data that you store on S3 buckets. But you need to consider the following to calculate the storage costs.
1. Pay only for use, including
- GBs of objects stored per month. Price differs for regions and storage classes
- Additional charges occur when you transfer OUT to other regions or the internet
- PUT, COPY, POST, LIST, GET, SELECT, lifecycle, transition, and data retrieval requests
2. No charges for the following actions:
- Data transfer IN from the internet to Amazon S3
- Transfer between s3 buckets or from Amazon S3 to any services within the same AWS region
- Transfer OUT to Amazon CloudFront
- DELETE and CANCEL requests
How to upload a large amount of data to an S3 bucket?
Amazon offers an offline data transfer service called – AWS snowball to transfer petabyte-scale data to the AWS cloud. AWS will ship the snowball device to your data center to transfer the data. Once the data is copied, you can ship the device back to Amazon to upload your data to the s3 buckets. Snowmobile is another similar service that supports up to 100PB.
Conclusion:
Amazon S3 is one of the industry-leading object storage platforms provided by AWS. Amazon S3 can be integrated into any service in the AWS cloud and can be used to protect other cloud platform data and ONPREM data. Hope this article provided a quick glimpse into Amazon S3 storage and common use cases. We have also covered how to improve the S3 bucket security by limiting access by enabling access control lists and enabling encryption. In the end, we have covered the s3 storage classes and how to manage the objects using various tools. S3 storage costs also depend on various other factors including object retrievals. AWS Snowball and Snowmobile services help to ship the PetaBytes scale data from ONPREM to Amazon S3 buckets. Hope this article is informative to you.
Follow our Twitter and Facebook feeds for new releases, updates, insightful posts and more.