객체 복사

객체 복사 (Copy objects)

S3에 아주 많은 객체를 한 번에 처리해야 할 일이 있죠. S3 Batch Operations의 Copy 작업은 매니페스트에 지정된 객체를 하나씩 복사해 줘요. 같은 리전 안의 버킷으로도, 다른 리전의 버킷으로도 복사할 수 있고요. 객체를 대량으로 옮길 때 아주 편리합니다.

출처: 문서

본문

Amazon S3 Batch Operations를 쓰면 S3 객체에 대해 대규모 배치 작업을 수행할 수 있어요. Batch Operations의 Copy 작업은 매니페스트(manifest)에 지정된 각 객체를 복사해요. 객체를 같은 AWS 리전의 버킷 혹은 다른 리전의 버킷으로 복사할 수 있죠. S3 Batch Operations는 Amazon S3에서 객체를 복사할 때 지원되는 대부분의 옵션을 지원합니다. 객체 메타데이터 설정, 권한 설정, 객체의 스토리지 클래스 변경 같은 옵션들이 여기에 포함돼요.

Copy 작업을 이용해 기존의 암호화되지 않은 객체를 복사해서, 같은 버킷에 암호화된 객체로 다시 쓸 수도 있어요. 자세한 내용은 Encrypting objects with Amazon S3 Batch Operations 문서를 참고하세요.

객체를 복사할 때 객체의 체크섬을 계산하는 데 쓰는 체크섬 알고리즘도 바꿀 수 있어요. 객체에 추가 체크섬이 계산되어 있지 않다면, Amazon S3가 사용할 체크섬 알고리즘을 지정해서 새로 추가할 수도 있죠. 자세한 내용은 Checking object integrity in Amazon S3 문서를 참고하세요.

Amazon S3에서 객체를 복사하는 방법과 필수·선택 매개변수에 대한 자세한 내용은 이 가이드의 Copying, moving, and renaming objects 문서와 Amazon Simple Storage Service API Reference의 CopyObject를 참고하세요.

제약 사항과 한계

Batch Operations Copy 작업을 사용할 때는 다음 제약 사항과 한계가 적용돼요.

  • 모든 소스 객체는 한 버킷 안에 있어야 해요.
  • 모든 대상 객체는 한 버킷 안에 있어야 해요.
  • 소스 버킷에 대한 읽기 권한과 대상 버킷에 대한 쓰기 권한이 있어야 해요.
  • 복사할 객체의 크기는 최대 5GB까지 지원돼요.
  • S3 Glacier Flexible Retrieval이나 S3 Glacier Deep Archive 클래스에서 S3 Standard 스토리지 클래스로 객체를 복사하려면, 먼저 그 객체들을 복원(restore)해야 해요. 자세한 내용은 Restoring an archived object 문서를 참고하세요.
  • Batch Operations Copy 작업은 객체를 복사하려는 대상 리전, 즉 목적지 리전에서 만들어야 해요.
  • 엔티티 태그(ETag)에 대한 조건부 검사와 고객 제공 암호화 키를 사용한 서버 측 암호화(SSE-C)를 제외하고는 모든 CopyObject 옵션이 지원돼요.
  • 대상 버킷이 버전 관리되지 않는 버킷이라면, 같은 키 이름을 가진 객체는 덮어써져요.
  • 객체는 매니페스트에 나타난 순서와 반드시 같은 순서로 복사되지는 않아요. 버전 관리되는 버킷에서 현재/비현재 버전의 순서를 지키는 게 중요하다면, 먼저 모든 비현재 버전을 복사하세요. 그런 다음 첫 작업이 끝나면, 이어지는 작업에서 현재 버전을 복사하면 돼요.
  • Reduced Redundancy Storage(RRS) 클래스로의 객체 복사는 지원되지 않아요.
  • 단일 Batch Operations Copy 작업은 최대 200억 개 객체의 매니페스트를 지원할 수 있어요.