본문 바로가기
[AWS-FRF]/S3

[중요2][AWS] S3 배치 복제로 Amazon S3 버킷의 기존 객체 복제!!

by METAVERSE STORY 2024. 9. 30.
반응형

 

 

 

학습 목표

이 자습서 개요:

  • Amazon S3 버킷에 S3 복제 구성
    • 두 개의 S3 버킷 생성
    • S3 버킷에 S3 복제 규칙 생성
    • 대상 S3 버킷 선택
    • 복제를 위한 IAM 역할 선택 또는 생성
    • 암호화 유형 지정(선택 사항)
    • 대상 S3 스토리지 클래스 선택
    • 추가 복제 옵션 활성화(선택 사항)
  •  다음과 같은 방법으로 Amazon S3 버킷의 기존 객체에 대한 S3 배치 복제를 구성합니다.
    • 버킷에 새 복제 구성을 생성하거나 기존 복제 구성에 새 대상을 추가할 때 S3 배치 복제 작업을 생성합니다.
    • S3 배치 작업 홈 페이지에서 S3 배치 복제 작업을 생성합니다(권장).
    • 기존 복제 구성 페이지에서 S3 배치 복제 작업을 생성합니다.

사전 요구 사항

이 자습서를 시작하기 전에 다음을 수행해야 합니다.

  • AWS 계정: 아직 계정이 없는 경우 AWS 환경 설정 자습서를 참조하여 만들 수 있습니다.
 

 

 

구현

1단계: 두 개의 Amazon S3 버킷 생성

1.1 계정 정보를 사용하여 AWS Management Console에 로그인합니다. 검색 창에 S3를 입력한 다음, 결과에서 S3를 선택합니다.

1.2 S3 콘솔의 왼쪽 탐색 창에서 버킷을 선택한 다음, 버킷 생성을 선택합니다.

1.3 원본 버킷에 사용할 알기 쉽고 전역적으로 고유한 이름을 입력합니다. 버킷을 생성할 AWS 리전을 선택합니다. 이 예시에서는 유럽(프랑크푸르트) eu-central-1 리전이 선택되었습니다.

1.4 버킷 버전 관리를 활성화합니다. S3 복제를 위한 원본 및 대상 S3 버킷 모두에 버킷 버전 관리가 필요합니다. 자세한 정보는 S3 버킷에서 버전 관리 사용을 참조하세요.

1.5 나머지 옵션은 기본값으로 둘 수 있습니다. 페이지
하단으로 이동하고 버킷 생성을 클릭합니다.

1.6 이전 단계를 반복하여 대상 버킷으로 사용할 또 다른 S3 버킷을 생성합니다. 이 새 버킷은 S3 동일 리전 복제(S3 SRR)를 위해 원본 버킷과 동일한 AWS 리전에 존재하거나 S3 크로스 리전 복제(S3 CRR)를 위해 다른 AWS 리전에 존재할 수 있습니다. 대상 S3 버킷에 대해 버킷 버전 관리를 활성화하고 새 버킷에 고유한 이름을 지정해야 합니다.

2단계: S3 버킷에 S3 복제 구성 생성

2.1 S3 버킷 목록에서 원본 S3 버킷을 선택합니다. 콘솔에서 S3 버킷 랜딩 페이지로 이동합니다.

2.2 S3 버킷 랜딩 페이지에서 선택한 S3 버킷의 객체, 속성, 권한, 지표, 관리, 액세스 포인트를 검토할 수 있습니다.

관리 탭의 복제 규칙에서 복제 규칙 생성을 선택합니다.

2.3 복제 규칙 이름을 입력하고 상태 섹션에서 활성화가 선택되어 있는지 확인합니다. 복제 규칙이 비활성화되면 실행되지 않습니다.

참고: Amazon S3는 모든 복제 규칙에 따라 객체 복제를 시도합니다. 하지만 대상 버킷이 같은 규칙이 두 개 이상 있는 경우 우선순위가 가장 높은 규칙에 따라 객체가 복제됩니다. 숫자가 낮을수록 우선순위가 높아집니다. 복제 구성 페이지에서 각 복제 규칙의 우선순위를 편집할 수 있습니다.  

