복제 요구 사항 및 고려 사항
복제 요구 사항 및 고려 사항 (Requirements and considerations for replication)
Amazon S3 복제는 특정 요구 사항을 충족해야 해요. 복제 구성을 만들기 전에 여러 고려 사항도 확인해야 해요.
출처: 문서
본문
Amazon S3 복제에는 다음이 필요해요.
- 원본 버킷 소유자는 계정에 원본 및 대상 AWS 리전이 모두 활성화되어 있어야 해요. 대상 버킷 소유자는 계정에 대상 리전이 활성화되어 있어야 해요. AWS 리전 활성화 또는 비활성화에 대한 자세한 내용은 AWS Account Management 참조 안내서의 계정에서 사용할 AWS 리전 지정을 참고하세요.
- 원본 및 대상 버킷 모두 버전 관리가 활성화되어 있어야 해요. 버전 관리에 대한 자세한 내용은 S3 버전 관리로 객체의 여러 버전 유지하기를 참고하세요.
- Amazon S3에는 원본 버킷에서 대상 버킷(또는 버킷들)으로 사용자를 대신해 객체를 복제할 권한이 있어야 해요. 이러한 권한에 대한 자세한 내용은 라이브 복제 권한 설정하기를 참고하세요.
- 원본 버킷의 소유자가 버킷의 객체를 소유하지 않으면 객체 소유자는 객체 ACL(액세스 제어 목록)로 버킷 소유자에게
READ및READ_ACP권한을 부여해야 해요. 자세한 내용은 ACL(액세스 제어 목록) 개요를 참고하세요. - 원본 버킷에 S3 Object Lock이 활성화되어 있으면 대상 버킷에도 S3 Object Lock이 활성화되어 있어야 해요. Object Lock이 활성화된 버킷에서 복제를 활성화하려면 AWS Command Line Interface, REST API 또는 AWS SDK를 사용해야 해요. 더 일반적인 정보는 Object Lock으로 객체 잠금하기를 참고하세요. > 참고 복제 설정에 사용하는 IAM 역할에서 원본 S3 버킷에 두 개의 새 권한을 부여해야 해요. 두 새 권한은
s3:GetObjectRetention및s3:GetObjectLegalHold이에요. 역할에s3:Get*권한이 있으면 요구 사항을 충족해요. 자세한 내용은 라이브 복제 권한 설정하기를 참고하세요.
자세한 내용은 라이브 복제 설정 개요를 참고하세요.
원본 및 대상 버킷을 다른 AWS 계정이 소유하는 교차 계정 시나리오에서 복제 구성을 설정하는 경우 다음 추가 요구 사항이 적용돼요.
- 대상 버킷의 소유자는 버킷 정책으로 원본 버킷 소유자에게 객체를 복제할 권한을 부여해야 해요. 자세한 내용은 (선택 사항) 3단계: 원본 및 대상 버킷이 다른 AWS 계정이 소유할 때 권한 부여를 참고하세요.
- 대상 버킷은 Requester Pays 버킷으로 구성할 수 없어요. 자세한 내용은 스토리지 전송 및 사용량을 위한 Requester Pays 범용 버킷 사용을 참고하세요.
복제에 대한 고려 사항
복제 구성을 만들기 전에 다음 고려 사항을 확인하세요.
관련 주제
- 수명 주기 구성 및 객체 복제본
- 버전 관리 구성 및 복제 구성
- S3 Intelligent-Tiering과 함께 S3 Replication 사용
- 로깅 구성 및 복제 구성
- CRR 및 대상 리전
- S3 Batch Replication
- S3 Replication Time Control
수명 주기 구성 및 객체 복제본
Amazon S3가 객체를 복제하는 데 걸리는 시간은 객체의 크기에 따라 달라져요. 대용량 객체의 경우 몇 시간이 걸릴 수 있어요. 복제본이 대상에서 사용 가능해지기까지 시간이 걸릴 수 있지만 복제본을 만드는 데 걸리는 시간은 원본 버킷에서 해당 객체를 만드는 데 걸린 시간과 동일해요. 대상 버킷에서 수명 주기 구성이 활성화되어 있으면 수명 주기 규칙은 복제본이 대상 버킷에서 사용 가능해진 시점이 아니라 객체의 원본 생성 시간을 기준으로 해요.
복제 구성에는 버킷이 버전 관리 활성화 상태여야 해요. 버킷에서 버전 관리를 활성화할 때 다음 사항을 유의하세요.
- 객체 만료 수명 주기 구성이 있다면 버전 관리를 활성화한 후 활성화 전과 동일한 영구 삭제 동작을 유지하도록
NonCurrentVersionExpiration정책을 추가해요. - 전환 수명 주기 구성이 있다면 버전 관리를 활성화한 후
NonCurrentVersionTransition정책을 추가하는 것을 고려해요.
버전 관리 구성 및 복제 구성
버킷에서 복제를 구성할 때 원본 및 대상 버킷 모두 버전 관리가 활성화되어 있어야 해요. 원본 및 대상 버킷 모두에서 버전 관리를 활성화하고 원본 버킷에서 복제를 구성하면 다음 문제가 발생해요.
- 원본 버킷에서 버전 관리를 비활성화하려고 하면 Amazon S3가 오류를 반환해요. 원본 버킷에서 버전 관리를 비활성화하기 전에 복제 구성을 제거해야 해요.
- 대상 버킷에서 버전 관리를 비활성화하면 복제가 실패해요. 원본 객체의 복제 상태가
FAILED가 돼요.
S3 Intelligent-Tiering과 함께 S3 Replication 사용
S3 Intelligent-Tiering은 데이터를 가장 비용 효율적인 접근 계층으로 자동 이동해 스토리지 비용을 최적화하도록 설계된 스토리지 클래스예요. 소액의 월별 객체 모니터링 및 자동화 요금으로 S3 Intelligent-Tiering은 접근 패턴을 모니터링하고 접근되지 않은 객체를 더 저렴한 접근 계층으로 자동 이동해요.
S3 Batch Replication으로 S3 Intelligent-Tiering에 저장된 객체를 복제하거나 CopyObject 또는 UploadPartCopy를 호출하는 것은 접근을 구성해요. 이 경우 복사 또는 복제 작업의 원본 객체가 더 높은 계층으로 이동돼요.
S3 Intelligent-Tiering에 대한 자세한 내용은 Amazon S3 Intelligent-Tiering으로 스토리지 비용 관리하기를 참고하세요.
로깅 구성 및 복제 구성
Amazon S3가 복제가 활성화된 버킷에 로그를 전달하면 로그 객체를 복제해요.
원본 또는 대상 버킷에서 서버 액세스 로그 또는 AWS CloudTrail 로그가 활성화되어 있으면 Amazon S3는 로그에 복제 관련 요청을 포함해요. 예를 들어 Amazon S3는 복제하는 각 객체를 기록해요.
CRR 및 대상 리전
Amazon S3 교차 리전 복제(CRR)는 다른 AWS 리전의 S3 버킷 간에 객체를 복사하는 데 사용돼요. 대상 버킷의 리전은 비즈니스 요구 또는 비용 고려 사항에 따라 선택할 수 있어요. 예를 들어 리전 간 데이터 전송 요금은 선택하는 리전에 따라 달라져요.
원본 버킷의 리전으로 US East(N. Virginia)(us-east-1)를 선택했다고 가정해 봅시다. 대상 버킷의 리전으로 US West(Oregon)(us-west-2)를 선택하면 US East(Ohio)(us-east-2) 리전을 선택할 때보다 더 많은 비용을 지불하게 돼요. 요금 정보는 Amazon S3 요금의 "데이터 전송 요금"을 참고하세요.
같은 리전 복제(SRR)에는 데이터 전송 요금이 없어요.
S3 Batch Replication
Batch Replication에 대한 고려 사항 정보는 S3 Batch Replication 고려 사항을 참고하세요.
S3 Replication Time Control
S3 Replication Time Control(S3 RTC)의 모범 사례 및 고려 사항에 대한 정보는 S3 RTC 모범 사례 및 지침을 참고하세요.
더 알아보기 (Learn more)
- S3 버전 관리로 객체의 여러 버전 유지하기
- 라이브 복제 권한 설정하기
- ACL(액세스 제어 목록) 개요
- Object Lock으로 객체 잠금하기
- 라이브 복제 설정 개요
- Requester Pays 범용 버킷 사용
- 수명 주기 구성 및 객체 복제본
- 버전 관리 구성 및 복제 구성
- S3 Intelligent-Tiering과 함께 S3 Replication 사용
- 로깅 구성 및 복제 구성
- CRR 및 대상 리전
- S3 Batch Replication
- S3 Replication Time Control
- Amazon S3 Intelligent-Tiering으로 스토리지 비용 관리하기
- 서버 액세스 로그
- AWS CloudTrail 로그
- 문서 규칙