Skip to main content
이 제품의 최신 릴리즈를 사용할 수 있습니다.
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

StorageGRID의 S3 버킷 작업 및 구현 세부 정보

StorageGRID 시스템은 각 S3 테넌트 계정당 최대 5,000개의 버킷을 지원합니다.

각 그리드는 최대 100,000개의 버킷을 가질 수 있습니다.

5,000개의 버킷을 지원하려면 그리드의 각 스토리지 노드에 최소 64GB의 RAM이 있어야 합니다.

버킷 이름 제한은 AWS 미국 표준 지역 제한을 따르지만, S3 가상 호스팅 스타일 요청을 지원하려면 DNS 명명 규칙에 따라 추가로 제한해야 합니다.

자세한 내용은 다음을 참조하십시오.

ListObjects(버킷 가져오기) 및 ListObjectVersions(버킷 객체 버전 가져오기) 작업은 StorageGRID "일관성 값"를 지원합니다.

개별 버킷에 대해 마지막 액세스 시간 업데이트가 활성화되었는지 또는 비활성화되었는지 확인할 수 있습니다. "GET 버킷 마지막 액세스 시간"을 참조하십시오.

다음 표는 StorageGRID S3 REST API 버킷 작업을 구현하는 방식을 설명합니다. 이러한 작업을 수행하려면 계정에 필요한 액세스 자격 증명을 제공해야 합니다.

작업 구현

CreateBucket

새 버킷을 생성합니다. 버킷을 생성함으로써 해당 버킷의 소유자가 됩니다.

  • 버킷 이름은 다음 규칙을 준수해야 합니다.

    • 각 StorageGRID 시스템 전체에서 고유해야 합니다(테넌트 계정 내에서만 고유한 것이 아님).

    • DNS 규정을 준수해야 합니다.

    • 최소 3자, 최대 63자여야 합니다.

    • 하나 이상의 레이블로 구성될 수 있으며, 인접한 레이블 간에는 마침표가 있어야 합니다. 각 레이블은 소문자 또는 숫자로 시작하고 끝나야 하며, 소문자, 숫자 및 하이픈만 사용할 수 있습니다.

    • 텍스트 형식의 IP 주소처럼 보이지 않아야 합니다.

    • 가상 호스팅 스타일 요청에는 마침표를 사용해서는 안 됩니다. 마침표는 서버 와일드카드 인증서 검증에 문제를 일으킬 수 있습니다.

  • 기본적으로 버킷은 us-east-1 리전에 생성됩니다. 하지만 요청 본문의 LocationConstraint 요청 요소를 사용하여 다른 리전을 지정할 수 있습니다. LocationConstraint 요소를 사용할 때는 Grid Manager 또는 Grid Management API를 사용하여 정의된 리전의 정확한 이름을 지정해야 합니다. 사용할 리전 이름을 모르는 경우 시스템 관리자에게 문의하십시오.

    참고: CreateBucket 요청이 StorageGRID에 정의되지 않은 지역을 사용하는 경우 오류가 발생합니다.

  • x-amz-bucket-object-lock-enabled 요청 헤더를 포함하여 S3 Object Lock이 활성화된 버킷을 생성할 수 있습니다. "S3 REST API를 사용하여 S3 Object Lock 구성"을 참조하십시오.

    버킷을 생성할 때 S3 객체 잠금을 활성화해야 합니다. 버킷 생성 후에는 S3 객체 잠금을 추가하거나 비활성화할 수 없습니다. S3 객체 잠금은 버킷 버전 관리가 필요하며, 이는 버킷 생성 시 자동으로 활성화됩니다.

DeleteBucket

버킷을 삭제합니다.

DeleteBucketCors

버킷의 CORS 구성을 삭제합니다.

DeleteBucketEncryption

버킷에서 기본 암호화를 삭제합니다. 기존에 암호화된 객체는 암호화된 상태로 유지되지만, 버킷에 새로 추가되는 객체는 암호화되지 않습니다.

DeleteBucketLifecycle

버킷에서 라이프사이클 구성을 삭제합니다. "S3 라이프사이클 구성 생성"을 참조하십시오.

DeleteBucketPolicy

버킷에 연결된 정책을 삭제합니다.

DeleteBucketReplication

버킷에 연결된 복제 구성을 삭제합니다.

DeleteBucketTagging

`tagging` 하위 리소스를 사용하여 버킷에서 모든 태그를 제거합니다.