2.4 필터 유형(접두사 또는 태그)을 정의하여 복제 범위를 좁히거나 전체 버킷을 복제하도록 선택합니다. 예를 들어 접두사 Finance를 포함하는 객체만 복제하려면 해당 범위를 지정합니다. 복제 시 객체 필터링에 대한 자세한 정보는 S3 사용 설명서에서 필터 지정 설명서를 참조하세요.

2.5 S3 탐색 버튼을 선택하고 전체 버킷 이름을 입력하여 생성한 대상 버킷을 선택합니다.

복제 설정 프로세스 중에는 새 S3 버킷을 생성할 수 없습니다.

2.6 동일한 소스 버킷에서 새 복제 규칙을 생성할 때는 이 구성과 연결된 AWS Identity and Access Management(IAM) 역할에 새 대상 버킷에 새 객체를 작성할 수 있는 충분한 권한이 있는지 확인합니다. 새 IAM 역할을 생성하거나 올바른 권한이 있는 기존 IAM 역할을 선택할 수 있습니다. 자세한 정보는 S3 복제에 대한 권한 설정 설명서를 참조하세요.

2.7 (선택 사항) Amazon S3 관리형 암호화 키(SSE-S3) 또는 AWS Key Management Service(AWS KMS)로 객체를 암호화하는 경우, 암호화 옵션을 지정합니다. S3 복제는 SSE-S3(기본 암호화), AWS KMS 서버 측 암호화(SSE-KMS) 및 고객 제공 키를 사용한 서버 측 암호화(SSE-C)를 지원합니다. AWS KMS 암호화를 선택하는 경우 원본 버킷에서 복호화하고 대상 버킷에서 다시 암호화하려면 AWS KMS 키를 제공합니다. AWS KMS 비용을 절약하기 위해 Amazon S3 버킷 키를 활성화할 수 있습니다.

2.8 (선택 사항) 대상 버킷에서 복제된 객체의 S3 스토리지 클래스를 선택합니다. 워크로드에 맞는 저렴한 스토리지 클래스를 선택하는 것이 좋습니다. 예를 들어, 예측할 수 없거나 변화하는 액세스 패턴을 가진 데이터의 스토리지 비용을 최적화하려면 Intelligent-Tiering을 선택하고, 복제된 객체에 자주 액세스하지 않지만 밀리초 단위로 검색해야 하는 경우에는 Glacier Instant Retrieval을 선택하고, 거의 액세스할 필요가 없는 데이터를 보관하려면 Glacier Deep Archive를 선택할 수 있습니다. 자세한 내용은 Amazon S3 스토리지 클래스 사용을 참조하세요.

2.9 필요한 추가 복제 옵션을 선택합니다.

  • 복제 시간 제어(RTC): S3 RTC는 객체의 99.99%를 복제할 수 있는 15분의 SLA를 제공하여 규정 준수 및 비즈니스 요구 사항을 충족하는 데 도움을 줍니다. S3 CRR 및 S3 SRR과 함께 S3 RTC를 활성화할 수 있습니다. 복제 지표 및 알림은 기본적으로 활성화됩니다.
  • 복제 지표 및 알림: 비 RTC 규칙의 경우 복제 지표 및 알림을 선택할 수 있습니다. 이 옵션은 보류 중인 바이트, 보류 중인 작업, 작업 실패, 복제 규칙의 복제 지연 시간을 분 단위로 추적할 수 있는 세부 지표를 제공합니다.
  • 삭제 마커 복제: 삭제 마커 복제를 선택하면 소스 버킷의 삭제 내용이 대상 버킷에 복제됩니다. 소스 버킷과 대상 버킷을 동기화된 상태로 유지하려는 경우에는 사용 설정해야 하지만, 우발적 또는 악의적인 삭제로부터 보호하는 것이 목적인 경우에는 설정하지 않아야 합니다.
  • 복제본 수정 동기화: 두 S3 버킷 간에 양방향 복제를 설정하려면 양방향 복제 규칙(A에서 B, B에서 A)을 생성하고 소스 및 대상 S3 버킷의 두 복제 규칙 모두에 대해 복제본 수정 동기화를 사용 설정합니다. 이렇게 하면 태그, ACL, 객체 잠금 설정과 같은 객체 메타데이터를 복제본과 소스 객체 간에 동기화된 상태로 유지할 수 있습니다.

S3 배치 복제로 기존 객체를 복제하는 동안에는 S3 RTC, 복제 지표 및 알림, 복제본 수정 동기화가 지원되지 않습니다.

