디렉터리 버킷의 차이점

디렉터리 버킷의 차이점 (Differences for directory buckets)

Amazon S3를 사용할 때는 애플리케이션과 성능 요구 사항에 가장 잘 맞는 버킷 유형을 선택할 수 있어요. 디렉터리 버킷은 저지연(low latency) 또는 데이터 상주(residency) 사용 사례에 가장 잘 어울리는 버킷 유형이에요. 디렉터리 버킷에 대한 자세한 내용은 "디렉터리 버킷 작업하기 (Working with directory buckets)"를 참고해요.

디렉터리 버킷이 어떻게 다른지에 대한 자세한 내용은 다음 항목을 참고해요.

출처: 문서

본문

  • 디렉터리 버킷의 차이점
  • 디렉터리 버킷이 지원하는 API 연산
  • 디렉터리 버킷이 지원하지 않는 Amazon S3 기능

디렉터리 버킷의 차이점

  • 디렉터리 버킷 이름 – 디렉터리 버킷 이름은 사용자가 제공하는 기본 이름과, 버킷이 위치한 AWS 존(가용 영역 또는 로컬 존)의 ID가 들어 있는 접미사로 구성되며 그 뒤에 --x-s가 붙어요. 디렉터리 버킷 이름의 규칙과 예제 목록은 "디렉터리 버킷 명명 규칙 (Directory bucket naming rules)"을 참고해요.
  • ListObjectsV2 동작 – 디렉터리 버킷에서 ListObjectsV2는 객체를 사전식(알파벳순) 순서로 반환하지 않아요. 또한 프리픽스는 구분자로 끝나야 하고 구분자로는 /만 지정할 수 있어요. 디렉터리 버킷에서 ListObjectsV2 응답에는 진행 중인 멀티파트 업로드와 관련된 프리픽스만 포함돼요.
  • 삭제 동작 – 디렉터리 버킷에서 객체를 삭제하면 Amazon S3가 객체 경로의 빈 디렉터리를 재귀적으로 삭제해요. 예를 들어 dir1/dir2/file1.txt 객체 키를 삭제하면 Amazon S3가 file1.txt를 삭제해요. dir1/과 dir2/ 디렉터리가 비어 있고 다른 객체를 포함하지 않으면 Amazon S3가 그 디렉터리들도 삭제해요.
  • ETag와 체크섬 – 디렉터리 버킷의 엔티티 태그(ETag)는 객체에 고유한 임의 영숫자 문자열이고 MD5 체크섬이 아니에요. 디렉터리 버킷에서 추가 체크섬을 사용하는 방법은 "S3 추가 체크섬 모범 사례"를 참고해요.
  • DeleteObjects 요청의 객체 키 – DeleteObjects 요청의 객체 키는 공백이 아닌 문자를 최소 하나 포함해야 해요. 공백 문자만으로 이루어진 문자열은 DeleteObjects 요청에서 지원되지 않아요. DeleteObjects 요청의 객체 키는 줄바꿈(\n), 탭(\t), 캐리지 리턴(\r) 문자를 제외한 Unicode 제어 문자를 포함할 수 없어요.
  • 리전·존 엔드포인트 – 디렉터리 버킷의 버킷 관리 API 연산은 리전 엔드포인트를 통해 사용할 수 있고, 이를 리전 엔드포인트 API 연산이라고 해요. 리전 엔드포인트 API 연산의 예로는 CreateBucket과 DeleteBucket이 있어요. 디렉터리 버킷을 만든 뒤에는 존 엔드포인트 API 연산으로 디렉터리 버킷의 객체를 업로드하고 관리할 수 있어요. 존 엔드포인트 API 연산은 존 엔드포인트를 통해 사용할 수 있고, 예로는 PutObject와 CopyObject가 있어요. 디렉터리 버킷을 사용할 때는 모든 요청에서 리전을 지정해야 해요. 리전 엔드포인트의 경우 리전을 지정해요(예: s3express-control.us-west-2.amazonaws.com). 존 엔드포인트의 경우 리전과 가용 영역을 모두 지정해요(예: s3express-usw2-az1.us-west-2.amazonaws.com). 자세한 내용은 "디렉터리 버킷의 리전·존 엔드포인트"를 참고해요.
  • 멀티파트 업로드 – 멀티파트 업로드 과정으로 디렉터리 버킷에 저장된 대형 객체를 업로드하고 복사할 수 있어요. 다만 디렉터리 버킷에 저장된 객체에 멀티파트 업로드 과정을 사용할 때는 몇 가지 차이점이 있어요. 자세한 내용은 "디렉터리 버킷과 멀티파트 업로드 사용하기"를 참고해요.
    • 객체 생성 날짜는 멀티파트 업로드의 완료 날짜예요.
    • 멀티파트 파트 번호는 연속된 번호여야 해요. 연속되지 않은 파트 번호로 멀티파트 업로드 요청을 완료하려고 하면 Amazon S3가 HTTP 400(Bad Request) 오류를 생성해요.
    • 멀티파트 업로드의 개시자는 s3express:CreateSession 권한을 통해 AbortMultipartUpload에 대한 명시적 허용 접근이 부여된 경우에만 멀티파트 업로드 요청을 중단할 수 있어요. 자세한 내용은 "리전 엔드포인트 API 연산을 IAM으로 인가하기"를 참고해요.
  • 디렉터리 버킷 비우기 – AWS Command Line Interface(CLI)의 s3 rm 명령, Mountpoint의 삭제 연산, AWS Management Console의 Empty bucket 옵션 버튼은 디렉터리 버킷의 진행 중인 멀티파트 업로드를 삭제할 수 없어요. 이 진행 중인 멀티파트 업로드를 삭제하려면 ListMultipartUploads 연산으로 버킷의 진행 중인 멀티파트 업로드를 나열하고 AbortMultipartUpload 연산으로 모든 진행 중인 멀티파트 업로드를 중단해요.
  • AWS Command Line Interface(CLI) s3 sync 명령 – s3 sync 명령은 디렉터리 버킷에서 지원되지 않아요. 디렉터리 버킷으로 파일을 전송하거나 디렉터리 버킷에서 파일을 전송하려면 대안으로 s3 cp --recursive를 사용해요.
  • AWS Local Zones – Local Zones는 일반 목적 버킷이 아니라 디렉터리 버킷에서만 지원돼요. Local Zones에 있는 디렉터리 버킷에서는 기존 객체에 데이터를 추가(append)할 수 없어요. 가용 영역에 있는 디렉터리 버킷의 기존 객체에만 데이터를 추가할 수 있어요.

