디렉터리 버킷에 객체 복사
복사 작업은 Amazon S3에 이미 저장되어 있는 객체의 복사본을 만듭니다. 디렉터리 버킷과 범용 버킷 간에 객체를 복사할 수 있습니다. 또한 버킷 내 및 동일한 유형의 버킷 간(예: 디렉터리 버킷에서 디렉터리 버킷으로)에 객체를 복사할 수 있습니다.
단일 원자성 작업으로 최대 5GB의 객체 복사본을 만들 수 있습니다. 그러나 5GB보다 큰 객체를 복사하려면 멀티파트 업로드 API 작업을 사용해야 합니다. 자세한 내용은 디렉터리 버킷에 멀티파트 업로드 사용 단원을 참조하십시오.
권한
객체를 복사하려면 다음 권한이 있어야 합니다.
-
한 디렉터리 버킷에서 다른 디렉터리 버킷으로 객체를 복사하려면
s3express:CreateSession
권한이 있어야 합니다. -
디렉터리 버킷에서 범용 버킷으로 객체를 복사하려면 대상 버킷에 객체 사본을 쓸 수 있도록
s3express:CreateSession
권한과s3:PutObject
권한이 있어야 합니다. -
범용 버킷에서 디렉터리 버킷으로 객체를 복사하려면 복사되는 소스 객체를 읽을 수 있도록
s3express:CreateSession
권한과s3:GetObject
권한이 있어야 합니다.자세한 내용은 Amazon Simple Storage Service API 참조에서 CopyObject를 참조하십시오.
암호화(Encryption)
Amazon S3는 S3 버킷에 업로드되는 모든 새 객체를 자동으로 암호화합니다. S3 버킷의 기본 암호화 구성은 항상 활성화되어 있으며, 최소한 Amazon S3 관리형 키를 통한 서버 측 암호화(SSE-S3)로 설정되어 있습니다.
디렉터리 버킷의 경우 SSE-S3 및 AWS Key Management Service(AWS KMS) 키(SSE-KMS)를 사용한 서버 측 암호화가 지원됩니다. 대상 버킷이 디렉터리 버킷인 경우 대상 버킷의 기본 암호화는 원하는 암호화 구성을 사용하고 버킷 기본 암호화는 재정의하지 않는 것이 좋습니다. 그러면 새 객체가 원하는 암호화 설정으로 자동 암호화됩니다. 또한, 범용 버킷에서 디렉터리 버킷으로, 디렉터리 버킷에서 범용 버킷으로 또는 디렉터리 버킷 간에 CopyObject를 통해 SSE-KMS로 암호화된 객체를 복사하는 경우 S3 버킷 키는 지원되지 않습니다. 이 경우 Amazon S3는 KMS 암호화 개체에 대한 사본 요청이 있을 때마다 AWS KMS를 직접적으로 호출합니다. 디렉터리 버킷의 암호화 재정의 동작에 대한 자세한 내용은 Specifying server-side encryption with AWS KMS for new object uploads를 참조하세요.
범용 버킷의 경우 SSE-S3(기본값), AWS Key Management Service(AWS KMS) 키를 사용한 서버 측 암호화(SSE-KMS), AWS KMS 키를 사용한 이증 계층 서버 측 암호화(DSSE-KMS) 또는 고객 제공 키를 사용한 서버 측 암호화(SSE-C)를 사용할 수 있습니다.
디렉터리 버킷(소스 또는 대상 버킷)에 대해 DSSE-KMS 또는 SSE-C를 사용하도록 지정하는 복사 요청을 하면 응답에 오류가 반환됩니다.
Tags
디렉터리 버킷은 태그를 지원하지 않습니다. 범용 버킷의 태그가 있는 객체를 디렉터리 버킷으로 복사하면 HTTP 501 (Not
Implemented)
응답이 표시됩니다. 자세한 내용은 Amazon Simple Storage Service API 참조에서 CopyObject를 참조하십시오.
ETag
S3 Express One Zone의 엔터티 태그(ETag)는 임의의 영숫자 문자열이며 MD5 체크섬이 아닙니다. 객체 무결성을 보장하려면 추가 체크섬을 사용하세요.
추가 체크섬
S3 Express One Zone은 업로드 또는 다운로드 중에 데이터를 검증하는 데 사용하는 체크섬 알고리즘을 선택할 수 있는 옵션을 제공합니다. SHA(보안 해시 알고리즘) 또는 CRC(순환 중복 검사) 데이터 무결성 확인 알고리즘(CRC32, CRC32C, SHA-1, SHA-256) 중 하나를 선택할 수 있습니다. MD5 기반 체크섬은 S3 Express One Zone 스토리지 클래스에서 지원되지 않습니다.
자세한 내용은 S3 추가 체크섬 모범 사례 단원을 참조하십시오.
지원되는 기능
S3 Express One Zone에 지원되는 Amazon S3 기능에 대한 자세한 내용은 S3 Express One Zone의 차이점 이해 섹션을 참조하세요.
참고
콘솔을 사용하여 디렉터리 버킷에 객체를 복사할 때의 규제 및 제한은 다음과 같습니다.
-
Copy
작업은 지정된 폴더 내의 모든 객체(접두사)에 적용됩니다. 작업이 진행되는 동안 이 폴더에 추가된 객체가 영향을 받을 수 있습니다. -
고객 제공 암호화 키(SSE-C)로 암호화된 객체는 S3 콘솔을 사용하여 복사할 수 없습니다. SSE-C로 암호화된 객체를 복사하려면 AWS CLI, AWS SDK 또는 Amazon S3 REST API를 사용합니다.
-
복사된 객체에는 원본 객체의 Object Lock 설정이 유지되지 않습니다.
-
객체를 복사하는 버킷이 S3 객체 소유권에 대해 버킷 소유자 적용 설정을 사용하는 경우 객체 ACL은 지정된 대상에 복사되지 않습니다.
-
S3 객체 소유권에 대한 버킷 소유자 적용 설정을 사용하는 버킷에 객체를 복사하려면 소스 버킷도 버킷 소유자 적용 설정을 사용하거나 다른 AWS 계정 및 그룹에 부여된 객체 ACL을 제거해야 합니다.
-
범용 버킷에서 디렉터리 버킷으로 복사된 객체는 객체 태그, ACL 또는 Etag 값을 유지하지 않습니다. 체크섬 값은 복사할 수 있지만, Etag와 동일하지는 않습니다. 체크섬 값은 추가되었을 때와 비교하여 변경될 수 있습니다.
-
디렉터리 버킷으로 복사되는 모든 객체가 S3 객체 소유권에 대해 버킷 소유자 적용 설정을 사용합니다.
범용 버킷 또는 디렉토리 버킷에서 디렉토리 버킷으로 개체를 복사하는 방법
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/
에서 Amazon S3 콘솔을 엽니다. -
왼쪽 탐색 창에서 버킷(Buckets)을 선택합니다.
-
객체를 복사하려는 버킷을 선택합니다.
-
범용 버킷에서 복사하려면 범용 버킷 탭을 선택합니다.
-
범용 버킷에서 복사하려면 디렉터리 버킷 탭을 선택합니다.
-
-
복사할 객체가 포함된 범용 버킷 또는 디렉터리 버킷을 선택합니다.
-
객체(Objects) 탭을 선택합니다. 객체 페이지에서 복사할 객체 이름 왼쪽에 있는 확인란을 선택합니다.
-
작업 메뉴에서 복사를 선택합니다.
복사 페이지가 나타납니다.
-
대상에서 대상 유형에 맞는 디렉터리 버킷을 선택합니다. 대상 경로를 지정하려면 S3 찾아보기를 선택하고 대상으로 이동한 후 대상 왼쪽에 있는 옵션 버튼을 선택합니다. 오른쪽 하단 모서리에서 대상 선택(Choose destination)을 선택합니다.
또는 대상 경로를 입력합니다.
-
추가 복사 설정에서 소스 설정 복사, 설정 지정 안 함 또는 설정 지정 중 원하는 것을 선택합니다. 소스 설정 복사가 기본 옵션입니다. 소스 설정 속성 없이 객체만 복사하려면 설정 지정 안 함을 선택합니다. 서버 측 암호화, 체크섬 및 메타데이터에 대한 설정을 지정하려면 설정 지정을 선택합니다.
-
오른쪽 하단 모서리에서 복사(Copy)를 선택합니다. Amazon S3가 객체를 대상에 복사합니다.
참고
콘솔을 사용하여 범용 버킷에 객체를 복사할 때의 규제 및 제한은 다음과 같습니다.
-
Copy
작업은 지정된 폴더 내의 모든 객체(접두사)에 적용됩니다. 작업이 진행되는 동안 이 폴더에 추가된 객체가 영향을 받을 수 있습니다. -
고객 제공 암호화 키(SSE-C)로 암호화된 객체는 S3 콘솔을 사용하여 복사할 수 없습니다. SSE-C로 암호화된 객체를 복사하려면 AWS CLI, AWS SDK 또는 Amazon S3 REST API를 사용합니다.
-
복사된 객체에는 원본 객체의 Object Lock 설정이 유지되지 않습니다.
-
객체를 복사하는 버킷이 S3 객체 소유권에 대해 버킷 소유자 적용 설정을 사용하는 경우 객체 ACL은 지정된 대상에 복사되지 않습니다.
-
S3 객체 소유권에 대한 버킷 소유자 적용 설정을 사용하는 버킷에 객체를 복사하려면 소스 버킷도 버킷 소유자 적용 설정을 사용하거나 다른 AWS 계정 및 그룹에 부여된 객체 ACL을 제거해야 합니다.
디렉터리 버킷의 객체를 범용 버킷으로 복사하는 방법
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/
에서 Amazon S3 콘솔을 엽니다. -
왼쪽 탐색 창에서 버킷(Buckets)을 선택합니다.
디렉터리 버킷 탭을 선택합니다.
-
삭제할 객체가 포함된 디렉터리 버킷을 선택합니다.
-
객체(Objects) 탭을 선택합니다. 객체 페이지에서 복사할 객체 이름 왼쪽에 있는 확인란을 선택합니다.
-
작업 메뉴에서 복사를 선택합니다.
-
대상에서 대상 유형에 맞는 범용 버킷을 선택합니다. 대상 경로를 지정하려면 S3 찾아보기를 선택하고 대상으로 이동한 후 대상 왼쪽에 있는 옵션 버튼을 선택합니다. 오른쪽 하단 모서리에서 대상 선택(Choose destination)을 선택합니다.
또는 대상 경로를 입력합니다.
-
추가 복사 설정에서 소스 설정 복사, 설정 지정 안 함 또는 설정 지정 중 원하는 것을 선택합니다. 소스 설정 복사가 기본 옵션입니다. 소스 설정 속성 없이 객체만 복사하려면 설정 지정 안 함을 선택합니다. 스토리지 클래스, ACL, 객체 태그, 메타데이터, 서버 측 암호화 및 추가 체크섬에 대한 설정을 지정하려면 설정 지정을 선택합니다.
-
오른쪽 하단 모서리에서 복사(Copy)를 선택합니다. Amazon S3가 객체를 대상에 복사합니다.
다음 copy-object
예시 명령은 AWS CLI를 사용하여 버킷의 객체를 다른 버킷으로 복사하는 방법을 보여 줍니다. 버킷 유형 간에 객체를 복사할 수 있습니다. 이 명령을 실행하려면 사용자 입력 자리 표시자를 사용자의 정보로 대체합니다.
aws s3api copy-object --copy-source
SOURCE_BUCKET/SOURCE_KEY_NAME
--keyTARGET_KEY_NAME
--bucketTARGET_BUCKET_NAME
자세한 내용은 AWS CLI 명령 레퍼런스의 copy-object