복제를 구성했으면 저장을 선택합니다.  

2.10 S3 버킷의 새 복제 구성에서 첫 번째 규칙을 생성하거나 기존 구성에 새 대상 AWS 리전을 추가하는 경우, 해당 복제 규칙에 대해 기존 객체 복제를 활성화할 수 있습니다. 기존 객체를 복제하려면 예, 기존 객체를 복제합니다를 선택한 다음, 제출을 선택합니다.

콘솔에서 배치 작업 생성 페이지로 이동합니다.

3단계: 새 복제 구성을 생성하는 동안 기존 객체 복제

배치 작업 생성 페이지에서 S3 배치 작업을 검토할 수 있습니다.
작업 실행 옵션, S3 완료 보고서의 범위, 권한 등의 설정.

3.1 작업 실행 옵션을 설정합니다. S3 배치 복제 작업을 즉시 실행하려면 준비가 되면 자동으로 작업 실행을 선택하면 됩니다. 작업이 준비될 때까지 기다렸다가 실행하려면 배치 작업 매니페스트를 저장하여 복제할 객체 목록을 검토할 수 있습니다.

3.2 배치 작업 매니페스트 옵션을 설정합니다. Amazon S3에서 생성한 매니페스트 파일은 복제 구성과 동일한 원본 버킷, 접두사 및 태그를 사용하여 복제에 적합한 모든 객체 버전을 나열합니다. 복제가 시작되기 전에 객체 목록을 검토할 수 있도록 항상 배치 작업 저장 매니페스트를 선택하는 것이 좋습니다. 매니페스트를 동일하거나 다른 AWS 계정에 저장할 수 있지만 매니페스트 파일은 원본 버킷과 동일한 AWS 리전에 저장해야 합니다.

이 예에서는 매니페스트 파일을 저장하기 위해 원본 버킷과 동일한 AWS 계정에 있는 ‘aws-s3-tutorial-batch-replication-manifest-destination’ 버킷을 선택했습니다.

3.3 추가 보안을 위해 Amazon S3 관리형 키(SSE-S3) 또는 AWS 키 관리 서비스 키(SS3-KMS)를 사용하여 매니페스트 파일을 암호화합니다.

3.4 S3 배치 작업이 하나 이상의 객체를 성공적으로 처리하는 한, 배치 복제 작업이 완료, 실패 또는 취소된 후에 Amazon S3가 완료 보고서를 생성합니다. 완료 보고서에는 객체 키 이름 및 버전, 상태, 오류 코드, 오류 설명 등 각 작업에 대한 추가 정보가 포함됩니다. 이 작업으로 복제되는 모든 객체의 상태를 검토할 수 있도록 모든 작업에 대한 완료 보고서 생성을 선택하는 것이 좋습니다. 완료 보고서의 예는 예: S3 배치 작업 완료 보고서를 참조하세요.

3.5 이 배치 복제 작업과 관련된 IAM 역할에 사용자를 대신하여 S3 배치 작업을 수행할 수 있는 충분한 권한이 있는지 확인하세요. 자세한 내용은 배치 복제를 위한 IAM 정책 구성  Amazon S3 배치 작업에 대한 권한 부여 설명서를 참조하세요.

구성을 검토하고 저장을 선택합니다.

배치 작업 홈 페이지로 리디렉션됩니다.

3.6 새 작업의 작업 ID를 선택하여 작업 구성을 검토합니다. 또한 배치 복제 작업의 상태를 추적할 수 있습니다.

4단계: 기존 복제 구성으로 기존 객체 복제

이전 단계에서 설명한 대로  복제 규칙에 대한 복제 작업을 생성하는 것 외에도 S3 버킷의 기존 복제 규칙에 대한 S3 배치 복제 작업을 생성할 수도 있습니다. 이렇게 하려면 Amazon S3 콘솔 홈 페이지로 돌아가세요.

4.1 콘솔 홈 페이지의 왼쪽 탐색 창에서 배치 작업을 선택한 다음, 작업 생성을 선택합니다.

4.2 작업 생성 페이지에서 배치 복제 작업을 생성할 AWS 리전을 선택합니다. 원본 S3 버킷이 위치한 동일한 AWS 리전에서 작업을 생성해야 합니다.

