Amazon S3 객체 개요

Amazon S3 객체 개요

Amazon S3는 고유한 키-값(key-value)을 사용해 원하는 만큼 많은 객체를 저장하는 객체 스토어예요. 객체를 하나 이상의 버킷에 저장하며, 각 객체는 최대 50TB까지 가능해요. 객체는 다음으로 구성돼요.

출처: 문서

본문

  • 키 (Key) – 객체에 지정하는 이름이에요. 객체 키를 사용해 객체를 검색해요.
  • 버전 ID (Version ID) – 버킷 안에서 키와 버전 ID가 객체를 고유하게 식별해요. 버전 ID는 객체를 버킷에 추가할 때 Amazon S3가 생성하는 문자열이에요.
  • 값 (Value) – 저장하는 콘텐츠예요. 객체 값은 어떤 바이트 시퀀스든 될 수 있고 크기는 0에서 50TB까지예요.

참고: Amazon S3 문서는 흔히 50TB 객체 크기 제한을 언급하지만, 실제 최대 객체 크기는 **53.7TB(48.8TiB)**예요. 이 제한은 멀티파트 업로드 제약으로 결정돼요: 최대 10,000개 파트 × 파트당 5GiB = 50,000GiB(53.7TB).

  • 메타데이터 (Metadata) – 객체에 대한 정보를 저장하는 이름-값 쌍의 집합이에요. 사용자 정의 메타데이터(user-defined metadata)를 객체에 지정할 수 있고, Amazon S3가 객체 관리에 사용하는 시스템 메타데이터도 할당해요.
  • 서브리소스 (Subresources) – Amazon S3는 객체별 추가 정보를 저장하기 위해 서브리소스 메커니즘을 사용해요. 서브리소스는 객체의 하위 항목이라 항상 객체나 버킷 같은 다른 엔티티와 연관돼요.
  • 접근 제어 정보 – Amazon S3에 저장한 객체에 대한 접근을 제어할 수 있어요. 리소스 기반 접근 제어(ACL, 버킷 정책)와 사용자 기반 접근 제어를 모두 지원해요. 내 Amazon S3 리소스(예: 버킷과 객체)는 기본적으로 비공개이며, 다른 사람이 접근하려면 명시적으로 권한을 부여해야 해요.
  • 태그 (Tags) – 태그를 사용해 저장된 객체를 분류하거나, 접근 제어나 비용 할당에 사용할 수 있어요.

객체 서브리소스 (Object subresources)

Amazon S3는 버킷과 객체와 연관된 서브리소스 집합을 정의해요. 서브리소스는 객체의 하위 항목이라 단독으로 존재하지 않고 항상 객체나 버킷 같은 다른 엔티티와 연관돼요.

서브리소스 설명
acl 수혜자(grantee)와 부여된 권한을 식별하는 grant 목록을 포함. 객체를 만들 때 acl은 객체 소유자를 객체에 대한 완전한 제어 권한을 가진 사람으로 식별해요. 객체 ACL을 검색하거나 업데이트된 grant 목록으로 교체할 수 있어요. ACL을 업데이트하려면 기존 ACL을 교체해야 해요.

더 알아보기 (Learn more)