AWS Storage Services¶
Amazon S3 (Simple Storage Service)¶
Overview¶
Amazon S3 is object storage built to store and retrieve any amount of data from anywhere on the web. It's designed for 99.999999999% (11 9's) durability.
Key Features¶
- Object Storage: Store data as objects within buckets
- Scalability: Virtually unlimited storage capacity
- Durability: 99.999999999% (11 9's) durability
- Availability: Designed for 99.99% availability
- Security: Encryption, access control, versioning
Core Concepts¶
Buckets¶
- Definition: Containers for storing objects
- Global Namespace: Bucket names must be globally unique
- Regional: Buckets are created in specific AWS Regions
- Naming: Must be DNS-compliant (lowercase, no spaces)
Objects¶
- Components: Key (name), value (data), metadata, version ID
- Size: From 0 bytes to 5 TB
- Key: Unique identifier within a bucket
- Metadata: Key-value pairs describing the object
Storage Classes¶
S3 Standard¶
- Use Case: Frequently accessed data
- Performance: Low latency, high throughput
- Durability: 11 9's durability
- Availability: 99.99% availability
- Cost: Higher storage cost, no retrieval fees
S3 Intelligent-Tiering¶
- Use Case: Unknown or changing access patterns
- Automatic: Moves data between access tiers
- Cost Optimization: Optimizes storage costs automatically
- Tiers: Frequent, Infrequent, Archive, Deep Archive
- Monitoring: Small monthly monitoring fee
S3 Standard-IA (Infrequent Access)¶
- Use Case: Long-lived, infrequently accessed data
- Cost: Lower storage cost than Standard
- Retrieval: Per-GB retrieval fee
- Minimum: 30-day minimum storage duration
- Use Cases: Backups, disaster recovery, long-term storage
S3 One Zone-IA¶
- Use Case: Infrequently accessed, recreatable data
- Storage: Single Availability Zone (lower cost)
- Durability: 99.999999999% within the AZ
- Availability: 99.5% availability
- Cost: 20% less than Standard-IA
S3 Glacier Instant Retrieval¶
- Use Case: Archive data requiring instant access
- Retrieval: Millisecond retrieval
- Cost: Lower storage cost than Standard-IA
- Minimum: 90-day minimum storage duration
- Use Cases: Medical images, news media assets
S3 Glacier Flexible Retrieval (Formerly Glacier)¶
- Use Case: Archive data not requiring instant access
- Retrieval Options:
- Expedited: 1-5 minutes
- Standard: 3-5 hours
- Bulk: 5-12 hours
- Cost: Very low storage cost
- Minimum: 90-day minimum storage duration
S3 Glacier Deep Archive¶
- Use Case: Long-term archive, rarely accessed
- Retrieval: 12-48 hours
- Cost: Lowest storage cost
- Minimum: 180-day minimum storage duration
- Use Cases: Compliance archives, digital preservation
Advanced Features¶
Versioning¶
- Definition: Keep multiple versions of an object
- Benefits: Protect against accidental deletion, retrieve previous versions
- States: Unversioned (default), Versioning-enabled, Versioning-suspended
- Version ID: Unique identifier for each version
- Cost: Charged for all versions stored
Lifecycle Policies¶
- Definition: Automate transitioning objects between storage classes
- Actions:
- Transition: Move to another storage class
- Expiration: Delete objects after specified time
- Use Cases: Cost optimization, compliance, data management
- Rules: Based on object age, prefixes, tags
Replication¶
- Cross-Region Replication (CRR):
- Replicate objects across AWS Regions
- Compliance, lower latency, disaster recovery
-
Asynchronous replication
-
Same-Region Replication (SRR):
- Replicate within same Region
- Log aggregation, production/test account replication
- Compliance requirements
Server-Side Encryption¶
- SSE-S3: Managed by AWS, AES-256 encryption
- SSE-KMS: AWS Key Management Service keys
- SSE-C: Customer-provided encryption keys
- Client-Side Encryption: Encrypt before uploading
Access Management¶
Bucket Policies¶
- Definition: JSON-based access policies
- Resource-based: Attached to buckets
- Cross-Account: Grant access to other accounts
- Public Access: Control public accessibility
Access Control Lists (ACLs)¶
- Legacy: Older access control mechanism
- Granular: Control at bucket and object level
- Permissions: Read, Write, Read ACL, Write ACL
- Best Practice: Use bucket policies and IAM instead
Presigned URLs¶
- Definition: Temporary URLs for object access
- Use Case: Grant temporary access without AWS credentials
- Expiration: Time-limited access
- Security: Secure sharing of private objects
Data Transfer and Migration¶
Transfer Acceleration¶
- Definition: Fast, secure transfer over AWS edge locations
- Use Case: Long-distance transfers
- Performance: Uses CloudFront edge network
- Cost: Additional fee for acceleration
Multipart Upload¶
- Definition: Upload large objects in parts
- Benefits: Improved throughput, quick recovery from failures
- Recommended: Objects over 100 MB
- Required: Objects over 5 GB
S3 Select¶
- Definition: Retrieve subset of data using SQL
- Benefits: Reduce data transfer, improve performance
- Use Case: Query JSON, CSV, Parquet files
- Cost: Pay for data scanned and returned
Use Cases¶
- Backup and Archive: Durable, scalable backup storage
- Data Lakes: Central repository for analytics
- Static Website Hosting: Host static websites
- Content Distribution: Origin for CloudFront CDN
- Application Data: Storage for application files
- Disaster Recovery: Off-site backup and recovery
Best Practices¶
- Enable versioning for critical data
- Use lifecycle policies for cost optimization
- Implement least privilege access
- Enable encryption at rest
- Monitor with CloudWatch and CloudTrail
- Use appropriate storage class for access patterns
Amazon EBS (Elastic Block Store)¶
Overview¶
Amazon EBS provides persistent block storage volumes for use with EC2 instances. EBS volumes behave like raw, unformatted block devices that can be mounted as devices on EC2 instances.
Key Characteristics¶
- Persistent: Data persists independently from EC2 instance
- Network-Attached: Connected via network, not physically attached
- Availability Zone: Volumes exist in specific AZ
- Snapshots: Point-in-time backups to S3
- Encryption: At-rest and in-transit encryption available
Volume Types¶
General Purpose SSD (gp3, gp2)¶
- Use Case: General purpose workloads
- Performance: Baseline 3,000 IOPS (gp3), 3 IOPS/GB (gp2)
- Size: 1 GB to 16 TB
- Cost: Cost-effective for most workloads
- Throughput: 125-1000 MB/s (gp3)
Provisioned IOPS SSD (io2, io1)¶
- Use Case: I/O-intensive workloads, databases
- Performance: Up to 64,000 IOPS (io2 Block Express: 256,000)
- Size: 4 GB to 16 TB (io2 BE: 64 TB)
- Durability: 99.999% (io2), 99.8-99.9% (io1)
- Use Cases: Critical databases, high-performance applications
Throughput Optimized HDD (st1)¶
- Use Case: Big data, data warehouses, log processing
- Performance: Up to 500 IOPS
- Throughput: Up to 500 MB/s
- Size: 125 GB to 16 TB
- Cost: Lower cost than SSD
- Cannot: Be boot volume
Cold HDD (sc1)¶
- Use Case: Infrequently accessed data
- Performance: Up to 250 IOPS
- Throughput: Up to 250 MB/s
- Size: 125 GB to 16 TB
- Cost: Lowest cost HDD option
- Cannot: Be boot volume
Key Features¶
Snapshots¶
- Definition: Point-in-time backups stored in S3
- Incremental: Only changed blocks saved after first snapshot
- Cross-Region: Copy snapshots to other Regions
- AMI Creation: Create AMIs from snapshots
- Encryption: Encrypted snapshots from encrypted volumes
Encryption¶
- At-Rest: AES-256 encryption
- In-Transit: Encryption between instance and volume
- Keys: AWS managed or customer managed (KMS)
- Snapshots: Automatically encrypted
- Performance: Minimal impact on performance
Multi-Attach (io1/io2 only)¶
- Definition: Attach volume to multiple EC2 instances
- Availability: Same Availability Zone only
- Use Case: Clustered applications
- Instances: Up to 16 Nitro-based instances
- File System: Requires cluster-aware file system
Best Practices¶
- Take regular snapshots for backup
- Use appropriate volume type for workload
- Enable encryption for sensitive data
- Monitor performance with CloudWatch
- Use EBS-optimized instances
- Delete unused volumes and snapshots
Amazon EFS (Elastic File System)¶
Overview¶
Amazon EFS provides scalable, elastic file storage for use with AWS Cloud services and on-premises resources. It's a fully managed NFS (Network File System) that can be used with EC2 instances.
Key Features¶
- Fully Managed: No infrastructure to manage
- Scalable: Automatically grows and shrinks
- Concurrent Access: Multiple EC2 instances simultaneously
- Regional: Accessible across multiple AZs
- POSIX-compliant: Standard file system interface
Storage Classes¶
EFS Standard¶
- Use Case: Frequently accessed files
- Performance: Low-latency file operations
- Availability: Multi-AZ storage
- Cost: Higher storage cost
- Access: Instant access to files
EFS Infrequent Access (IA)¶
- Use Case: Files not accessed regularly
- Cost: Lower storage cost
- Transition: Automatic lifecycle management
- Retrieval: Per-GB retrieval fee
- Savings: Up to 92% cost reduction
Performance Modes¶
General Purpose (Default)¶
- Latency: Lowest latency
- Use Case: Web serving, content management, home directories
- IOPS: Up to 7,000 file operations per second
- Throughput: Baseline throughput based on file system size
Max I/O¶
- Latency: Slightly higher latency
- Use Case: Big data, media processing, genomics
- IOPS: Higher aggregate throughput and IOPS
- Scale: Support hundreds/thousands of EC2 instances
Throughput Modes¶
Bursting (Default)¶
- Throughput: Scales with file system size
- Baseline: 50 MB/s per TB stored
- Burst: Up to 100 MB/s
- Use Case: Variable workloads
Provisioned¶
- Throughput: Set throughput independent of size
- Configuration: Specify required throughput
- Use Case: Known, consistent throughput requirements
- Cost: Pay for provisioned throughput
Elastic (Recommended)¶
- Throughput: Automatically scales up/down
- Performance: Up to 3 GB/s reads, 1 GB/s writes
- Billing: Pay only for throughput used
- Use Case: Unpredictable workloads
Use Cases¶
- Web Serving: Content management systems
- Home Directories: User home directories
- Application Hosting: Shared application files
- Big Data Analytics: Shared data for analytics
- Container Storage: Persistent storage for containers
- Backup: Shared backup location
EFS vs EBS vs S3¶
| Feature | EFS | EBS | S3 |
|---|---|---|---|
| Storage Type | File | Block | Object |
| Access | Multiple instances | Single instance* | Internet/API |
| Scope | Regional | Availability Zone | Regional (global namespace) |
| Scalability | Automatic | Manual | Automatic |
| Use Case | Shared files | Instance storage | Static content, backup |
*Except io1/io2 Multi-Attach
Amazon FSx¶
Overview¶
AWS FSx provides fully managed third-party file systems optimized for various workloads.
FSx for Windows File Server¶
- Protocol: SMB (Server Message Block)
- Integration: Active Directory integration
- Features: DFS, data deduplication, encryption
- Use Cases: Windows applications, SQL Server, SharePoint
- Performance: Up to 2 GB/s throughput, millions of IOPS
FSx for Lustre¶
- Use Case: High-performance computing, machine learning
- Performance: Sub-millisecond latencies, 100s GB/s throughput
- Integration: S3 integration for data lakes
- File System: POSIX-compliant
- Types: Scratch (temporary), Persistent (long-term)
FSx for NetApp ONTAP¶
- Protocol: NFS, SMB, iSCSI
- Features: Snapshots, replication, deduplication
- Compatibility: NetApp features on AWS
- Use Cases: Enterprise applications, databases
FSx for OpenZFS¶
- Use Case: ZFS file system workloads
- Performance: Up to 1 million IOPS
- Features: Snapshots, compression, data cloning
- Migration: Move from on-premises ZFS
AWS Storage Gateway¶
Overview¶
AWS Storage Gateway is a hybrid cloud storage service that provides on-premises access to virtually unlimited cloud storage.
Types¶
File Gateway¶
- Protocol: NFS, SMB
- Use Case: File shares backed by S3
- Caching: Local cache for frequently accessed files
- Storage: Objects stored in S3
Volume Gateway¶
- Types: Cached volumes, Stored volumes
- Protocol: iSCSI
- Backup: EBS snapshots in AWS
- Use Case: Block storage backup to cloud
Tape Gateway¶
- Protocol: iSCSI VTL (Virtual Tape Library)
- Use Case: Replace physical tape infrastructure
- Storage: Glacier and Glacier Deep Archive
- Compatibility: Existing backup applications
Use Cases¶
- Hybrid Cloud: Bridge on-premises and cloud
- Backup and Archive: Cloud-based backup
- Disaster Recovery: Replicate data to AWS
- Tiering: Move cold data to cloud
AWS DataSync¶
Overview¶
AWS DataSync is an online data transfer service that simplifies, automates, and accelerates moving data between on-premises storage and AWS storage services.
Key Features¶
- Fast Transfer: Up to 10x faster than open-source tools
- Automated: Schedule and automate data transfers
- Secure: Encryption in transit and at rest
- Monitoring: CloudWatch integration
- Validation: Data integrity verification
Supported Destinations¶
- Amazon S3 (all storage classes)
- Amazon EFS
- Amazon FSx for Windows File Server
- Amazon FSx for Lustre
- Amazon FSx for NetApp ONTAP
- Amazon FSx for OpenZFS
Use Cases¶
- Data Migration: Move large datasets to AWS
- Data Replication: Ongoing replication for DR
- Data Archiving: Move cold data to Glacier
- Data Processing: Transfer for analytics workloads
AWS Backup¶
Overview¶
AWS Backup is a fully managed backup service that centralizes and automates data protection across AWS services.
Supported Services¶
- EC2, EBS, EFS, FSx
- RDS, Aurora, DynamoDB
- DocumentDB, Neptune
- Storage Gateway, S3
Key Features¶
- Centralized: Single console for all backups
- Automated: Policy-based backup schedules
- Cross-Region: Copy backups across Regions
- Cross-Account: Backup across AWS accounts
- Compliance: Backup compliance monitoring
Backup Plans¶
- Schedule: When to take backups
- Retention: How long to keep backups
- Lifecycle: Transition to cold storage
- Tags: Tag-based resource selection
Key Takeaways¶
- S3: Object storage, 11 9's durability, multiple storage classes for cost optimization
- EBS: Block storage for EC2, persistent, AZ-specific, multiple volume types
- EFS: Managed NFS file system, multi-AZ, elastic scaling, concurrent access
- FSx: Managed third-party file systems (Windows, Lustre, NetApp, OpenZFS)
- Storage Gateway: Hybrid cloud storage, bridge on-premises to AWS
- DataSync: Fast, automated data transfer to AWS
- AWS Backup: Centralized backup management across AWS services
- Choose Right Storage: Based on access pattern, performance, durability, and cost requirements