4.3 복제할 객체 목록을 제공합니다. Amazon S3 인벤토리 보고서 또는 CSV 파일 형식으로 사용자 생성 매니페스트를 추가할 수 있습니다. 매니페스트에는 복제가 필요한 모든 객체 버전이 있어야 합니다. Amazon S3는 원본 버킷의 기존 S3 복제 구성을 사용하여 자동으로 매니페스트를 생성할 수도 있습니다.

참고: 이 예에서는 Amazon S3가 자동으로 매니페스트를 생성할 수 있도록 S3 복제 구성을 사용하여 매니페스트 생성을 선택하고 원본 버킷으로 ‘aws-s3-replication-tutorial-source-bucket’을 선택했습니다. Amazon S3에서 매니페스트를 자동으로 생성하도록 선택하면 객체 생성 날짜, 복제 상태 같은 추가 필터도 표시되어 작업 범위를 줄일 수 있습니다.

       4.4 (선택 사항) 배치 작업 매니페스트를 저장하기로 선택한 경우, 추가 보안 및 액세스 제어를 위해 Amazon S3 관리형 키(SSE-S3) 또는 AWS 키 관리 서비스 키(SSE-KMS)를 사용하여 매니페스트 파일을 암호화합니다.

  • 암호화 모드를 지정하지 않는 경우 Amazon S3는 매니페스트 대상 버킷의 기본 암호화 설정을 사용하여 매니페스트 파일을 암호화합니다.
  • 대상 버킷에 기본 암호화가 활성화되어 있지 않은 경우 Amazon S3는 SSE-S3를 사용하여 매니페스트 파일을 암호화합니다.

 

 

4.5 다음을 선택하여 작업 선택 페이지로 이동합니다.

4.6 이전 페이지에서 S3 복제 구성을 사용하여 매니페스트 생성을 선택한 경우 유일한 작업 옵션은 복제입니다. 복제가 S3에서 생성한 매니페스트를 사용하는 동안 허용되는 유일한 작업이기 때문입니다. 복제를 선택한 후 다음을 선택합니다.

4.7 추가 옵션 구성:

  • 설명을 입력하여 작업의 목적을 가장 잘 정의합니다.
  • 우선순위를 선택하여 계정에서 실행 중인 다른 작업과 이 작업의 상대적 우선순위를 지정합니다. 숫자가 클수록 우선순위가 높습니다. 예를 들어 우선순위가 2인 작업이 우선순위가 1인 작업보다 우선순위가 높습니다. S3 배치 작업은 우선순위 숫자에 따라 작업의 우선순위를 지정하지만 엄격한 순서는 보장되지 않습니다. 따라서 특정 작업이 다른 작업보다 먼저 시작되거나 완료되도록 작업 우선순위를 사용해서는 안 됩니다. 엄격한 순서를 보장해야 하는 경우, 한 작업이 완료될 때까지 기다렸다가 다음 작업을 시작하세요.

4.8 완료 보고서를 생성할지 여부를 선택합니다. 

4.9 유효한 배치 작업 IAM 역할을 선택하여 Amazon S3에 자동으로 작업을 수행할 권한을 부여하세요.

또한 배치 복제 IAM 정책을 배치 작업 IAM 역할에 연결해야 합니다. 유효한 IAM 역할 및 정책을 생성하려면 배치 복제를 위한 IAM 정책 구성을 참조하세요.

4.10 배치 복제 작업에 작업 태그를 추가한 후, 다음을 선택하여 작업 구성을 검토합니다.

 

4.11 검토 페이지에서 편집을 선택하여 변경한 후 다음을 선택하여 변경 사항을 저장하고 검토 페이지로 돌아갑니다.

작업이 준비되면 작업 생성을 선택합니다.  

 

4.12 배치 복제 작업이 생성된 후 배치 작업은 매니페스트를 처리합니다. 성공하면 작업 상태가 실행 확인 대기 중으로 변경됩니다. 작업을 실행하려면 먼저 작업의 세부 정보를 확인해야 합니다.

작업이 성공하면 배치 작업 페이지 상단에 배너가 표시됩니다.

5단계: S3 복제 구성 페이지에서 배치 복제 작업 생성

5.1 S3 버킷 목록에서 복제 소스로 구성할 S3 버킷을 선택합니다.

콘솔에서 S3 버킷 랜딩 페이지로 이동합니다.

