AWS S3

흑이·2023년 1월 10일
0

S3(Simple Storage Service)

  • 안전하고 가변적인 Object 저장공간을 제공(ex : Google Cloud) 이미지, 동영상 등 업로드
  • 편리한 UI 인터페이스를 통해 어디서나 쉽게 데이터를 저장하고 불러올 수 있다.
  • 파일 크기는 0KB부터 5TB까지 지원
  • 저장공간 무제한
  • Bucket이라는 이름을 사용함(디렉토리와 유사)
  • Bucket은 보편적인 namespace를 사용함(Bucket 이름은 고유해야 한다)


S3 Object 구성요소

  • key (ex.파일명)
  • value (ex.파일에 대한 데이터)
  • Version ID (S3 고유 특징, 똑같은 파일인데 다른 버전으로 올릴 수 있는, 이전으로 돌아가기 가능)
  • Metadata (데이터의 데이터, 언제파일이 업로드 되었는지)
  • CORS(Cross Origin Resource Sharing) - 한 Bucket의 파일을 다른 Bucket에서 접근 가능하도록 해주는 기능, 지역 무시


S3 Data Consistency Model

1. Read after Write Consistency(PUT)

  • S3 Bucket에 파일을 올릴 때 PUT을 사용
  • 파일이 S3 Bucket에 올려지면 바로 사용 가능

2. Eventual Consistency(UPDATE, DELETE)

  • UPDATE, DELETE를 사용하여 Bucket에 올라가져 있는 파일을 변경하거나 삭제시 그 결과가 바로 나타나지 않는다.


S3 스토리지 종류

1. 일반 S3

  • 가장 보편적으로 사용되는 스토리지 타입
  • 높은 내구성, 가용성(Durability, Availability) - 얼마나 데이터의 손실이 없이 잘 보관되는지, 얼마나 데이터 접근이 용이 하는지

2. S3- IA(Infrequent Access)

  • 자주 접근되지는 않으나 접근시 빠른 접근이 요구되는 파일이 많을시 유용
  • 일반 S3에 비해 비용은 저렴하나 접근시 추가 비용 발생
  • 멀티 AZ를 통한 데이터 저장 (가용성이 높다)

3. S3- One Zone IA

  • 단일 AZ를 통한 데이터 저장
  • 단일 AZ에 의한 데이터 접근 제한(조금 낮은 가용성)
  • 데이터 접근시 S3 - IA보다 20% 비용 저럼

Glacier

  • 거의 접근하지 않을 데이터 저장 시 유용
  • 매우 저렴한 비용
  • 데이터 접근시 대략 4-5시간 소요

Intelligent Tiering

  • 데이터 접근 주기가 불규칙할때 매우 유용
  • 2가지 티어 존재
    • Frequent Tier -자주 발생시
    • Infrequent Tier - 드문 경우
  • 데이터 접근주기에 따라 두가지 티어중 하나로 선택됨
  • Frequent Tier가 비용이 약간 더 비쌈
  • 최고의 비용 절감 효율을 누릴 수 있음


Bucket 생성시 알아야 할 것들

  • 최초 S3 버켓 생성시 비공개로 생성됨
  1. 버켓 정책 변경 - Public으로 변경
  2. 접근 제어 리스트 변경 - 파일마다 접근 제어(사람마다 접근할 수 있는 파일이 다름)


S3 암호화

  1. 파일 업로드/다운로드시
  • SSL / TLS
  1. 가만히 있을시
  • SEE-S3 - 마스터키를 가지고 있으며, 일정 시간마다 키값을 변경시킨다.
  • SSE-KMS - 누가 언제 어떻게 암호를 풀었는지 기록이 남는다.
  • SSE-C - 암호키를 직접 다룰 수 있으며, 키값을 직접 변경시켜야 한다.

x-amz-server-side-encryption-parameter 헤더가 추가 되어있다면

  • 암호화 요청을 한것으로 간주하고 암호화를 걸어준다.

암호화가 걸리지 않은 파일을 버켓에 못올리게 하는 기능은?
x-amz-server-side-encryption-parameter 헤더가 없다면 Bucket은 요청을 reject하게 됨


같은 버킷에서 똑같은 파일을 업로드 한다면 파일이 덮어 씌어지는게 아니라, 다른 버전으로 관리(활성화)



https://www.inflearn.com/course/aws-%EC%9E%85%EB%AC%B8/dashboard

0개의 댓글