주의: 이 버킷에 기본값이 아닌 ILM 정책 태그가 설정되어 있는 경우, NTAP-SG-ILM-BUCKET-TAG 버킷 태그와 할당된 값이 존재합니다. NTAP-SG-ILM-BUCKET-TAG 버킷 태그가 있는 경우 DeleteBucketTagging 요청을 실행하지 마십시오. 대신, NTAP-SG-ILM-BUCKET-TAG 태그와 할당된 값만 포함하여 PutBucketTagging 요청을 실행하면 버킷에서 다른 모든 태그가 제거됩니다. NTAP-SG-ILM-BUCKET-TAG 버킷 태그를 수정하거나 삭제하지 마십시오.

GetBucketAcl

버킷 소유자에게 버킷에 대한 모든 액세스 권한이 있음을 나타내는 긍정적인 응답과 버킷 소유자의 ID, DisplayName 및 Permission을 반환합니다.

GetBucketCors

버킷의 cors 구성을 반환합니다.

GetBucketEncryption

버킷의 기본 암호화 구성을 반환합니다.

GetBucketLifecycleConfiguration

(이전 명칭: GET Bucket lifecycle)

버킷의 수명 주기 구성을 반환합니다. "S3 라이프사이클 구성 생성"을 참조하세요.

GetBucketLocation

`LocationConstraint` 요소를 사용하여 CreateBucket 요청에서 설정된 지역을 반환합니다. 버킷의 지역이  `us-east-1`인 경우, 지역에 대해 빈 문자열이 반환됩니다.

GetBucketNotificationConfiguration

(이전 명칭: GET Bucket notification)

버킷에 연결된 알림 구성을 반환합니다.

GetBucketPolicy

버킷에 연결된 정책을 반환합니다.

GetBucketReplication

버킷에 연결된 복제 구성을 반환합니다.

GetBucketTagging

`tagging` 하위 리소스를 사용하여 버킷의 모든 태그를 반환합니다.

주의: 이 버킷에 기본값이 아닌 ILM 정책 태그가 설정된 경우, NTAP-SG-ILM-BUCKET-TAG 버킷 태그에 값이 할당됩니다. 이 태그를 수정하거나 삭제하지 마십시오.

GetBucketVersioning

이 구현에서는 versioning 하위 리소스를 사용하여 버킷의 버전 관리 상태를 반환합니다.

  • blank: 버전 관리가 활성화된 적이 없습니다(버킷이 "Unversioned"입니다).

  • 활성화됨: 버전 관리가 활성화되었습니다.

  • 일시 중단됨: 이전에 버전 관리가 활성화되었으나 현재 일시 중단되었습니다.

GetObjectLockConfiguration

구성된 경우 버킷의 기본 보존 모드와 기본 보존 기간을 반환합니다.

HeadBucket

버킷이 존재하는지, 그리고 해당 버킷에 액세스할 권한이 있는지 확인합니다.

이 연산의 결과는 다음과 같습니다.

  • x-ntap-sg-bucket-id: 버킷의 UUID(UUID 형식)입니다.

  • x-ntap-sg-trace-id: 해당 요청의 고유 추적 ID입니다.

ListObjects 및 ListObjectsV2

(이전 명칭: GET Bucket)

버킷에 있는 객체 중 일부 또는 전부(최대 1,000개)를 반환합니다. 객체의 스토리지 클래스는 해당 객체가 REDUCED_REDUNDANCY 스토리지 클래스 옵션을 사용하여 수집된 경우에도 두 가지 값 중 하나를 가질 수 있습니다.

  • STANDARD, 이는 해당 객체가 스토리지 노드로 구성된 스토리지 풀에 저장되어 있음을 나타냅니다.

  • `GLACIER`이는 해당 객체가 클라우드 스토리지 풀에서 지정한 외부 버킷으로 이동되었음을 나타냅니다.

버킷에 동일한 접두사를 가진 삭제된 키가 대량으로 포함되어 있는 경우, 응답에 키가 포함되지 않은 `CommonPrefixes`이 일부 포함될 수 있습니다.

HeadObject 및 ListObject 요청의 경우 StorageGRID는 LastModified 타임스탬프를 서로 다른 정밀도로 반환하는 반면 AWS는 다음 예에서와 같이 동일한 정밀도로 타임스탬프를 반환합니다.

  • StorageGRID HeadObject: "LastModified": "2024-09-26T16:43:24+00:00"

  • StorageGRID ListObject: "LastModified": "2024-09-26T16:43:24.931000+00:00"

  • AWS HeadObject: "LastModified": "2023-10-17T00:19:54+00:00"

  • AWS ListObject: "LastModified": "2023-10-17T00:19:54+00:00"

ListObjectVersions

(이전 명칭: GET Bucket Object versions)

