AWS
[AWS] S3
gilssang97
2021. 12. 24. 11:22
S3(Simple Storage Service)
S3 특징
- 안전하고 가변적인 Object 저장공간을 제공 (ex Google Cloud)
- 편리한 UI 인터페이스를 통해 어디서나 쉽게 데이터를 저장하고 불러올 수 있음
- 파일 크기는 0KB부터 5TB까지 지원
- 저장공간 무제한
- Bucket이라는 이름을 사용함 (디렉토리와 유사함)
- Bucket은 보편적인 namespace를 사용함
S3 Object 구성요소
- Key - Value
- Version ID
- Metadata
- CORS (Cross Origin Resource Sharing)
S3 Data Consistency Model
- Read After Write Consistency (PUT)
- 삽입 후 즉시 사용 가능
- Eventual Consistency (UPDATE, DELETE)
- 수정, 삭제 후 결과가 즉시 나타나지 않음
다양한 S3 스토리지 타입
일반 S3
- 가장 보편적으로 사용되는 스토리지 타입
- 높은 내구성, 가용성 (Durability, Availabilty)
S3 - IA (Infrequent Access)
- 자주 접근되지는 않으나 접근시 빠른 접근이 요구되는 파일이 많을시 유용
- 일반 S3에 비해 비용은 저렴하나 접근시 추가 비용 발생
- 자주 접근되는 곳에 부적합
- 멀티 AZ를 통한 데이터 저장
S3 - One Zone IA
- 단일 AZ를 통한 데이터 저장
- 단일 AZ에 의한 데이터 접근 제한 (조금 낮은 가용성)
- 데이터 접근시 S3 - IA보다 20% 비용 저렴
Glacier
- 거의 접근하지 않을 데이터 저장 시 유용
- 매우 저렴한 비용
- 데이터 접근시 대략 4-5시간 소요
Intelligent Tiering
- 데이터 접근 주기가 불규칙할때 매우 유용
- 2가지 티어 존재
- Frequent Tier
- Infrequent Tier
- 데이터 접근주기에 따라 두가지 티어중 하나로 선택됨
- Frequent Tier가 비용이 약간 더 비쌈
- 최고의 비용 절감 효율을 누릴 수 있음
S3 요금
- GB당
- PUT, GET, COPY 요청 횟수당
- 데이터 다운로드시 / 다른 리소스로 전송시
- Metadata (object tag)
S3 버켓 생성시 알아야 할 것들
파일 저장소 (로그, 다양한 파일들(이미지, 비디오, 압축파일 등))
웹사이트 호스팅
CORS
최초 S3 버켓 생성시 -> 비공개(Private)
- 다른 사람 접근시 Access Denied
- 필요하다면?
- 버켓 정책 변경 (Bucket Policy)
- 접근 제어 리스트 변경 (Access Control List)
S3 암호화
파일 업로드 / 다운로드시
- SSL / TLS
가만히 있을시
- SEE-S3
- SSE-KMS
- SSE-C