본문으로 건너뛰기

S3

정보

AWS Storage Pricing Comparison 문서에서 S3, EBS, EFS 가격과 특성을 함께 비교할 수 있습니다.

Bucket

  • 버킷 이름
    • 3 ~ 63 자로 구성 할 수 있습니다.
    • 소문자, 숫자, 및 하이픈(-)으로만 구성 가능합니다. 점(.)도 가능하지만 지양합니다.
    • 소문자, 숫자로 시작해야합니다.
    • 접두사 xn--로 시작해서는 안됩니다.
    • 접미사 -s3alias로 끝나서는 안됩니다.
    • 리전들의 그룹을 파티션이라고 하는데, 버킷 이름은 파티션 내에서 고유해야합니다.
  • 버킷을 비웠으면 삭제할 수 있고 버킷 이름은 다시 사용할 수 있지만, 삭제한 후 여러 가지 이유로 버킷 이름을 다시 사용하지 못할 수도 있습니다.
  • Amazon S3의 고가용성 설계는 get, put, list, delete 작업에 중점을 두고 있습니다.
  • 자주 실행하지 않는 별도의 초기화 루틴이나 설정 루틴에서 버킷을 만들거나 삭제하는 것이 좋습니다.

Object

  • Key: 객체에 할당한 이름입니다. 객체 키를 사용하여 객체를 검색합니다.
    • 0-9, a-z, A-Z, /, !, -, _, ., *, ', (, )를 사용할 수 있습니다.
    • &, $, ASCII 0x00 ~ 0x1F0x7F, @, =, :, +, 공백, ,, ? 은 URL 인코딩이나 HEX로 변경하는 등의 처리가 필요합니다.
    • \, {, }, ASCII 0xF0 ~ 0xFF, ^, %, `, [, ], ", <, >, ~, #는 사용가능하지만 특별한 처리가 필요하므로 사용하지 않는 것이 좋습니다.
    • XML 관련 제한 사항이 있습니다.
    • 점(.)으로 끝나거나 ./, ../이 접두사로 시작하는 객체는 콘솔이나 aws cli 사용에 제약이 있습니다.
    • Folder
      • File storage와 같은 계층 구조는 없지만, /를 사용하여 개념적으로 계층 구조를 만들 수 있습니다.
      • /로 구분된 경로는 개념적으로 폴더이기 때문에 단순히 접두사+파일명으로 볼 수도 있습니다.
      • 폴더 명은 변경할 수 없습니다.
  • Version ID: 버전 관리를 활성화 한 경우 부여됩니다.
  • Value: 저장한 내용물이며, 크기는 0 ~ 5 TB 까지 업로드 가능합니다.
  • Metadata: 객체 관련 정보를 저장하기 위한 name-value 페어의 세트입니다. 2 KB 이하로 구성해야합니다.
    • Content-Type
    • x-amz-meta-<custom>
    • x-amz-storage-class
    • ...
  • Subresources: S3는 하위 리소스 메커니즘을 사용하여 객체 관련 추가 정보를 저장합니다. 하위 리소스는 객체에 종속되므로 항상 객체, 버킷 등의 다른 항목과 연결됩니다.
    • ACL(Access Control Information): S3에 저장하는 객체에 대한 액세스를 제어할 수 있습니다.
  • presigned URL: 일정 기간 유효한 URL을 만들어 객체에 접근하는 권한을 줄 수 있습니다.
  • WORM(write-once-read-many) 잠금: 이 잠금을 사용해서 변경 및 삭제에 대한 보호를 추가할 수 있습니다.
  • S3 Select

Reference