AWS S3란? (Amazon Simple Storage Service)
S3는 AWS에서 제공하는 객체 스토리지(Object Storage) 서비스다.
쉽게 말해 **“서버 관리가 필요 없는 초대용량 파일 저장소”**라고 보면 된다.
1) S3가 왜 나왔는가 (배경)
기존에 파일을 저장하려면 보통:
- 서버에 디스크 붙이고
- NAS 구성하고
- 이중화/백업 직접 설계하고
- 디스크 장애 나면 복구 작업 수행
이 과정이 비용도 크고 운영 부담도 큼.
S3는 이런 문제를 해결하기 위해:
- 저장 용량 제한 ❌
- 서버 관리 ❌
- 자동 이중화 ⭕
- 매우 높은 내구성 ⭕
을 목표로 만들어진 서비스다.
2) S3 한 줄 정의
S3는 무한 확장 가능한 객체(Object) 기반 스토리지 서비스로,
파일을 Key-Value 형태로 저장하고 높은 내구성을 제공한다.
3) S3의 핵심 개념
(1) Bucket
- S3의 최상위 컨테이너
- 전 세계적으로 이름이 유일해야 함
- Region 단위로 생성
s3://my-service-bucket/
(2) Object
- 실제 저장되는 파일 단위
- 구성:
- Key (파일 경로처럼 보이는 이름)
- Data (파일 내용)
- Metadata
⚠️ S3에는 폴더 개념이 없음
/는 단순히 Key 이름의 일부
(3) Key
images/2026/profile.png
- 디렉터리처럼 보이지만 실제로는 하나의 문자열
- 이 구조를 잘 설계해야 관리가 편해짐
4) S3의 동작 방식
- 클라이언트 또는 서버가 S3 API 호출
- S3는 Object를 여러 AZ에 자동 복제
- 저장 완료 후 Object URL 생성
5) S3의 주요 특징 (중요)
(1) 내구성 vs 가용성
- 내구성: 99.999999999% (11 nines)
- 가용성: 약 99.9%
블로그 포인트
“S3는 거의 절대 안 날아가지만, 순간적으로 접근이 안 될 수는 있다”
(2) 스토리지 클래스
- Standard: 자주 접근
- IA (Infrequent Access): 가끔 접근
- One Zone-IA: 단일 AZ
- Glacier / Deep Archive: 장기 보관
실무에서는 Lifecycle 정책으로 자동 이동 설정함
6) S3를 실무에서 어떻게 쓰나
✅ (1) 첨부파일 / 이미지 저장
[Client]
↓
[Presigned URL]
↓
[S3]
- 서버 부하 없이 클라이언트가 직접 업로드
✅ (2) 로그 / 백업 저장소
- 애플리케이션 로그
- DB 백업 파일
- 장기 보관 데이터
✅ (3) 정적 웹 호스팅
- HTML / CSS / JS
- CloudFront와 연계해서 CDN 구성
7) EC2 + S3 아키텍처 예시
[EC2 (WAS)]
↓ 파일 업로드
[S3]
[Client]
↓ 다운로드
[S3 or CloudFront]
8) S3 보안 (중요 포인트)
(1) Bucket Policy
- Bucket 단위 접근 제어
- IP, IAM 조건 기반 제어 가능
(2) IAM Policy
- 사용자/Role 기준 접근 권한 관리
(3) Public Access Block
- 실수로 공개되는 것 방지
- 실무에서는 기본 ON
면접에서 자주 나오는 질문:
“S3 공개 사고를 막는 방법은?” → Public Access Block + IAM
9) S3의 장점 / 단점
장점
- 서버 관리 불필요
- 높은 내구성
- 비용 효율적
단점
- 실시간 파일 수정 불가 (부분 수정 ❌)
- 파일 시스템 대용 불가 (NFS 아님)
- 지연 시간은 로컬 디스크보다 큼
10) 언제 쓰고 언제 안 쓰나
S3를 써야 할 때
- 이미지, 첨부파일
- 로그/백업
- 정적 리소스
S3를 쓰면 안 되는 경우
- DB 파일 저장소
- 잦은 파일 수정/잠금 필요한 경우
'Infra&Cloud > AWS' 카테고리의 다른 글
| AWS-EC2(Elastic Compute Cloud) (0) | 2026.02.09 |
|---|---|
| AWS-IAM(Identity and Access Management) (0) | 2026.02.08 |
| AWS-ALB(Application Load Balancer) (0) | 2026.02.08 |
| AWS-RDS(Relational Database Service) (0) | 2026.02.08 |
| AWS-SG(Security Group) (0) | 2026.02.08 |