디렉터리 버킷 - Amazon Simple Storage Service

디렉터리 버킷

Amazon S3 버킷에는 범용 버킷과 디렉터리 버킷이라는 두 가지 유형이 있습니다. 애플리케이션 및 성능 요구 사항에 가장 적합한 버킷 유형을 선택하세요.

  • 범용 버킷은 S3 버킷 본래의 유형이며 대부분의 사용 사례 및 액세스 패턴에 권장됩니다. 또한 범용 버킷을 사용하면 S3 Express One Zone을 제외한 모든 스토리지 클래스에 객체를 저장할 수 있습니다.

  • 디렉터리 버킷은 S3 Express One Zone 스토리지 클래스를 사용합니다. 이 스토리지 클래스는 애플리케이션이 성능에 민감하고 10밀리초 미만의 PUTGET 지연 시간이 필요한 경우에 권장됩니다.

디렉터리 버킷은 일관된 10밀리초 미만의 지연 시간이 필요한 워크로드 또는 성능이 중요한 애플리케이션에 사용됩니다. 디렉터리 버킷은 범용 버킷의 플랫 스토리지 구조와 달리 데이터를 계층적으로 디렉터리에 구성합니다. 디렉터리 버킷에는 접두사 제한이 없으며 개별 디렉터리는 수평적으로 확장할 수 있습니다.

디렉터리 버킷은 S3 Express One Zone 스토리지 클래스를 사용합니다. 이 스토리지 클래스는 단일 가용 영역 내의 여러 디바이스에 데이터를 저장하지만 서로 다른 가용 영역에 데이터를 중복으로 저장하지는 않습니다. 디렉터리 버킷을 생성할 때는 Amazon EC2, Amazon Elastic Kubernetes Service 또는 Amazon Elastic Container Service(Amazon ECS) 컴퓨팅 인스턴스와 같은 위치의 로컬 가용 영역과 AWS 리전을 지정하여 성능을 최적화하는 것이 좋습니다.

각 AWS 계정에 최대 10개의 디렉터리 버킷을 생성할 수 있으며, 버킷에 저장할 수 있는 객체 수에는 제한이 없습니다. 버킷 할당량은 AWS 계정의 각 리전에 적용됩니다. 애플리케이션에서 이 한도를 늘려야 하는 경우 AWS Support에 문의하세요. 자세한 내용은 Service Quotas 콘솔을 참조하세요.

중요

최소 90일 동안 요청 활동이 없는 디렉터리 버킷은 비활성 상태로 전환됩니다. 비활성 상태에서는 디렉터리 버킷에 일시적으로 읽기 및 쓰기가 불가능합니다. 비활성 버킷은 모든 스토리지, 객체 메타데이터, 버킷 메타데이터를 보존합니다. 비활성 버킷에는 기존 스토리지 요금이 적용됩니다. 비활성 버킷에 대한 액세스 요청 시 버킷은 일반적으로 몇 분 이내에 활성 상태로 전환됩니다. 이 전환 기간 동안 읽기 및 쓰기 시 HTTP 503 (Service Unavailable) 오류 코드가 반환됩니다.

다음 주제에서는 디렉터리 버킷에 대한 정보를 제공합니다. 범용 버킷에 대한 자세한 내용은 버킷 개요 섹션을 참조하세요.

가용 영역

디렉터리 버킷을 생성할 때 가용 영역과 AWS 리전을 선택합니다.

디렉터리 버킷은 성능에 민감한 애플리케이션에서 사용하도록 구축된 S3 Express One Zone 스토리지 클래스를 사용합니다. S3 Express One Zone은 객체 스토리지를 컴퓨팅 리소스와 함께 배치하는 옵션을 제공하면서 단일 가용 영역 선택이 가능한 최초의 S3 스토리지 클래스로, 최고의 액세스 속도를 제공합니다.

S3 Express One Zone 스토리지 클래스를 사용하면 단일 가용 영역 내의 여러 디바이스에 데이터가 중복으로 저장됩니다. S3 Express One Zone은 단일 가용 영역 내에서 99.95%의 가용성을 제공하도록 설계되었으며 Amazon S3 서비스 수준 계약의 지원을 받습니다. 자세한 내용은 단일 가용 영역 단원을 참조하세요.

디렉터리 버킷 이름

디렉터리 버킷 이름은 사용자가 제공하는 기본 이름과 버킷이 위치한 가용 영역의 ID가 포함된 접미사로 구성됩니다. 디렉터리 버킷 이름은 다음 형식을 따라야 하며 디렉터리 버킷 이름 지정 규칙을 준수해야 합니다.

bucket-base-name--azid--x-s3

예를 들어, 다음 디렉터리 버킷 이름에는 가용 영역 ID인 usw2-az1이 포함되어 있습니다.

bucket-base-name--usw2-az1--x-s3

자세한 내용은 디렉터리 버킷 이름 지정 규칙 단원을 참조하십시오.

디렉터리

디렉터리 버킷은 범용 버킷의 플랫 스토리지 구조와 달리 데이터를 계층적으로 디렉터리에 구성합니다. 각 S3 디렉터리 버킷은 버킷 내 디렉터리 수와 관계없이 수십만 건의 초당 트랜잭션(TPS)을 지원할 수 있습니다.

계층적 네임스페이스에서는 객체 키의 구분 기호가 중요합니다. 유일하게 지원되는 구분 기호는 슬래시(/)입니다. 디렉터리는 구분 기호 경계로 결정됩니다. 예를 들어, dir1/dir2/file1.txt 객체 키로 인해 dir1/ 디렉터리가 만들어지고 dir2/가 자동으로 생성되며 file1.txt 객체는 dir1/dir2/file1.txt 경로의 /dir2 디렉터리에 추가됩니다.

디렉터리 버킷 인덱싱 모델은 ListObjectsV2 API 작업에 대해 정렬되지 않은 결과를 반환합니다. 결과를 버킷의 하위 섹션으로 제한해야 하는 경우 prefix 파라미터에 하위 디렉터리 경로(예: prefix=dir1/)를 지정할 수 있습니다.

키 이름

디렉터리 버킷의 경우 여러 객체 키에 공통되는 하위 디렉터리가 첫 번째 객체 키로 생성됩니다. 동일한 하위 디렉터리의 추가 객체 키에는 이전에 만든 하위 디렉터리가 사용됩니다. 이 모델을 사용하면 밀집도가 낮은 디렉터리와 높은 디렉터리를 동일하게 지원하므로 애플리케이션에 가장 적합한 객체 키를 유연하게 선택할 수 있습니다.

액세스 관리

디렉터리 버킷에는 모든 S3 퍼블릭 액세스 차단 설정이 기본적으로 버킷 수준에서 활성화되어 있습니다. S3 객체 소유권은 버킷 소유자 적용으로 설정되며 액세스 제어 목록(ACL)이 비활성화되어 있습니다. 이 설정은 수정할 수 없습니다.

기본적으로 사용자는 디렉터리 버킷 및 S3 Express One Zone 작업에 대한 권한이 없습니다. 디렉터리 버킷에 대한 액세스 권한을 부여하려면 IAM을 사용하여 사용자, 그룹 또는 역할을 생성하고 해당 ID에 권한을 연결하면 됩니다. 자세한 내용은 AWS Identity and Access Management (IAM) for S3 Express One Zone을 참조하세요.

디렉터리 버킷 작업

디렉터리 버킷 작업에 대한 자세한 내용은 다음 주제를 참조하세요.