Simple Storage Service(S3)
Amazon Simple Storage Service (Amazon S3)는 업계 최고의 확장성과 데이터 가용성 및 보안과 성능을 제공하는 객체 스토리지 서비스입니다. Amazon S3는 99.999999999%의 내구성을 제공하도록 설계되었으며, 전 세계 기업의 수백만 애플리케이션을 위한 데이터를 저장합니다.
Amazon S3
- 객체 스토리지 서비스: 파일 보관만 가능 ↔ Block Storage Service(EBS, EFS등)
- 어플리케이션 설치 불가능
- 글로벌 서비스 단, 데이터는 리전에 저장
- 무제한 용량
- 하나의 객체는 0byte 에서 5TB의 용량
버킷
- S3의 저장공간을 구분하는 단위
- 디렉토리/폴더와 같은 개념
- 버킷이름은 전 세계에서 고유 값: 리전에 관계 없이 중복된 이름이 존재할 수 없음
S3 객체의 구성
- Owner: 소유자
- Key: 파일의 이름
- Value: 파일의 데이터
- Version Id: 파일의 버전 아이디
- Metadata: 파일의 정보를 담은 데이터
- ACL: 파일의 권한을 담은 데이터
- Torrents: 토렌트 공유를 위한 데이터
S3의 내구성
- 최소 3개의 가용영역(AZ)에 데이터를 분산 저장(Standard의 경우)
- 99.999999999% 내구성
- 0.000000001% 확률로 파일을 잃어버릴 수 있음
- 로또 당첨확률 0.00000012277% (S3로 파일을 잃어버릴 확률보다 약 122배 더 큼)
- 99.9% SLA 가용성 (스토리지 클래스에 따라 다름)
파일 쓰는 거 보장 못하면 돈 줄게
보안 설정
- S3 모든 커밋은 새로 생성 시 기본적으로 Private (비공개)
- 따로 설정을 통해 불특정 다수에게 공개 가능 (i.e. 웹 호스팅)
- 보안 설정은 객체 단위와 버킷 단위로 구성
- Bucket Policy: 버킷 단위
- ACL(Access Control List): 객체 단위
- MFA를 활용해 객체 삭제 방지 가능
- Versioning을 통해 파일 관리 가능
- 액세스 로그 생성 및 전송 가능
- 다른 버킷 혹은 다른 계정으로 전송 가능