개발자를 위한 스토리지
Source: Dev.to
Module Objectives
By the end of this module, learners will be able to:
- Understand AWS storage services from a developer perspective
- Select the right storage option for different application patterns
- Use Amazon S3 programmatically and securely
- Configure EBS and EFS for compute workloads
- Apply IAM permissions and encryption
- Handle durability, availability, and cost
Why Multiple Storage Services?
Different applications need:
- Object vs. file vs. block storage
- High durability vs. low latency
- Shared vs. single‑instance access
What is Amazon S3?
- Object storage
- Virtually unlimited scale
- 11 9’s durability
Core S3 Concepts
- Bucket
- Object
- Key
- Region‑scoped buckets
- Global namespace
S3 Storage Classes
🔑 Storage class affects cost, not durability.
S3 Security & Access Control
Access Mechanisms
- IAM policies
- Bucket policies
- ACLs (legacy, discouraged)
Encryption Options
- SSE‑S3
- SSE‑KMS
- Client‑side encryption
Public Access
- Block Public Access (default ON)
- Bucket policy controls
S3 Bucket Setup Example
Objective
Create an S3 bucket, enable versioning and default encryption, upload a sample object, and attach an IAM role/policy.
Steps
-
Create an S3 bucket.
-
Enable Versioning.
-
Enable Default encryption.
-
Upload a sample object.
-
Attach an IAM role/policy:
{ "Effect": "Allow", "Access": "bucket via AWS CLI or SDK" } -
Validate access with the AWS CLI or SDK.
Validation
- Upload and download objects successfully.
- Access is denied without the appropriate permissions.
Common Developer Use Cases
- Static website hosting
- Application artifacts
- Logs and backups
- Data lake
Event‑Driven Patterns
- S3 → Lambda trigger
- S3 → EventBridge
What is EBS?
Block storage for EC2, attached to one instance at a time.
Key EBS Concepts
- Volume
- Snapshot
- Availability Zone scoped
Use Cases
- Databases on EC2
- Boot volumes
- Low‑latency workloads
Hands‑On Lab 2: EBS Volume with EC2
Objective
Attach and mount an EBS volume to an EC2 instance.
Steps
(Detailed steps to be performed in the lab environment.)
What is EFS?
Managed NFS file system, shared across multiple EC2 instances, and automatically scales.
Key Characteristics
- Multi‑AZ
- POSIX‑compliant
- Regional service
Use Cases
- Shared application data
- Content management systems
- Microservices shared storage
🔑 EFS supports concurrent access from multiple EC2 instances.
Cost Drivers
- Storage amount
- Access frequency
- Data transfer
- API requests (S3)
Performance Factors
- S3 prefix distribution
- EBS volume type
- EFS throughput mode
Additional S3 Topics
- Use S3 for pre‑signed URL uploads
- Track multi‑part uploads