>
---
name: aws-s3-management
description: >
Manage S3 buckets with versioning, encryption, access control, lifecycle
policies, and replication. Use for object storage, static sites, and data
lakes.
---
# AWS S3 Management
## Table of Contents
- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
- [Best Practices](#best-practices)
## Overview
Amazon S3 provides secure, durable, and highly scalable object storage. Manage buckets with encryption, versioning, access controls, lifecycle policies, and cross-region replication for reliable data storage and retrieval.
## When to Use
- Static website hosting
- Data backup and archival
- Media library and CDN origin
- Data lake and analytics
- Log storage and analysis
- Application asset storage
- Disaster recovery
- Data sharing and collaboration
## Quick Start
Minimal working example:
```bash
# Create bucket
aws s3api create-bucket \
--bucket my-app-bucket-$(date +%s) \
--region us-east-1
# Enable versioning
aws s3api put-bucket-versioning \
--bucket my-app-bucket \
--versioning-configuration Status=Enabled
# Block public access
aws s3api put-public-access-block \
--bucket my-app-bucket \
--public-access-block-configuration \
BlockPublicAcls=true,IgnorePublicAcls=true,\
BlockPublicPolicy=true,RestrictPublicBuckets=true
# Enable encryption
aws s3api put-bucket-encryption \
--bucket my-app-bucket \
--server-side-encryption-configuration '{
"Rules": [{
"ApplyServerSideEncryptionByDefault": {
"SSEAlgorithm": "AES256"
}
// ... (see reference guides for full implementation)
```
## Reference Guides
Detailed implementations in the `references/` directory:
| Guide | Contents |
|---|---|
| [S3 Bucket Creation and Configuration with AWS CLI](references/s3-bucket-creation-and-configuration-with-aws-cli.md) | S3 Bucket Creation and Configuration with AWS CLI |
| [S3 Lifecycle Policy Configuration](references/s3-lifecycle-policy-configuration.md) | S3 Lifecycle Policy Configuration |
| [Terraform S3 Configuration](references/terraform-s3-configuration.md) | Terraform S3 Configuration |
| [S3 Access with Presigned URLs](references/s3-access-with-presigned-urls.md) | S3 Access with Presigned URLs |
## Best Practices
### ✅ DO
- Enable versioning for important data
- Use server-side encryption
- Block public access by default
- Implement lifecycle policies
- Enable logging and monitoring
- Use bucket policies for access control
- Enable MFA delete for critical buckets
- Use IAM roles instead of access keys
- Implement cross-region replication
### ❌ DON'T
- Make buckets publicly accessible
- Store sensitive credentials
- Ignore CloudTrail logging
- Use overly permissive policies
- Forget to set lifecycle rules
- Ignore encryption requirements
Creator's repository · aj-geddes/useful-ai-prompts