DevOps/AWS

AWS S3

prden 2022. 6. 23. 22:31

1.  S3란? = 객체 스토리지 서비스

Simple Strage Service 로 파일을 저장하는 서비스라 생각 (파일 설치는 불가)

  •  내구성 보장 : 파일 유실될 가능성 없음
  •  Amazon CloudFront : CDN개념 이용
  •  사용법 : 파일 볼 수있게 업로드하거나  사용자들이 파일 다운 받을 수 있도록 
  •  무제한 용량이고, 하나의 객체는 0 byte ~ 5TB의 용량으로 제한

2.  Bucket

  •  파일 저장할 때 SSD나 HD같은 역할 하는 것
  •  버킷 이름은 중복 불가능하다. 
  •  Multipart Upload 가능해서 큰 파일을 잘게 쪼갠뒤 S3에서 합치는 것 가능
  •  Web Hosting할 경우 도메인과 Bucket명이 같아야 한다.
  •  버킷 안으로 파일 업로드 하면 외부에서 그 링크를 통해 파일에 접속할 수 있음
  •  보통 사용자가 파일을 서버로 보내면 -> middle ware에서 S3 API를 통해 S3에 업로드 되는 형식 취함 
  •  IAM에서 S3에 대한 권한 추가하기 

3.  S3 객체의 구성

  • Key : 파일의 이름
  • Value : 파일의 데이터
  • Version Id : 파일의 버전 아이디
  • Metadata : 파일의 정보를 담은 데이터
  • ACL : 파일의 권한을 담은 데이터
  • Torrents : 토렌트 공유를 위한 데이터

 4. S3 버저닝

  • 모든 버전을 관리(삭제 포함)
  • 활성화 해야 함(기본적으로 비활성화)
  • 수명 주기 관리와 연동 가능하다.
  • S3 일관성 모델 :
  • Put(새로 생성) :  읽기 후 쓰기 , 파일을 올리고 성공한 즉시 읽기 가능하고 먼저 Put한 요청이 우선권 가진다.
  • Update / Delete  :  최종 일관성 : 파일을 삭제하거나 업데이트 후 일정 시간 후에 결과가 반영된다, 원자성 확보 불가능

5. S3 보안설정

Bucket Policy 차례

https://www.youtube.com/watch?v=xN8C-y4DUI4&list=PLfth0bK2MgIYRGF5vgVx5aJ13bHLkGG4l&index=4 

https://www.youtube.com/watch?v=LM1QCTu7crM