Amazon Web Services 한국 블로그

Amazon S3 Batch Replication – 객체 복제 배치 작업

오늘부터 기존 Amazon Simple Storage Service(Amazon S3) 객체를 복제하고 새로 나온 Amazon S3 Batch Replication 기능을 사용해 버킷을 동기화할 수 있습니다.

Amazon S3 Replication은 여러 가지 고객 사용 사례를 지원합니다. 예를 들어 사용자와 지리적으로 가까운 AWS 리전에 데이터 사본을 유지관리하여 지연 시간을 최소화하는 데 사용할 수도 있고, 규정 준수 및 데이터 주권 요구 사항에 부합하는 데 사용해도 되며 재해 복구 계획을 위해 복원력을 보강하는 데 사용할 수도 있습니다. S3 Replication은 여러 버킷 사이에 새로 업로드된 객체를 복제하는 완전관리형, 저가 기능입니다. 버킷은 같은 계정에 속할 수도 있고, 서로 다른 계정에 속할 수도 있습니다. 객체를 하나의 대상 버킷에 복제할 수도 있고 여러 개의 대상 버킷에 복제할 수도 있습니다. 대상 버킷은 서로 다른 AWS 리전에 있을 수도 있고(리전 간 복제), 소스 버킷과 같은 리전 내에 속해도 됩니다(동일 리전 복제).

Replication 흐름

다만 지금까지는 S3 Replication으로 기존 객체를 복제할 수는 없었습니다. 이 작업은 이제 S3 Batch Replication을 사용하면 가능합니다.

고객이 기존 객체를 복제하고자 하는 데는 여러 가지 이유가 있습니다. 예컨대 재해 복구 설정용으로 데이터를 새 AWS 리전에 복사하고자 할 수 있습니다. 이렇게 하려면 새 대상 버킷에 기존 데이터를 채워야 합니다. 기존 데이터를 복사하는 또 다른 이유로는 세계적으로 활동 범위를 확장 중인 기업을 들 수 있습니다. 예를 들어 미국에 거점을 둔 어느 애니메이션 회사에서 싱가포르에 새로 스튜디오를 연다고 가정해 보겠습니다. 자사 직원을 위해 지연 시간을 줄이려면 사내 파일과 진행 중인 미디어 파일을 모두 아시아 태평양(싱가포르) 리전에 복제해야 합니다. 한 가지 또 다른 보편적인 사용 사례로는 인수 합병을 진행 중인 고객이 있습니다. 기존 데이터 소유권을 한 AWS 계정에서 다른 계정으로 전송해야 하는 경우입니다.

여러 버킷을 오가며 기존 객체를 복제하려다 보니 복잡한 프로세스가 생기게 됩니다. 또한 여러 버킷 간에 객체를 복사하면 버전 ID나 객체 생성 시간과 같은 객체 메타데이터가 보전되지 않습니다.

그런 의미에서 오늘은 S3 Batch Replication이라는 새 기능 출시라는 반가운 소식을 전하게 되었습니다. 이 기능은 S3 Batch Operations를 통해 제공되며, 고객이 여러 버킷을 오가며 기존 객체를 복사하려고 자체적으로 솔루션을 개발할 필요가 없게 해줍니다. 소스 버킷에서 기존 데이터를 하나 이상의 대상으로 간편하게 복제할 방법을 제공하는 기능입니다. 이 기능을 이용하면 한 작업만으로 객체를 얼마든지 복제할 수 있습니다.

Amazon S3 Batch Replication을 사용하면 좋은 경우
S3 Batch Replication은 다음과 같은 경우에 사용하면 좋습니다.

  • 기존 객체 복제 – S3 Batch Replication을 사용하여 복제 규칙을 구성하기 전에 버킷에 추가된 객체를 복제합니다.
  • 이전에 복제하지 못한 객체 복제 – 권한이 부족하거나 여타 이유로 인해 S3 Replication 규칙으로 이전에 복제하려다 실패한 객체 복제를 다시 시도합니다.
  • 이미 다른 대상에 복제된 객체 복제 – 데이터 사본을 여러 개 만들어 별도의 AWS 계정이나 리전에 저장해야 할 수 있습니다. S3 Batch Replication은 이미 새 대상에 복제된 객체도 복제할 수 있습니다.
  • 복제 규칙을 따라 생성된 객체의 복제본 복제 – S3 Replication은 대상 버킷에 속한 객체의 복제본을 생성합니다. 객체의 복제본은 라이브 복제로는 다시 복제되지 않습니다. 이러한 복제본 객체는 S3 Batch Replication으로만 복제됩니다.

