AWS의 S3(Simple Storage Service)는 **Amazon Web Services(AWS)**에서 제공하는 클라우드 객체 스토리지 서비스입니다. 간단히 말하면, 데이터를 저장하고 관리할 수 있는 인터넷 기반의 저장소입니다.
S3의 주요 개념
- 버킷(Bucket):
- 데이터를 저장하는 컨테이너.
- 파일(객체)을 저장하기 위한 최상위 디렉토리와 유사.
- 각 버킷 이름은 전 세계에서 유일해야 함.
- 객체(Object):
- 버킷 안에 저장되는 실제 데이터(파일).
- 데이터 본문(파일 내용)과 메타데이터(파일 정보)로 구성됨.
- 객체의 고유 식별자는 버킷 이름 + 객체 키(파일 경로).
- 객체 키(Key):
- 객체의 경로를 포함한 파일 이름.
- 예: images/photo.jpg처럼 디렉토리 구조처럼 사용할 수 있음.
- ARN(Amazon Resource Name):
- AWS 리소스를 고유하게 식별하기 위한 이름.
- 예: arn:aws:s3:::mybucket/myfile.jpg
S3의 주요 특징
- 확장성:
- 데이터 크기와 저장 용량에 제한이 없으며, 초대형 데이터를 저장할 수 있음.
- 내구성 및 가용성:
- 데이터를 여러 가용 영역(AZ)에 복제하여 99.999999999%의 내구성(11 9s)을 제공.
- 99.99% 이상의 가용성 보장.
- 보안:
- 데이터 암호화 지원(AES-256, KMS 등).
- IAM 정책, 버킷 정책, ACL(Access Control List)로 세밀한 접근 제어 가능.
- 비용 효율성:
- 사용한 만큼만 비용을 지불하는 종량제 요금제.
- 장기 보관용으로 저비용 스토리지 옵션(S3 Glacier) 제공.
- 데이터 접근 방식:
- REST API를 통해 데이터 업로드, 다운로드 가능.
- SDK(Java, Python 등)를 사용해 프로그래밍 방식으로 데이터 관리 가능.
S3의 활용 사례
- 백업 및 복구:
- 기업 데이터나 애플리케이션 로그의 백업 저장소로 활용.
- 웹 호스팅:
- 정적 웹사이트(HTML, CSS, JS)를 S3에 배포하여 호스팅.
- 빅데이터 분석:
- S3에 데이터를 저장한 후, Amazon Athena, Redshift 등으로 분석.
- 멀티미디어 저장:
- 동영상, 이미지, 문서 등의 대규모 파일 저장 및 배포.
- 데이터 아카이브:
- 자주 사용하지 않는 데이터는 저렴한 S3 Glacier로 보관.
S3의 간단한 동작 원리
- 데이터 저장:
- 사용자는 데이터를 S3에 업로드하고, 각 파일은 고유한 키로 식별됩니다.
- 데이터는 버킷에 저장됩니다.
- 데이터 읽기:
- REST API 또는 SDK를 통해 데이터를 다운로드하거나 읽을 수 있습니다.
- 보안 및 권한 설정:
- 버킷 및 객체에 대한 접근 권한을 사용자 또는 그룹 단위로 설정 가능합니다.
요약
AWS S3는 데이터를 안전하고 확장 가능하게 저장할 수 있는 클라우드 기반 스토리지 서비스입니다. 간단한 설정만으로 전 세계 어디서나 데이터를 업로드하거나 다운로드할 수 있어, 다양한 애플리케이션에서 필수적으로 사용되는 서비스입니다.