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

S3 CopyObject 요청을 사용하여 StorageGRID에 객체의 복사본을 생성합니다

S3 CopyObject 요청을 사용하면 S3에 이미 저장된 객체의 복사본을 만들 수 있습니다. CopyObject 작업은 GetObject 다음에 PutObject를 수행하는 것과 같습니다.

충돌 해결

두 클라이언트가 동일한 키에 쓰기를 시도하는 등 클라이언트 요청이 충돌하는 경우 "최신 요청 우선" 원칙에 따라 처리됩니다. "최신 요청 우선" 평가 시점은 S3 클라이언트가 작업을 시작한 시점이 아니라 StorageGRID 시스템이 해당 요청을 완료한 시점을 기준으로 합니다.

객체 크기

단일 PutObject 작업에 권장되는 최대 크기는 5GiB(5,368,709,120바이트)입니다. 객체 크기가 5GiB보다 큰 경우, "멀티파트 업로드"을 사용하십시오.

단일 PutObject 작업에 대해 지원되는 최대 크기는 5TiB(5,497,558,138,880바이트)입니다.

참고 StorageGRID 11.6 이하 버전에서 업그레이드한 경우, 5GiB를 초과하는 객체를 업로드하려고 하면 S3 PUT Object size too large 경고가 트리거됩니다. StorageGRID 11.7 또는 11.8을 새로 설치한 경우에는 이 경우 경고가 트리거되지 않습니다. 하지만 AWS S3 표준을 준수하기 위해 향후 StorageGRID 릴리스에서는 5GiB보다 큰 객체 업로드를 지원하지 않을 예정입니다.

사용자 메타데이터의 UTF-8 문자

요청에 사용자 정의 메타데이터의 키 이름 또는 값에 (이스케이프되지 않은) UTF-8 값이 포함된 경우 StorageGRID 동작은 정의되지 않습니다.

StorageGRID는 사용자 정의 메타데이터의 키 이름 또는 값에 포함된 이스케이프 처리된 UTF-8 문자를 구문 분석하거나 해석하지 않습니다. 이스케이프 처리된 UTF-8 문자는 ASCII 문자로 처리됩니다.

  • 사용자 정의 메타데이터에 이스케이프 처리된 UTF-8 문자가 포함되어 있으면 요청이 성공합니다.

  • StorageGRID는 키 이름이나 값의 해석된 값에 인쇄할 수 없는 문자가 포함된 경우 x-amz-missing-meta 헤더를 반환하지 않습니다.

지원되는 요청 헤더

다음과 같은 요청 헤더가 지원됩니다.

  • Content-Type

  • x-amz-copy-source

  • x-amz-copy-source-if-match

  • x-amz-copy-source-if-none-match

  • x-amz-copy-source-if-unmodified-since

  • x-amz-copy-source-if-modified-since

  • x-amz-meta-, 그 뒤에 사용자 정의 메타데이터를 포함하는 이름-값 쌍이 옵니다

  • x-amz-metadata-directive: 기본값은 `COPY`이며, 이를 사용하면 객체와 관련 메타데이터를 복사할 수 있습니다.

    객체를 복사할 때 기존 메타데이터를 덮어쓰거나 객체 메타데이터를 업데이트하도록 `REPLACE`을 지정할 수 있습니다.

  • x-amz-storage-class

  • x-amz-tagging-directive: 기본값은 `COPY`이며, 이 값을 사용하면 객체와 모든 태그를 복사할 수 있습니다.

    객체를 복사할 때 기존 태그를 덮어쓸지, 아니면 태그를 업데이트할지 지정할 수 있습니다 REPLACE.

  • S3 객체 잠금 요청 헤더:

    • x-amz-object-lock-mode

    • x-amz-object-lock-retain-until-date

    • x-amz-object-lock-legal-hold

      이러한 헤더 없이 요청이 이루어지면 버킷의 기본 보존 설정이 객체 버전 모드와 보존 만료일을 계산하는 데 사용됩니다. "S3 REST API를 사용하여 S3 Object Lock 구성"을 참조하십시오.

  • SSE 요청 헤더:

    • x-amz-copy-source​-server-side​-encryption​-customer-algorithm

    • x-amz-copy-source​-server-side-encryption-customer-key

    • x-amz-copy-source​-server-side-encryption-customer-key-MD5

    • x-amz-server-side-encryption

    • x-amz-server-side-encryption-customer-key-MD5

    • x-amz-server-side-encryption-customer-key

    • x-amz-server-side-encryption-customer-algorithm

지원되지 않는 요청 헤더

다음 요청 헤더는 지원되지 않습니다.

  • Cache-Control

  • Content-Disposition

  • Content-Encoding

  • Content-Language

  • Expires

  • If-Match

    `If-Match header`은(는) 승인되었지만 작동하지 않습니다.
  • If-None-Match

    `If-None-Match header`은(는) 승인되었지만 작동하지 않습니다.
  • x-amz-checksum-algorithm

    객체를 복사할 때 원본 객체에 체크섬이 있는 경우 StorageGRID는 해당 체크섬 값을 새 객체에 복사하지 않습니다. 이 동작은 객체 요청에서 `x-amz-checksum-algorithm`을(를) 사용하려고 시도하는지 여부와 관계없이 적용됩니다.

  • x-amz-website-redirect-location

스토리지 클래스 옵션