S3 Batch Replication 시작하기
S3 콘솔에서 S3 Batch Replication을 시작하는 방법은 여러 가지입니다. Replication 구성 페이지나 Batch Operations 작업 생성 페이지에서 작업을 생성하면 됩니다. 또한 새 복제 규칙을 생성하거나 새 대상 버킷을 추가해도 기존 객체를 복제하라는 프롬프트 메시지가 표시됩니다.

이 데모에서는 기존 객체가 있는 버킷에서 복제 규칙을 생성한다고 가정합시다. 규칙 생성을 마치면 메시지가 표시되어 기존 객체를 복제하겠느냐고 묻습니다.

기존 객체를 복제하고자 하는지 묻는 프롬프트 메시지

여기에 라고 답하는 경우, 단순한 [Create Batch Operations job](Batch Operations 작업 생성) 페이지로 이동하게 됩니다. 이 작업이 준비를 마친 다음 자동으로 실행되기를 원하는 경우, 기본 옵션을 그대로 두면 됩니다. 작업을 실행하기에 앞서 매니페스트나 작업 세부 정보를 검토하고자 하는 경우, [Wait to run the job when it’s ready](작업이 준비를 마치면 실행하기 위해 대기)를 선택합니다.

이런 식으로 작업을 생성하면 복제할 객체의 매니페스트를 자동으로 생성합니다. 매니페스트란 주어진 소스 버킷에서 복제 규칙을 적용할 객체 목록입니다. 생성된 매니페스트 보고서는 Amazon S3 Invetory Report와 형식이 같습니다.

Batch Operations 작업 보기 생성

S3 Batch Replication은 완료 보고서를 생성하는데, 이것은 다른 Batch Operations 작업과 비슷하며 복제 작업 결과에 관한 정보가 담겨 있습니다. 이 옵션을 선택하고, 이 보고서를 저장할 버킷을 지정하는 것이 좋습니다.

완료 보고서 구성

마지막 단계로 이 배치 작업을 생성하기 위한 권한을 구성해야 합니다. 기본 설정을 그대로 두면 Amazon S3가 사용자 대신 새 AWS Identity and Access Management(IAM) 역할을 만들어 줍니다.

권한 구성

이 작업을 저장한 뒤, [Batch Operations] 페이지에서 작업 상태를 확인합니다. 작업이 진행되면서 상태가 변경되는 양상, 복제된 파일의 백분율과 복제에 실패한 파일의 총 수 등이 표시됩니다.

기존 객체는 신규 객체보다 복제하는 데 시간이 오래 걸릴 수 있고, 복제 속도는 주로 AWS 리전, 데이터 크기, 객체 수와 암호화 유형에 따라 달라진다는 점을 유의하시기 바랍니다.

작업 상태 페이지

Batch Replication 작업이 완료되면 완료 보고서를 저장한 버킷으로 이동하여 객체 복제 상태를 확인할 수 있습니다. 보고서는 Amazon S3 Inventory Report와 같은 형식입니다.

보고서와 매니페스트 찾기

요금 및 가용성
이 기능을 사용하면 요청에 대한 복제 요금, 리전 간 데이터 전송 요금,
배치 작업 요금과 매니페스트 생성 요금(선택한 경우) 등이 부과됩니다.

또한 대상 버킷에 복제한 데이터를 저장하는 데 드는 스토리지 비용을 부과하며 AWS KMS를 사용해 객체를 복제한 경우 AWS KMS 요금도 부과합니다. 자세한 내용은 S3 요금 페이지의 Replication 탭에서 확인할 수 있습니다.

S3 Batch Replication은 모든 AWS 리전에서 제공되며 여기에는 AWS GovCloud 리전, AWS 중국(베이징) 리전(Sinnet에서 운영), AWS 중국(닝샤) 리전(NWCD에서 운영)을 포함합니다. 시작하려면 Amazon S3 콘솔, CLI, S3 API 또는 AWS SDK 클라이언트를 사용하면 됩니다.

S3 Batch Replication에 대한 자세한 내용은 Amazon S3 사용 설명서를 참조하세요.

Marcia