What is Amazon S3:
S3 - Simple Storage Service
Amazon S3 is a Simple Storage Service in aws stores files of different types like Photos, Audio, and Videos as Objects providing more scalability and security to.
It allows the users to store and retrieve any amount of data at any point in time from anywhere on the web.
S3 is widely used for backup and restore, data archiving, big data analytics, and static website hosting.
Key Features of S3:
Scalability- Automatically scales to handle the volume of data you need to store, from gigabytes to petabytes.
Durability & Availability- Provides 99.999999999% (11 9's) durability and 99.99% availability of objects over a given year.
Security- Supports data encryption at rest and in transit. Offers access management tools such as AWS IAM policies, bucket policies, and access control lists (ACLs).
Data Management Features- Versioning to preserve, retrieve, and restore every version of every object stored.
Strong Classes: Multiple storage classes to optimize cost and performance, such as S3 Standard, S3 Intelligent-Tiering, S3 Standard-IA (Infrequent Access), and S3 Glacier for archival storage.
S3 Common Use Cases:
Backup & Restores - Organizations use S3 to backup their data due to its durability and availability guarantees.
Data Archiving- Long-term storage with S3 Glacier and S3 Glacier Deep Archive at a low cost.
Big Data Analytics- Storing data for processing by AWS analytics services such as Amazon Redshift, Amazon EMR, and Amazon Athena.
Static Website Hosting- Hosting static websites with support for web page rendering and custom domain names.
Content Storage & Distribution- Storing and distributing large amounts of content, such as media files, software, and documents etc.
Create AWS S3 Bucket:
Sign in to the AWS Management Console
Navigate to S3:
- In the console find and select S3
Create a New Bucket:
- Click on the create bucket button
Configure the Bucket:
Set Bucket Options (optional):
Object Ownership: Choose whether the bucket owner has full control over new objects or the object creator has control.
Block Public Access: Enable or disable public access settings. It's recommended to block all public access unless you specifically need the bucket to be publicly accessible.
Versioning: Optionally enable versioning to keep multiple versions of an object in the same bucket.
Tags: Add tags to help organize and manage your AWS resources.
Default Encryption: Set a default encryption to automatically encrypt all objects stored in the bucket.
Review and Create:
- Review your settings and click "Create bucket" to create the bucket.
Upload files in S3:
Login to aws console > S3 > select bucket > upload files > select add files or add folders > browse and select file > upload.
S3 Versioning:
- Amazon S3 versioning is a feature that allows you to keep multiple versions of an object in a bucket.
- This helps protect against accidental deletions and overwrites, provides a way to preserve, retrieve, and restore every version of every object stored in an Amazon S3 bucket, and enhances data protection and data management capabilities.
Key Features of S3 Versioning:
Multiple Versions of an Object:
When versioning is enabled, Amazon S3 assigns a unique version ID to each object stored in a bucket.
Every time you modify or delete an object, Amazon S3 keeps the previous versions, which you can retrieve later if needed.
Protection Against Accidental Deletion and Overwrites:
- By retaining old versions of objects, versioning can help recover data that might have been deleted or overwritten accidentally.
Integration with Lifecycle Rules:
- You can set lifecycle rules to manage the versions of objects. For example, you can specify policies to delete old versions automatically after a certain period.
Compatibility with MFA Delete:
- For additional security, you can enable MFA (Multi-Factor Authentication) Delete, which requires additional authentication to delete versions of objects.
Enable Versioning:
AWS Management console > S3 > Select Bucket > Enable Versioning:
Go to the "Properties" tab.
Find the "Bucket Versioning" section and click "Edit".
Select "Enable versioning" and click "Save changes".