S3 (Simple Storage Service)
S3 (Simple Storage Service)
비유로 쉽게 이해하기
S3는 **'인터넷에 있는 무한한 용량의 마법 서랍장'**과 같습니다. 어떤 종류의 파일이든(사진, 동영상, 문서, 프로그램 설치 파일 등) 원하는 만큼 넣어둘 수 있고, 전 세계 어디서든 인터넷만 되면 바로 꺼내 쓸 수 있습니다. 이 서랍장은 절대 고장 나지 않고, 안에 둔 파일이 사라질 확률은 거의 0에 가깝습니다.
개요
Amazon Simple Storage Service (S3)는 AWS가 제공하는 매우 안정적이고 확장성이 뛰어난 객체 스토리지 서비스입니다. 파일(객체)을 인터넷을 통해 저장하고 검색할 수 있도록 만들어졌으며, 업계 최고의 내구성, 가용성, 성능을 자랑합니다.
상세 설명
'객체 스토리지'는 파일을 '객체'라는 단위로 저장하는 방식입니다. 각 객체는 파일 데이터, 고유한 키(이름), 그리고 메타데이터(파일 정보)로 구성됩니다. S3는 이 객체들을 '버킷'이라는 최상위 폴더에 담아 관리합니다.
S3의 가장 큰 특징 중 하나는 99.999999999% (일레븐 나인)의 내구성입니다. 이는 1억 개의 파일을 S3에 저장했을 때, 1년 동안 단 하나의 파일이 유실될까 말까 한 매우 높은 신뢰도입니다. 또한, 데이터의 사용 빈도나 중요도에 따라 다양한 스토리지 클래스(Standard, Glacier 등)를 선택하여 비용을 최적화할 수 있습니다. 예를 들어, 당장 사용하지 않는 오래된 데이터는 저렴한 'Glacier' 클래스로 옮겨 보관 비용을 크게 줄일 수 있습니다.
외부 접속을 위한 버킷 정책
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucket-hitouchsoft/*"
}
]
}
왜 중요할까요?
- 데이터의 안전한 보관: 압도적인 내구성으로 인해 데이터 유실 걱정 없이 파일을 안전하게 보관할 수 있습니다.
- 비용 효율성: 사용한 만큼만 비용을 내고, 데이터의 특성에 맞춰 보관 비용을 최적화할 수 있습니다.
- 무한한 확장성: 저장 공간의 용량 한계를 걱정할 필요가 없습니다.
- 다양한 활용도: 단순 파일 저장부터, 정적 웹사이트 호스팅, 빅데이터 분석의 데이터 레이크까지 활용 범위가 매우 넓습니다.
주요 특징
- 객체 기반 스토리지: 파일을 객체 단위로 관리하며, HTTP/HTTPS를 통해 쉽게 접근 가능합니다.
- 버킷(Bucket): 객체를 저장하는 최상위 컨테이너로, 전역적으로 고유한 이름을 가집니다.
- 높은 내구성과 가용성: 여러 시설에 데이터를 복제하여 데이터 손실을 방지하고 서비스 중단을 최소화합니다.
- 스토리지 클래스: 데이터 접근 빈도에 따라 비용을 최적화할 수 있는 다양한 옵션(S3 Standard, S3 Glacier 등)을 제공합니다.
- 정적 웹사이트 호스팅: HTML, CSS, JavaScript 파일만으로 구성된 웹사이트를 직접 호스팅할 수 있습니다.
- 버전 관리(Versioning): 파일의 모든 변경 이력을 자동으로 저장하여, 실수로 덮어쓰거나 삭제했을 때 쉽게 복구할 수 있습니다.
사용 사례
- 웹사이트의 이미지, 동영상 등 미디어 파일 저장
- 애플리케이션 데이터의 백업 및 복원
- 빅데이터 분석을 위한 데이터 레이크(Data Lake) 구축
- 서버 로그 파일 저장 및 분석
- CloudFront와 연동하여 전 세계 사용자에게 콘텐츠 빠르게 전송(CDN)