디렉터리 버킷이 지원하는 API 연산

디렉터리 버킷은 리전(버킷 수준, 또는 컨트롤 플레인) 및 존(객체 수준, 또는 데이터 플레인) 엔드포인트 API 연산을 모두 지원해요. 자세한 내용은 "디렉터리 버킷 네트워킹 (Networking for directory buckets)"과 "엔드포인트와 게이트웨이 VPC 엔드포인트"를 참고해요. 지원되는 API 연산 목록은 "디렉터리 버킷 API 연산"을 참고해요.

디렉터리 버킷이 지원하지 않는 Amazon S3 기능

디렉터리 버킷은 다음 Amazon S3 기능을 지원하지 않아요:

  • AWS 관리형 정책 (AWS managed policies)
  • S3용 AWS PrivateLink
  • MD5 체크섬
  • 다중 인증(MFA) 삭제
  • S3 Object Lock
  • Requester Pays
  • S3 Access Grants
  • S3 이벤트 알림 (S3 Event Notifications)
  • S3 수명 주기 전환 작업 (S3 Lifecycle transition actions)
  • S3 Multi-Region Access Points
  • S3 Object Lambda Access Points
  • S3 버전 관리 (S3 Versioning)
  • S3 복제 (S3 Replication)
  • 객체 태그 (Object tags)
  • S3 Select
  • 서버 접근 로그 (Server access logs)
  • 정적 웹사이트 호스팅 (Static website hosting)
  • S3 Storage Lens
  • S3 Storage Lens 그룹
  • S3 Transfer Acceleration
  • AWS Key Management Service(AWS KMS) 키를 이용한 이중 계층 서버 측 암호화(DSSE-KMS)
  • 고객 제공 키를 이용한 서버 측 암호화(SSE-C)
  • Amazon S3 콘솔에서 새 버킷을 만들 때 기존 버킷의 설정을 복사하는 옵션
  • 향상된 액세스 거부(HTTP 403 Forbidden) 오류 메시지

더 알아보기 (Learn more)