`x-amz-storage-class` 요청 헤더는 지원되며, 일치하는 ILM 규칙에서 이중 커밋 또는 균형 link:../ilm/data-protection-options-for-ingest.html["수집 옵션"]을 사용하는 경우 StorageGRID가 생성하는 객체 복사본 수에 영향을 미칩니다.
  • STANDARD

    (기본값) ILM 규칙에서 이중 커밋 옵션을 사용하거나 균형 옵션이 임시 복사본 생성으로 대체될 때 이중 커밋 수집 작업을 지정합니다.

  • REDUCED_REDUNDANCY

    ILM 규칙에서 이중 커밋 옵션을 사용하거나 균형 옵션이 임시 복사본 생성으로 대체될 때 단일 커밋 수집 작업을 지정합니다.

    참고 S3 객체 잠금이 활성화된 버킷에 객체를 수집하는 경우 REDUCED_REDUNDANCY 옵션은 무시됩니다. 레거시 규정 준수 버킷에 객체를 수집하는 경우 REDUCED_REDUNDANCY 옵션은 오류를 반환합니다. StorageGRID는 규정 준수 요구 사항을 충족하기 위해 항상 이중 커밋 수집을 수행합니다.

CopyObject에서 x-amz-copy-source 사용

`x-amz-copy-source` 헤더에 지정된 소스 버킷 및 키가 대상 버킷 및 키와 다른 경우, 소스 객체 데이터의 복사본이 대상에 기록됩니다.

소스와 대상이 일치하고 `x-amz-metadata-directive`헤더가 `REPLACE`로 지정된 경우, 객체의 메타데이터는 요청에 제공된 메타데이터 값으로 업데이트됩니다. 이 경우 StorageGRID는 객체를 다시 수집하지 않습니다. 이는 두 가지 중요한 결과를 가져옵니다.

  • CopyObject를 사용하여 기존 객체를 제자리에서 암호화하거나 기존 객체의 암호화를 제자리에서 변경할 수 없습니다. x-amz-server-side-encryption 헤더 또는 x-amz-server-side-encryption-customer-algorithm 헤더를 제공하면 StorageGRID가 요청을 거부하고 `XNotImplemented`을 반환합니다.

  • 일치하는 ILM 규칙에 지정된 수집 동작 옵션은 사용되지 않습니다. 업데이트로 인해 발생하는 객체 배치 변경 사항은 일반적인 백그라운드 ILM 프로세스에 의해 ILM이 재평가될 때 적용됩니다.

    즉, ILM 규칙에서 수집 동작에 대해 엄격(Strict) 옵션을 사용하는 경우, 필요한 객체 배치가 불가능한 경우(예: 새로 필요한 위치를 사용할 수 없는 경우) 아무런 조치도 취해지지 않습니다. 업데이트된 객체는 필요한 배치가 가능해질 때까지 현재 위치를 유지합니다.

서버 측 암호화에 대한 요청 헤더

"서버 측 암호화 사용"를 수행하는 경우, 제공하는 요청 헤더는 소스 객체가 암호화되었는지 여부와 대상 객체를 암호화할 계획인지 여부에 따라 달라집니다.

  • 원본 객체가 고객 제공 키(SSE-C)를 사용하여 암호화된 경우, 객체를 복호화한 후 복사할 수 있도록 CopyObject 요청에 다음 세 가지 헤더를 포함해야 합니다.

    • x-amz-copy-source​-server-side​-encryption​-customer-algorithm: `AES256`을(를) 지정합니다.

    • x-amz-copy-source​-server-side-encryption-customer-key: 소스 객체를 생성할 때 제공한 암호화 키를 지정하십시오.

    • x-amz-copy-source​-server-side-encryption-customer-key-MD5: 소스 객체를 생성할 때 제공한 MD5 다이제스트를 지정하십시오.

  • 대상 객체(복사본)를 사용자가 제공하고 관리하는 고유 키로 암호화하려면 다음 세 가지 헤더를 포함하십시오.

    • x-amz-server-side-encryption-customer-algorithm: `AES256`을(를) 지정합니다.

    • x-amz-server-side-encryption-customer-key: 대상 객체에 사용할 새 암호화 키를 지정합니다.

    • x-amz-server-side-encryption-customer-key-MD5: 새 암호화 키의 MD5 다이제스트를 지정합니다.

    주의 고객이 제공하는 암호화 키는 절대 저장되지 않습니다. 암호화 키를 분실하면 해당 객체도 손실됩니다. 고객이 제공한 키를 사용하여 객체 데이터를 보호하기 전에 "서버 측 암호화 사용"에 대한 고려 사항을 검토하십시오.
  • StorageGRID(SSE)에서 관리하는 고유 키로 대상 객체(복사본)를 암호화하려면 CopyObject 요청에 다음 헤더를 포함하십시오.

    • x-amz-server-side-encryption

      참고 The server-side-encryption 객체의 값은 업데이트할 수 없습니다. 대신, 새 server-side-encryption 값으로 복사본을 만들려면 x-amz-metadata-directive: `REPLACE`을 사용하세요.

버전 관리

원본 버킷에 버전 관리 기능이 있는 경우 `x-amz-copy-source`헤더를 사용하여 객체의 최신 버전을 복사할 수 있습니다. 특정 버전의 객체를 복사하려면 `versionId`하위 리소스를 사용하여 복사할 버전을 명시적으로 지정해야 합니다. 대상 버킷에 버전 관리 기능이 있는 경우 생성된 버전이 `x-amz-version-id`응답 헤더에 반환됩니다. 대상 버킷의 버전 관리가 일시 중단된 경우 `x-amz-version-id`"null" 값이 반환됩니다.