버킷에 대한 읽기 권한이 있는 경우, versions 하위 리소스와 함께 이 작업을 사용하면 버킷에 있는 모든 객체 버전의 메타데이터가 나열됩니다.

PutBucketCors

버킷이 교차 출처 요청을 처리할 수 있도록 버킷의 CORS 구성을 설정합니다. 교차 출처 리소스 공유(CORS)는 한 도메인의 클라이언트 웹 애플리케이션이 다른 도메인의 리소스에 액세스할 수 있도록 하는 보안 메커니즘입니다. 예를 들어, 그래픽을 저장하는 데 images`라는 S3 버킷을 사용한다고 가정해 보겠습니다. `images 버킷의 CORS 구성을 설정하면 해당 버킷의 이미지를 http://www.example.com 웹사이트에 표시할 수 있습니다.

PutBucketEncryption

기존 버킷의 기본 암호화 상태를 설정합니다. 버킷 수준 암호화가 활성화되면 버킷에 새로 추가되는 모든 객체가 암호화됩니다. StorageGRID는 StorageGRID에서 관리하는 키를 사용한 서버 측 암호화를 지원합니다. 서버 측 암호화 구성 규칙을 지정할 때 `SSEAlgorithm`매개변수를 `AES256`로 설정하고, `KMSMasterKeyID`매개변수는 사용하지 마십시오.

버킷의 기본 암호화 구성은 객체 업로드 요청에 이미 암호화가 지정된 경우(즉, 요청에 x-amz-server-side-encryption-* 요청 헤더가 포함된 경우) 무시됩니다.

PutBucketLifecycleConfiguration

(이전 명칭: PUT Bucket lifecycle)

버킷에 대한 새 수명 주기 구성을 생성하거나 기존 수명 주기 구성을 대체합니다. StorageGRID는 수명 주기 구성에서 최대 1,000개의 수명 주기 규칙을 지원합니다. 각 규칙에는 다음 XML 요소가 포함될 수 있습니다.

  • 만료(일, 날짜, ExpiredObjectDeleteMarker)

  • NoncurrentVersionExpiration (NewerNoncurrentVersions, NoncurrentDays)

  • 필터(접두사, 태그)

  • 상태

  • ID

StorageGRID는 다음 작업을 지원하지 않습니다.

  • AbortIncompleteMultipartUpload

  • 전환

을 참조하십시오. "S3 라이프사이클 구성 생성". 버킷 수명 주기의 만료 작업이 ILM 배치 지침과 어떻게 상호 작용하는지 이해하려면 "ILM이 객체의 수명 주기 전반에 걸쳐 작동하는 방식"을 참조하십시오.

참고: 버킷 수명 주기 구성은 S3 Object Lock이 활성화된 버킷에서 사용할 수 있지만, 버킷 수명 주기 구성은 레거시 규정 준수 버킷에서는 지원되지 않습니다.

PutBucketNotificationConfiguration

(이전 명칭: PUT Bucket notification)

요청 본문에 포함된 알림 구성 XML을 사용하여 버킷에 대한 알림을 구성합니다. 다음 구현 세부 사항에 유의해야 합니다.

  • StorageGRID는 Amazon Simple Notification Service(Amazon SNS) 토픽, Kafka 토픽 또는 웹훅 엔드포인트를 대상으로 지원합니다. Simple Queue Service(SQS) 또는 AWS Lambda 엔드포인트는 지원하지 않습니다.

  • 알림 대상은 StorageGRID 엔드포인트의 URN으로 지정해야 합니다. 엔드포인트는 테넌트 관리자 또는 테넌트 관리 API를 사용하여 생성할 수 있습니다.

    알림 구성이 성공하려면 엔드포인트가 존재해야 합니다. 엔드포인트가 존재하지 않으면 400 Bad Request 오류가 코드 `InvalidArgument`와 함께 반환됩니다.

  • 다음 이벤트 유형에 대해서는 알림을 설정할 수 없습니다. 이러한 이벤트 유형은 지원되지 않습니다.

    • s3:ReducedRedundancyLostObject

    • s3:ObjectRestore:Completed

  • StorageGRID에서 전송된 이벤트 알림은 표준 JSON 형식을 사용하지만, 다음 목록에 표시된 것처럼 일부 키는 포함하지 않고 다른 키에는 특정 값을 사용합니다.

    • eventSource

      sgws:s3

    • awsRegion

      포함되지 않음

    • x-amz-id-2

      포함되지 않음

    • arn

      urn:sgws:s3:::bucket_name

PutBucketPolicy

버킷에 연결된 정책을 설정합니다. 자세한 내용은 "버킷 및 그룹 액세스 정책 사용"을 참조하십시오.

PutBucketReplication

