개요
Amazon S3 복제는 Amazon S3 버킷 간에 객체를 복제하는 탄력적이고 저렴한 완전관리형 기능입니다. S3 복제를 사용하면 동일한 AWS 리전 또는 다른 AWS 리전에서 하나의 소스 버킷에서 여러 대상 버킷으로 데이터를 복제할 수 있습니다. 데이터 보호를 위해 데이터의 보조 복사본을 유지 관리하거나 사용자에게 최저 지연 시간을 제공하기 위해 여러 지역에 데이터를 보관하려는 경우, S3 복제를 사용하면 비즈니스 요구 사항을 충족하는 데 필요한 제어 기능을 활용할 수 있습니다. 이 Amazon S3 시작 안내서에서는 S3 동일 리전 복제(SRR), S3 크로스 리전 복제(CRR), S3 Replication Time Control(S3 RTC), S3 배치 복제를 통해 S3 복제 모범 사례를 따르는 방법을 보여줍니다.
S3 동일 리전 복제(SRR)를 사용하면 동일한 AWS 리전 내 버킷 간에 데이터를 자동으로 복제하여 로그를 단일 버킷으로 집계하고, 개발자와 테스트 계정 간에 복제하고, 데이터 주권법을 준수할 수 있습니다. S3 크로스 리전 복제(S3 CRR)를 사용하면 객체(객체의 메타데이터와 객체 태그 포함)를 다른 AWS 리전에 복제하여 지연 시간 최소화, 규정 준수, 보안, 재해 복구 및 기타 용도로 사용할 수 있습니다. 또한 S3 Replication Time Control(S3 RTC)을 활성화하여 데이터 복제에 대한 규정 준수 또는 비즈니스 요구 사항을 충족할 수 있습니다. S3 RTC는 Amazon S3에 업로드되는 대부분의 객체를 몇 초 만에 복제하며, 해당 객체의 99.99%가 15분 이내에 복제됩니다. 기존 객체를 복제하려면 S3 배치 복제를 사용하여 새로 생성된 버킷을 기존 객체로 백필하거나, 이전에 복제할 수 없었던 객체의 복제를 재시도하거나, 계정 간에 데이터를 마이그레이션하거나, 새 버킷을 데이터 레이크에 추가할 수 있습니다. S3 복제에 대한 자세한 정보는 Amazon S3 사용 설명서의 객체 복제 섹션을 참조하세요. 이 자습서를 마치면 Amazon S3 복제를 사용하여 AWS 리전 내부 및 리전 간에 데이터를 복제할 수 있게 됩니다.
학습 목표
이 자습서의 개요
- S3 버킷 생성
- S3 버킷에 S3 복제 규칙 생성
- 대상 S3 버킷 선택
- 복제를 위한 IAM 역할 선택 또는 생성
- 암호화 유형 지정(선택 사항)
- 대상 S3 스토리지 클래스 선택
- 추가 복제 옵션 활성화(선택 사항)
사전 요구 사항
이 자습서를 완료하려면 AWS 계정이 필요합니다. 새 AWS 계정을 만들고 활성화하는 방법에 대한 자세한 내용은 이 지원 페이지를 참조하세요.
AWS 경험
초보자
소요 시간
20분
완료 비용
1 USD 미만(Amazon S3 요금 페이지)
필요 사항
사용 서비스
최종 업데이트 날짜
2022년 10월 17일
구현
1단계: Amazon S3 버킷 생성
1.1 - Amazon S3 콘솔에 로그인
- 아직 계정을 만들지 않은 경우 AWS 계정을 만듭니다.
- 계정 정보를 사용하여 AWS Management Console에 로그인합니다.
- AWS Console 서비스 검색 창에 S3를 입력합니다. 서비스 검색 결과 섹션에서 S3를 선택합니다.
1.2 - S3 버킷 생성
- 왼쪽 탐색 창의 Amazon S3 메뉴에서 버킷을 선택하고 버킷 생성 버튼을 선택합니다.
1.3
- 버킷에 사용할 알기 쉽고 전역적으로 고유한 이름을 입력합니다. 버킷을 생성할 AWS 리전을 선택합니다. 이 예시에서는 유럽(프랑크푸르트) eu-central-1 리전이 선택되었습니다. S3 복제를 사용하려면 소스 및 대상 S3 버킷 모두에 대해 버킷 버전 관리를 활성화해야 합니다. 자세한 정보는 S3 버킷에서 버전 관리 사용을 참조하세요.
- 나머지 옵션은 기본값으로 둘 수 있습니다. 페이지 하단으로 이동하고 버킷 생성을 클릭합니다.
1.4
- 위 단계를 반복하여 객체 복제를 위한 대상 버킷으로 사용할 또 다른 S3 버킷을 생성합니다. 대상 S3 버킷에 대해서도 버킷 버전 관리를 활성화해야 합니다.
2단계: S3 버킷에 S3 복제 생성
2.1 - 소스 S3 버킷 선택
- S3 버킷 목록에서 복제 소스로 구성할 S3 버킷을 선택합니다.
2.2
소스 S3 버킷을 선택하면 다음 스크린샷과 같이 콘솔이 S3 버킷 랜딩 페이지로 이동합니다. 여기에서 선택한 S3 버킷의 객체, 속성, 권한, 지표, 관리, 액세스 포인트를 검토할 수 있습니다.
2.3 - 선택한 S3 버킷에 대한 S3 복제 규칙 생성
- 복제 소스 버킷의 관리 탭을 선택합니다. 관리에서 복제 규칙을 볼 수 있습니다. 복제 규칙 생성을 선택합니다.
3단계: 복제 규칙 구성
3.1 - 복제 규칙 활성화
- 복제 규칙 이름을 입력하고 상태 섹션에서 활성화됨을 선택하여 복제 규칙을 활성화합니다. 복제 규칙이 비활성화되어 있으면 이 기능이 실행되지 않습니다.
우선순위는 둘 이상의 복제 규칙이 충돌할 때마다 어떤 규칙이 우선하는지를 나타냅니다. 복제 구성 페이지에서 각 복제 규칙의 우선순위를 편집할 수 있습니다. Amazon S3는 모든 복제 규칙에 따라 객체 복제를 시도합니다. 그러나 대상 버킷이 같은 규칙이 두 개 이상 있는 경우 우선순위가 가장 높은 규칙에 따라 객체가 복제됩니다. 우선순위가 1인 규칙은 우선순위가 2인 규칙보다 먼저 실행됩니다. 숫자가 낮을수록 우선순위가 높아집니다. 예를 들어 foo1 태그가 있는 모든 객체를 복제하는 복제 규칙과 foo2 태그가 있는 모든 객체를 복제하는 또 다른 복제 규칙이 있다고 가정해 보겠습니다. 한 객체에 foo1 태그와 foo2 태그가 지정된 경우 우선순위가 더 높은 복제 규칙으로만 복제됩니다. 한 복제 규칙에 대상 버킷이 하나만 지정된 경우 우선순위는 고려되지 않습니다.
3.2 - 복제할 대상 선택
- 필터 유형(접두사 또는 태그)을 정의하여 복제 범위를 좁히거나 전체 버킷을 복제하도록 선택합니다. 예를 들어 접두사 “Finance”에 있는 객체만 복제하려면 해당 범위를 지정합니다. 복제 시 객체 필터링에 대한 자세한 정보는 S3 사용 설명서에서 필터 지정 설명서를 참조하세요.
3.3 - 대상 S3 버킷 선택
- S3 찾아보기 버튼을 선택하여 대상 버킷을 선택합니다. 동일한 AWS 리전 또는 다른 AWS 리전, 동일한 AWS 계정 또는 다른 AWS 계정의 대상 버킷에 복제할 수 있습니다. 복제를 구성하려면 서로 다른 두 개의 S3 버킷이 필요하며, 두 버킷(소스 및 대상) 모두 S3 버전 관리를 활성화해야 합니다. S3 콘솔은 복제 설정 프로세스에서 새 S3 버킷을 생성하는 방법을 제공하지 않습니다. 이 예시에서는 대상 버킷을 “aws-s3-replication-tutorial-destination-bucket”으로 선택했습니다.
3.4 - IAM 고려 사항
- 동일한 소스 버킷에서 새 복제 규칙을 생성할 때는 이 구성과 연결된 IAM 역할에 새 대상 버킷에 새 객체를 작성할 수 있는 충분한 권한이 있는지 확인해야 합니다. 새 IAM 역할을 생성하거나 올바른 권한이 있는 기존 IAM 역할을 선택할 수 있습니다. 자세한 정보는 S3 복제에 대한 권한 설정에 대한 설명서를 참조하세요.
3.5 - 암호화 옵션 (객체가 암호화되지 않은 경우 이 단계를 건너뜀)
- Amazon S3 관리형 암호화 키(SSE-S3) 또는 AWS Key Management Service(AWS KMS)로 객체를 암호화하는 경우, 복제를 설정할 때 암호화 옵션을 지정해야 합니다. S3 복제는 SSE-S3(기본 암호화) 및 AWS KMS 서버 측 암호화를 지원합니다. AWS KMS 암호화를 선택하는 경우 소스에서 복호화하고 대상에서 다시 암호화하려면 AWS KMS 키를 제공해야 합니다. AWS KMS 비용을 절약하기 위해 Amazon S3 버킷 키를 활성화할 수도 있습니다.
3.6 - 대상으로 사용할 S3 스토리지 클래스 선택
- 이제 대상 버킷에서 복제된 객체에 대해 다른 S3 스토리지 클래스를 선택할 수 있습니다. 워크로드에 맞는 저렴한 스토리지 클래스를 선택하는 것이 좋습니다. 예를 들어, 복제된 객체에 자주 액세스하지 않지만 밀리초 단위로 검색해야 하는 경우 S3 Glacier Instant Retrieval 스토리지 클래스를 선택하고, 거의 액세스할 필요가 없는 데이터를 보관하려면 S3 Glacier Deep Archive를, 예측할 수 없거나 변화하는 액세스 패턴을 가진 데이터의 스토리지 비용을 최적화하려면 S3 Intelligent-Tiering을 선택할 수 있습니다. 자세한 정보는 Amazon S3 스토리지 클래스 사용에 대한 설명서를 참조하세요.
3.7 - 추가 복제 옵션
- 활성화할 수 있는 추가 복제 옵션에는 S3 Replication Time Control(S3 RTC), 복제 지표 및 알림, 삭제 마커 복제, 복제본 수정 동기화가 있으며, 이 중에서 추가 복제 옵션을 선택합니다. S3 RTC는 객체의 99.99%를 복제할 수 있는 15분의 SLA를 제공하여 규정 준수 및 비즈니스 요구 사항을 충족하는 데 도움을 줍니다. RTC는 S3 크로스 리전 복제(S3 CRR) 및 S3 동일 리전 복제(S3 SRR)와 함께 사용하도록 설정할 수 있으며 기본적으로 복제 지표 및 알림이 활성화되어 있습니다. 비 RTC 규칙의 경우 복제 지표 및 알림을 선택할 수 있습니다. 이 옵션은 보류 중인 바이트, 보류 중인 작업, 복제 규칙의 복제 지연 시간을 분 단위로 추적할 수 있는 세부 지표를 제공합니다. 삭제 마커 복제를 선택하면 소스 버킷의 삭제 내용이 대상 버킷에 복제됩니다. 소스 버킷과 대상 버킷을 동기화된 상태로 유지하려는 경우에는 활성화해야 하지만, 우발적 또는 악의적인 삭제로부터 보호하는 것이 목적인 경우에는 설정하지 않아야 합니다. 두 S3 버킷 간에 양방향 복제를 설정하려면 양방향 복제 규칙(A에서 B, B에서 A)을 생성하고 소스 및 대상 S3 버킷의 두 복제 규칙 모두에 대해 복제본 수정 동기화를 활성화합니다. 이렇게 하면 태그, ACL, 객체 잠금 설정과 같은 객체 메타데이터를 복제본과 소스 객체 간에 동기화된 상태로 유지할 수 있습니다.
- 복제 구성을 검토하고 저장을 선택합니다.
4단계: 동일한 소스 S3 버킷에서 다른 대상 S3 버킷으로 또 다른 S3 복제 규칙을 생성합니다.
- 이전 단계를 반복하여 동일한 소스 S3 버킷에서 다른 대상 S3 버킷으로 또 다른 S3 복제 규칙을 생성합니다. 복제 규칙 이름을 입력하고 상태 섹션에서 활성화됨을 선택하여 복제 규칙을 활성화합니다. 복제 규칙의 범위를 정하여 복제할 대상을 선택합니다.
- S3 찾아보기 버튼을 선택하여 대상 버킷을 선택합니다. 이 예시에서는 대상 버킷을 “ack-test-bucket-us-east-1”로 선택했습니다.
- 대상 S3 스토리지 클래스를 선택합니다. 이 예시에서는 대상 버킷의 S3 Standard 스토리지 클래스에 복제하기로 선택했습니다.
- 복제 규칙에 대해 추가 복제 옵션을 선택합니다. 이 예시에서는 S3 Replication Time Control(S3 RTC)을 사용하도록 설정했습니다.
5단계: 복제 구성 검토
복제 규칙을 저장하면 다음 스크린샷과 같이 S3 복제 랜딩 페이지로 돌아갑니다. 여기서는 다양한 복제 규칙, 규칙 우선순위, 추가 옵션(예: 암호화 및 RTC)을 포함한 복제 구성을 검토할 수 있습니다.
다음으로 새 객체를 복제 소스 버킷에 업로드하여 새로 추가된 복제 구성을 테스트합니다. 새 대상 버킷에 복제된 객체가 보이는지 확인합니다. 복제 지표가 S3 콘솔에 표시되는 데 몇 분 정도 걸릴 수 있습니다.
6단계: 복제 진행 상황 모니터링
6.1
이제 이 버킷에 대한 복제를 구성했으므로 대상별 지표 및 알림을 추적할 수 있습니다. 소스 버킷의 지표 탭을 엽니다.
6.2
아래로 이동하여 복제 지표를 확인하고 모니터링할 복제 규칙을 하나 이상 선택합니다. 차트 표시를 선택하면 모든 복제 규칙에 대해 복제 보류 중인 작업, 복제 보류 중인 바이트, 복제 지연 시간을 확인할 수 있습니다.
또한 CloudWatch에서 보기 링크를 사용하여 Amazon CloudWatch에서 복제 지표를 볼 수 있습니다. 여기에서 각 복제 규칙, 소스 버킷, 대상 버킷에 대한 복제 지표를 한 곳에서 종합적으로 볼 수 있습니다. 또한 실행 가능한 인사이트를 수집할 수 있으며, 지표를 모니터링하도록 경보를 설정할 수 있습니다. 자세한 정보는 Amazon CloudWatch 경보 사용을 참조하세요.
7단계: 개별 객체의 복제 상태 모니터링
Amazon S3 인벤토리를 사용하여 비즈니스, 규정 준수, 규제 관련 요건을 충족하기 위해 객체의 상태를 감사하고 보고할 수 있습니다. 복제 상태는 복제 중인 객체의 현재 상태를 확인하는 데 도움이 될 수 있습니다. 소스 객체의 복제 상태는 Pending, Completed 또는 Failed로 표시됩니다. 복제본의 복제 상태는 Replica를 반환합니다. 복제 상태에 대한 자세한 정보는 복제 상태 정보 가져오기를 참조하세요. Amazon S3 인벤토리 보고서를 구성하는 방법에 대한 자세한 정보는 Amazon S3 인벤토리 및 Amazon Athena를 사용하여 대규모로 데이터를 관리하고 분석하는 방법에 대한 설명서를 참조하세요.
8단계: 리소스 정리
8.1 - 테스트 객체 삭제
- AWS Management Console 세션에서 로그아웃한 경우 다시 로그인합니다. S3 콘솔로 이동하여 버킷 메뉴 옵션을 선택합니다. 먼저 테스트 버킷에서 테스트 객체를 삭제해야 합니다. 이 자습서에서 작업한 버킷의 이름을 선택합니다.
- 테스트 객체 이름 왼쪽의 확인란을 선택한 후 삭제 버튼을 선택합니다.
- 객체 삭제 페이지에서 삭제할 객체를 올바르게 선택했는지 확인하고 객체 영구 삭제 확인 상자에 delete를 입력합니다. 그런 다음 객체 삭제 버튼을 선택하여 계속 진행합니다.
- 그러면 삭제 성공 여부를 나타내는 배너가 표시됩니다.
8.2 - 테스트 버킷 삭제
- 마지막으로, 생성한 테스트 버킷을 삭제해야 합니다. 계정의 버킷 목록으로 돌아갑니다. 이 자습서용으로 생성한 소스 버킷의 왼쪽에 있는 라디오 버튼을 선택한 후 삭제 버튼을 선택합니다.
- 경고 메시지를 살펴봅니다. 이 버킷을 삭제하려면 버킷 삭제 확인 상자에 버킷 이름을 입력하고 버킷 삭제를 선택합니다.
- 이전 단계를 반복하여 이 자습서의 일부로서 생성한 대상 버킷도 삭제합니다. 계정의 버킷 목록으로 돌아갑니다. 이 자습서용으로 생성한 소스 버킷의 왼쪽에 있는 라디오 버튼을 선택한 후 삭제 버튼을 선택합니다.
- 경고 메시지를 살펴봅니다. 이 버킷을 삭제하려면 버킷 삭제 확인 상자에 버킷 이름을 입력하고 버킷 삭제를 선택합니다.
결론
축하합니다! S3 복제를 사용하여 하나 또는 여러 AWS 리전 간에 소스에서 대상 S3 버킷으로 객체를 복제하여 규정 준수 요구 사항을 충족하고, 지연 시간을 최소화하며, 운영 효율성을 높이는 방법을 배웠습니다.
S3 복제는 완전관리형이며 저렴한 정책 기반 스토리지 관리 기능으로 수동 개입이 거의 또는 전혀 필요하지 않도록 설계되었습니다. 각 복제 규칙에 대한 지표 및 알림을 활성화하고, 소스 버킷에서 Amazon S3 이벤트 알림을 켜고, 적절한 Amazon CloudWatch 지표 및 알림을 활성화하는 것이 좋습니다. 이렇게 설정해 두면 하나 이상의 S3 버킷에 대한 S3 복제의 진행 상황을 추적할 수 있습니다.