1. Introduction to S3
What is S3?
Amazon Simple Storage Service (S3) is a cloud-based storage service. You can use it to store any type of data, like documents, images, or videos.Key Features of S3:
- Scalable: Handles any amount of data.
- Secure: Supports encryption and access controls.
- Durable: Stores multiple copies across regions.
- Accessible: Access data via HTTP/HTTPS protocols.
Use Cases:
- Backup and Restore
- Storing static website files (HTML, CSS, JavaScript)
- Hosting media files for apps or websites
2. How to Create an S3 Bucket
An S3 bucket is like a folder to store data. Let’s create one!
- Login to AWS Console: Open https://aws.amazon.com.
- Search for "S3" in the search bar and open the service.
- Create Bucket:
- Click Create Bucket.
- Enter a bucket name (must be unique across AWS).
- Select the Region where the data will be stored.
- Block Public Access: Choose whether the bucket is private or public.
- Leave Defaults: Keep other settings as they are for now.
- Click "Create Bucket".
3. Upload Files to S3 Bucket
- Go to the Buckets list and click on your new bucket.
- Click Upload and select a file from your computer.
- Click Upload to save the file to the bucket.
4. Versioning in S3
- What is Versioning?
Versioning keeps multiple versions of an object. If you upload the same file multiple times, all versions are kept safely.
- Open your S3 bucket and go to the Properties tab.
- Find Versioning and click Edit.
- Enable Versioning and save changes.
- Practical Example:
- Upload a file called index.html.
- Modify the file and upload it again.
Now, both versions are stored. You can restore any version later!
How to ACCESS storage files of buckets:
`1) How to access buckets file provide object accessbility to add following bucket policy.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::your-bucket-name/*"
}
]
}
It provide global accessbility to access the specific file.
2) `How to access buckets file with versioning and provide old object accessbility to edit following bucket policy.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": ["s3:GetObject","s3:GetObjectVersion"],
"Resource": "arn:aws:s3:::your-bucket-name/*"
}
]
}
It provide global accessbility to access the specific file.
5. Deploying a Static Website on S3
You can use S3 to host simple websites without a web server!
Upload Your Website Files:
- Create a simple HTML file (e.g.,
index.html
). - Upload it to your bucket.
- Create a simple HTML file (e.g.,
Enable Static Website Hosting:
- Go to your bucket, open Properties.
- Scroll to Static Website Hosting and enable it.
- Choose Use this bucket to host a website.
- Set index.html as the default page.
- Save the settings.
Make Files Public:
- Go to Permissions → Bucket Policy.
- Paste the following policy to allow public access:
- Replace
your-bucket-name
with your actual bucket name. - Save the policy.
Access Your Website:
- Go back to Static Website Hosting and copy the Endpoint URL.
- Open it in your browser to see your website live!
6. Other Key S3 Concepts
Lifecycle Policies
- Automate moving files to cheaper storage classes (like Glacier) after a certain time.
Storage Classes
- Standard: Used for frequent access.
- Glacier: Used for long-term storage, cheaper but slower.
S3 Security & Permissions
- IAM Policy: Controls who can access S3 resources.
- Bucket Policy: Allows or denies access to all objects in a bucket.
S3 Logging and Monitoring
- CloudTrail: Tracks all activities related to your bucket.
- CloudWatch: Monitors S3 performance.
7. Hands-on Example: Upload, Version, and Host a Website
- Create a bucket and enable versioning.
- Upload files, modify them, and see versions.
- Host a website using your bucket and share the public URL.
POST Answer of Questions and ASK to Doubt