클라우드 크래프트

S3 (Simple Storage Service)

확장 가능한 객체 스토리지 서비스

S3 가이드

S3란?

Amazon S3는 인터넷 스토리지 서비스로, 웹 어디서나 원하는 양의 데이터를 저장하고 검색할 수 있습니다. 높은 내구성, 가용성, 확장성을 제공하며 비용 효율적인 객체 스토리지 솔루션입니다.

주요 개념

  • 버킷(Bucket): S3에서 객체를 저장하는 컨테이너입니다. 모든 객체는 버킷에 포함됩니다. 버킷 이름은 전역적으로 고유해야 합니다.
  • 객체(Object): S3에 저장되는 기본 엔티티입니다. 파일과 해당 파일을 설명하는 메타데이터로 구성됩니다.
  • 키(Key): 버킷 내 객체의 고유 식별자입니다. 버킷, 키, 버전 ID의 조합으로 각 객체를 고유하게 식별합니다.
  • 리전(Region): 버킷이 저장되는 지리적 AWS 리전입니다. 지연 시간 최소화, 비용 절감, 규제 요구 사항 충족을 위해 선택합니다.

스토리지 클래스

S3는 다양한 사용 사례에 맞는 여러 스토리지 클래스를 제공합니다:

  • S3 Standard: 자주 액세스하는 데이터를 위한 기본 스토리지 클래스
  • S3 Intelligent-Tiering: 액세스 패턴이 변경되는 데이터를 자동으로 최적화
  • S3 Standard-IA: 자주 액세스하지 않지만 빠른 액세스가 필요한 데이터
  • S3 One Zone-IA: 단일 가용 영역에 저장되는 저빈도 액세스 데이터
  • S3 Glacier Instant Retrieval: 분기에 한 번 액세스하는 아카이브 데이터
  • S3 Glacier Flexible Retrieval: 1년에 1-2회 액세스하는 아카이브
  • S3 Glacier Deep Archive: 장기 보관을 위한 최저비용 스토리지

버킷 정책 및 액세스 제어

S3는 여러 수준에서 액세스 제어를 제공합니다:

  • IAM 정책: 사용자 및 역할에 대한 권한 관리
  • 버킷 정책: 버킷 수준에서 액세스 권한 정의
  • ACL(Access Control Lists): 개별 객체에 대한 액세스 제어
  • 퍼블릭 액세스 차단: 의도하지 않은 퍼블릭 액세스 방지

주요 기능

  • 버전 관리: 객체의 여러 버전 유지
  • 수명 주기 정책: 객체를 자동으로 다른 스토리지 클래스로 전환 또는 삭제
  • 복제: 다른 리전이나 계정으로 객체 자동 복제
  • 이벤트 알림: 객체 생성, 삭제 등의 이벤트에 대한 알림
  • 정적 웹사이트 호스팅: S3를 웹 서버로 사용
  • 서버 측 암호화: 저장 데이터 자동 암호화

사용 사례

  • 정적 웹사이트 호스팅
  • 백업 및 복원
  • 데이터 아카이빙
  • 빅데이터 분석
  • 미디어 파일 저장 및 배포
  • 애플리케이션 데이터 저장
  • 재해 복구

내구성 및 가용성

S3는 99.999999999%(11 9's)의 내구성과 99.99%의 가용성을 제공합니다. 데이터는 여러 디바이스와 여러 시설에 자동으로 복제되어 저장됩니다.