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을 교체해야 해요. |