5.2 선택한 S3 버킷의 객체, 속성, 권한, 지표, 관리, 액세스 포인트를 검토합니다.

5.3 관리 탭의 복제 규칙에서 복제 구성 보기를 선택합니다.

5.4 원본 버킷의 복제 구성 홈 페이지에서 복제 작업 생성을 선택하여 S3 배치 작업의 작업 생성 페이지로 이동합니다. 이전 단계를 반복하여 기존 복제 구성에서 배치 복제 작업을 생성합니다.

6단계: S3 배치 복제 작업의 진행 상태 모니터링

배치 복제 작업이 생성되어 실행된 후에는 일련의 상태로 진행됩니다. 배치 작업 홈 페이지에서 이러한 상태를 참조하여 배치 복제 작업의 진행 상태를 추적할 수 있습니다.

예를 들어, 작업이 생성되면 신규 상태이고, Amazon S3에서 매니페스트 및 기타 작업 파라미터를 처리할 때는 준비 상태로 전환된 다음, 실행 준비가 되면 준비 상태로, 진행 중이면 활성, 마지막으로 처리가 완료되면 완료 상태로 전환됩니다. 전체 작업 상태 목록은 배치 작업 상태를 참조하세요.

배치 복제 작업을 생성할 때 완료 보고서를 생성하여 객체 복제의 상태를 추적할 수 있습니다. 완료 보고서는 작업이 완료, 실패 또는 취소된 후 Amazon S3에서 생성하는 CSV 파일입니다. 단, S3 배치 작업을 통해 하나 이상의 작업이 성공적으로 간접적으로 호출된 경우에 한합니다.

또한 복제 규칙에 대해 복제 지표 또는 S3 Replication Time Control(S3 RTC)을 활성화한 경우 Amazon S3 콘솔 및 Amazon CloudWatch 콘솔에서 작업 실패 복제 지표를 사용하여 분당 실패한 작업 수를 검토할 수 있습니다. 자세한 내용은 S3 배치 작업 완료 보고서  S3 복제 지표로 진행 상태 모니터링을 참조하세요.

7단계: 리소스 정리

테스트 객체 삭제

  1. AWS Management Console 세션에서 로그아웃한 경우 다시 로그인합니다.
  2. S3 콘솔로 이동하여 버킷 메뉴 옵션을 선택합니다.
  3. 먼저 테스트 버킷에서 테스트 객체를 삭제해야 합니다. 이 자습서에서 작업한 버킷을 선택합니다.
  4. 테스트 객체를 선택한 다음 삭제를 선택합니다.
  5. 객체 삭제 페이지에서 삭제할 객체를 올바르게 선택했는지 확인하고 확인 필드에 delete를 입력한 다음 객체 삭제를 선택합니다.

페이지 상단의 배너는 삭제에 성공했음을 나타냅니다.

테스트 버킷 삭제

  1. 계정의 버킷 목록으로 돌아갑니다.
  2. 이 자습서용으로 생성한 원본 버킷의 왼쪽에 있는 반원형 버튼을 선택한 후 삭제를 선택합니다.
  3. 확인 필드에 버킷 이름을 입력하고 버킷 삭제를 선택합니다.
  4. 이러한 단계를 반복하여 이 자습서의 일부로 생성한 대상 버킷을 삭제합니다.

페이지 상단의 배너는 삭제에 성공했음을 나타냅니다.

결론

축하합니다! S3 배치 복제를 사용해 원본에서 대상 S3 버킷으로 기존 객체를 복제하여 새로 생성된 버킷을 기존 객체로 백필하고, 이전에 복제된 객체를 복제하고, 과거에 복제에 실패한 객체를 복제하는 방법을 배웠습니다. S3 배치 복제를 사용하는 경우 S3에서 생성한 매니페스트를 사용하여 복제할 객체를 자동으로 나열하는 것이 좋습니다. 또한 향후 검토 및 분석을 위해 복제 매니페스트를 저장해야 합니다. 마지막으로, 완료 보고서를 생성하여 S3 배치 복제로 복제하는 객체의 상태를 추적하는 것이 좋습니다.

 

 

 

https://aws.amazon.com/ko/getting-started/hands-on/replicate-existing-objects-with-amazon-s3-batch-replication/

 

Amazon S3 배치 복제로 기존 객체 복제

 

aws.amazon.com

 

반응형

댓글