S3 개요

→ 백업 and 스토리지로 사용

→ 재해 방지용 or 아카이브용

→ 어플리케이션 호스팅

→ 큰 용량의 데이터 저장 (100MB가 넘는 파일 업로드 시 멀티파일 업로드 권장)

→ 정적 웹사이트 저장

S3 버킷 ⇒ 객체를 저장

객체: 파일 데이터 + 메타데이터를 하나의 단위로 묶어서 저장하는 방식

S3 버킷 (전역적으로 고유한 이름, 예: my-company-bucket)
 └── 객체(Object) = Key(경로처럼 보이는 이름) + Value(실제 데이터) + 메타데이터
      예: photos/2024/cat.jpg -> (키 예시)
      -> S3 키 = 경로처럼 생김. 디렉토리 형태는 아님.

** 버킷이름: 모든 리젼, 계정에서 1개, 버킷은 리젼단위

→ 객체에 접근시 ⇒ 디폴트: 공개 URL로는 접근 X / 본인임을 증명하는 과정을 거치고 접근 가능 (물론 공개 엑세스 가능하게 할 수 있지만 권장X)


보안정책

  1. User-based → IAM
  2. Resource - Based
{
  "Effect": "Allow",
  "Principal": "*",       ← 누가 (모든 사람, 또는 특정 계정/사용자)
  "Action": "s3:GetObject",  ← 뭘 할 수 있는지
  "Resource": "arn:aws:s3:::my-bucket/*"  ← 어느 버킷/객체에
}