요청 본문에 제공된 복제 구성 XML을 사용하여 버킷에 대해 "StorageGRID CloudMirror 복제"을(를) 구성합니다. CloudMirror 복제의 경우 다음 구현 세부 정보를 숙지해야 합니다.

  • StorageGRID는 복제 구성의 V1만 지원합니다. 즉, StorageGRID는 규칙에 대한 `Filter`요소 사용을 지원하지 않으며 객체 버전 삭제에 대한 V1 규칙을 따릅니다. 자세한 내용은 "Amazon Simple Storage Service 사용자 가이드: 복제 구성"을 참조하십시오.

  • 버킷 복제는 버전이 지정된 버킷 또는 버전이 지정되지 않은 버킷 모두에서 구성할 수 있습니다.

  • 복제 구성 XML의 각 규칙에서 서로 다른 대상 버킷을 지정할 수 있습니다. 소스 버킷은 둘 이상의 대상 버킷으로 복제할 수 있습니다.

  • 대상 버킷은 테넌트 관리자 또는 테넌트 관리 API에 지정된 StorageGRID 엔드포인트의 URN으로 지정해야 합니다. "CloudMirror 복제 구성"을 참조하십시오.

    복제 구성이 성공하려면 엔드포인트가 존재해야 합니다. 엔드포인트가 존재하지 않으면 요청이 400 Bad Request`로 실패합니다. 오류 메시지는 다음과 같습니다. `Unable to save the replication policy. The specified endpoint URN does not exist: URN.

  • 구성 XML에서 `Role`을(를) 지정할 필요가 없습니다. 이 값은 StorageGRID에서 사용되지 않으며 제출하더라도 무시됩니다.

  • 구성 XML에서 스토리지 클래스를 생략하면 StorageGRID는 기본적으로 STANDARD 스토리지 클래스를 사용합니다.

  • 원본 버킷에서 객체를 삭제하거나 원본 버킷 자체를 삭제하는 경우, 리전 간 복제 동작은 다음과 같습니다.

    • 객체 또는 버킷이 복제되기 전에 삭제하면 해당 객체/버킷은 복제되지 않으며 알림도 표시되지 않습니다.

    • 객체 또는 버킷이 복제된 후 삭제하면 StorageGRID는 리전 간 복제 V1에 대한 표준 Amazon S3 삭제 동작을 따릅니다.

PutBucketTagging

tagging 하위 리소스를 사용하여 버킷에 대한 태그 세트를 추가하거나 업데이트합니다. 버킷 태그를 추가할 때 다음 제한 사항에 유의하십시오.

  • StorageGRID 와 Amazon S3 모두 버킷당 최대 50개의 태그를 지원합니다.

  • 버킷과 연결된 태그는 고유한 태그 키를 가져야 합니다. 태그 키는 최대 128자의 유니코드 문자로 구성될 수 있습니다.

  • 태그 값은 최대 256자의 유니코드 문자까지 사용할 수 있습니다.

  • 키와 값은 대소문자를 구분합니다.

주의: 이 버킷에 기본값이 아닌 ILM 정책 태그가 설정된 경우, NTAP-SG-ILM-BUCKET-TAG 해당 버킷 태그에 값이 할당됩니다. 모든 PutBucketTagging 요청에 NTAP-SG-ILM-BUCKET-TAG 버킷 태그와 할당된 값이 포함되어야 합니다. 이 태그를 수정하거나 삭제하지 마십시오.

참고: 이 작업은 버킷에 이미 있는 태그를 덮어씁니다. 기존 태그 중 누락된 태그가 있는 경우 해당 태그는 버킷에서 제거됩니다.

PutBucketVersioning

`versioning` 하위 리소스를 사용하여 기존 버킷의 버전 관리 상태를 설정합니다. 다음 값 중 하나를 사용하여 버전 관리 상태를 설정할 수 있습니다.
  • 활성화됨: 버킷의 객체에 대한 버전 관리를 활성화합니다. 버킷에 추가되는 모든 객체는 고유한 버전 ID를 받습니다.

  • 일시 중단됨: 버킷의 객체에 대한 버전 관리를 비활성화합니다. 버킷에 추가되는 모든 객체는 버전 ID `null`를 받게 됩니다.

PutObjectLockConfiguration

버킷의 기본 보존 모드 및 기본 보존 기간을 구성하거나 제거합니다.

기본 보존 기간이 수정되더라도 기존 객체 버전의 보존 만료일은 그대로 유지되며 새 기본 보존 기간을 사용하여 재계산되지 않습니다.

자세한 내용은 "S3 REST API를 사용하여 S3 Object Lock 구성"을 참조하십시오.