

# 복제 관리
<a name="manage-outposts-replication"></a>

이 섹션에서는 S3 on Outposts에서 사용할 수 있는 추가 복제 구성 옵션, 복제 상태 확인 방법 및 복제 문제 해결 방법을 설명합니다. 핵심 복제 구성에 대한 자세한 내용은 [복제 설정](outposts-replication-how-setup.md) 섹션을 참조하세요.

**Topics**
+ [복제 지표로 진행 상태 모니터링](#outposts-enabling-replication-metrics)
+ [복제 상태 정보 가져오기](#outposts-replication-status)
+ [복제 문제 해결](#outposts-replication-troubleshoot)
+ [Outposts에서 S3 복제 기능에 EventBridge 사용](outposts-replication-eventbridge.md)

## 복제 지표로 진행 상태 모니터링
<a name="outposts-enabling-replication-metrics"></a>

Outposts에서의 S3 복제는 복제 구성의 복제 규칙에 대한 세부 지표를 제공합니다. 복제 지표를 통해 복제 보류 중인 바이트, 복제 지연, 보류 중인 작업을 추적하여 5분 간격으로 복제 진행 상황을 모니터링할 수 있습니다. 구성 문제 해결에 도움이 되도록 Amazon EventBridge를 설정하여 복제 실패에 대한 알림을 수신할 수 있습니다.

복제 지표가 활성화되면 Outposts에서의 S3 복제가 다음 지표를 Amazon CloudWatch에 게시합니다.
+ **복제 보류 중인 바이트** - 지정된 복제 규칙에 대해 복제 보류 중인 객체의 총 바이트 수입니다.
+ **복제 지연 시간** - 지정된 복제 규칙에 대해 복제 대상 버킷이 소스 버킷보다 늦어지는 최대 시간(초)입니다.
+ **복제 보류 중인 작업** - 지정된 복제 규칙에 대해 복제 보류 중인 작업 수입니다. 작업에는 객체, 삭제 마커 및 태그가 포함됩니다.

**참고**  
Outposts에서의 S3 복제 지표는 CloudWatch 사용자 지정 지표와 동일한 요금으로 청구됩니다. 자세한 내용은 [CloudWatch 요금](https://aws.amazon.com/cloudwatch/pricing/)을 참조하세요.

## 복제 상태 정보 가져오기
<a name="outposts-replication-status"></a>

복제 상태는 Amazon S3 on Outposts가 복제 중인 객체의 현재 상태를 확인하는 데 도움이 될 수 있습니다. 원본 객체의 복제 상태는 `PENDING`, `COMPLETED`, `FAILED` 중 하나를 반환합니다. 복제본의 복제 상태가 `REPLICA`을(를) 반환합니다.

### 복제 상태 개요
<a name="outposts-replication-status-overview"></a>

복제 시나리오에는 복제를 구성하는 소스 버킷과 S3 on Outposts가 객체를 복제하는 대상 버킷이 있습니다. 이러한 버킷에서 객체(`GetObject` 사용)나 객체 메타데이터(`HeadObject` 사용)를 요청하면 S3 on Outposts는 응답으로 다음과 같이 `x-amz-replication-status` 헤더를 반환합니다.
+ 소스 버킷에서 객체를 요청하면 요청한 객체가 복제에 적합한 경우 S3 on Outposts가 `x-amz-replication-status` 헤더를 반환합니다.

  예를 들어 복제 구성에 객체 접두사 `TaxDocs`를 지정해 키 이름 접두사가 `TaxDocs`인 객체만 복제하도록 S3 on Outposts에 지시한다고 가정해 봅시다. 이 키 이름 접두사(예: `TaxDocs/document1.pdf`)를 갖는 객체를 업로드하면 모두 복제됩니다. 이 키 이름 접두사를 사용한 객체 요청에 대해 S3 on Outposts는 객체 복제 상태를 표시하는 값 `PENDING`, `COMPLETED` 또는 `FAILED`가 포함된 `x-amz-replication-status` 헤더를 반환합니다.
**참고**  
객체를 업로드한 후 객체 복제가 실패할 경우 복제를 재시도할 수 없습니다. 객체를 다시 업로드해야 합니다. 복제 역할 권한 누락 또는 버킷 권한 누락과 같은 문제의 경우 객체가 `FAILED` 상태로 전환됩니다. 버킷 또는 Outpost를 사용할 수 없는 등 일시적인 실패의 경우 복제 상태가 `FAILED`로 전환되지 않고 `PENDING` 상태 그대로 유지됩니다. 리소스가 다시 온라인 상태가 되면 S3 on Outposts는 해당 객체 복제를 재개합니다.
+ 대상 버킷으로부터 객체를 요청하면 요청의 객체가 S3 on Outposts에서 생성한 복제본인 경우 S3 on Outposts는 값이 `REPLICA`인 `x-amz-replication-status` 헤더를 반환합니다.

**참고**  
복제가 사용 설정된 원본 버킷에서 객체를 삭제하려면, 먼저 해당 객체의 복제 상태를 통해 복제가 완료되었는지 확인해야 합니다.

### Outposts에서 Amazon S3 복제본 수정 동기화가 활성화된 경우 복제 상태
<a name="outposts-replication-status-sync"></a>

복제 규칙에서 S3 on Outposts 복제본 수정 동기화를 활성화하면 복제본은 `REPLICA` 이외의 상태를 보고할 수 있습니다. 메타데이터 변경 사항이 복제 과정에 있는 경우 복제본의 `x-amz-replication-status` 헤더가 `PENDING`을 반환합니다. 복제본 수정 동기화가 메타데이터 복제에 실패하면 복제본의 헤더가 `FAILED`를 반환합니다. 메타데이터가 올바르게 복제되면 복제본의 헤더가 `REPLICA` 값을 반환합니다.

## 복제 문제 해결
<a name="outposts-replication-troubleshoot"></a>

복제를 구성한 후 대상 Amazon S3 on Outposts 버킷에 객체 복제본이 표시되지 않는다면 다음 문제 해결 도움말을 사용하여 문제를 해결하세요.
+ S3 on Outposts가 객체를 복제하는 데 걸리는 시간은 소스 및 대상 Outposts 간의 거리, 객체의 크기를 비롯한 다양한 요소에 따라 달라집니다.

  소스 객체의 복제 상태를 확인할 수 있습니다. 객체 복제 상태가 `PENDING`이면 S3 on Outposts가 복제를 완료하지 않은 것입니다. 객체 복제 상태가 `FAILED`이면 소스 버킷에서 설정된 복제 구성을 확인하세요.
+ 원본 버킷의 복제 구성에서 다음을 확인합니다.
  + 대상 버킷의 액세스 포인트 Amazon 리소스 이름(ARN)이 정확해야 합니다.
  + 키 이름 접두사가 정확합니다. 예를 들어, 접두사 `Tax`로 객체 복제를 구성한 경우라면 `Tax/document1` 또는 `Tax/document2`와 같이 키 이름이 포함된 객체만 복제됩니다. 키 이름이 `document3`인 객체는 복제되지 않습니다.
  + 상태가 `Enabled`입니다.
+ 버전 관리가 일시 중단된 버킷이 없는지 확인합니다. 소스 버킷과 대상 버킷 모두에서 버전 관리를 활성화해야 합니다.
+ 다른 AWS 계정이 대상 버킷을 소유한 경우, 해당 대상 버킷에 소스 버킷 소유자의 객체 복제를 허용하는 버킷 정책이 있는지 확인합니다. 문제 해결 예는 [소스 및 대상 Outposts 버킷을 서로 다른 AWS 계정에서 소유할 경우 권한 부여](outposts-replication-prerequisites-config.md#outposts-rep-prethree)을(를) 참조하세요.
+ 객체 복제본이 대상 버킷에 나타나지 않는 경우, 다음 문제로 복제가 차단될 수 있습니다.
  + S3 on Outposts는 소스 버킷에서 다른 복제 구성이 생성한 복제본을 복제하지 않습니다. 예를 들어 버킷 A에서 버킷 B로, 버킷 B에서 버킷 C로 복제 구성을 설정하면 S3 on Outposts는 버킷 B에 있는 객체 복제본을 버킷 C로 복제하지 않습니다.

    버킷 A의 객체를 버킷 B와 버킷 C로 복제하려면 소스 버킷 복제 구성의 서로 다른 복제 규칙에서 여러 버킷 대상을 설정합니다. 예를 들어, 소스 버킷 A에 두 개의 복제 규칙을 생성하여 하나의 규칙은 대상 버킷 B에 복제하도록 하고 다른 규칙은 대상 버킷 C에 복제하도록 할 수 있습니다.
  + 소스 버킷 소유자는 다른 AWS 계정에 객체 업로드 권한을 부여할 수 있습니다. 기본적으로 원본 버킷 소유자는 다른 계정에서 생성한 객체에 대해 권한이 없습니다. 복제 구성은 원본 버킷 소유자가 액세스 권한을 가진 객체만 복제합니다. 복제 문제를 예방하기 위해 소스 버킷 소유자는 다른 AWS 계정에 해당 객체에 대한 명시적 액세스 권한을 조건부로 요구하는 객체 생성 권한을 부여할 수 있습니다.
+ 복제 구성에서 객체 중 특정 태그를 갖는 하위 집합을 복제하는 규칙을 추가한다고 가정해 봅시다. 이 경우 S3 on Outposts가 객체를 복제하도록 하려면 객체를 생성할 때 특정 태그 키 및 값을 할당해야 합니다. 먼저 객체를 생성한 후 해당 기존 객체에 태그를 추가할 경우 S3 on Outposts는 해당 객체를 복제하지 않습니다.
+ 버킷 정책이 다음 작업 중 하나에 대해 복제 역할에 대한 액세스를 거부하면 복제가 실패합니다.

  원본 버킷:

  ```
  1. "s3-outposts:GetObjectVersionForReplication",
  2. "s3-outposts:GetObjectVersionTagging"
  ```

  대상 버킷:

  ```
  1. "s3-outposts:ReplicateObject",
  2. "s3-outposts:ReplicateDelete",
  3. "s3-outposts:ReplicateTags"
  ```
+ Amazon EventBridge는 객체가 대상 Outposts로 복제되지 않을 때 사용자에게 알림을 보낼 수 있습니다. 자세한 내용은 [Outposts에서 S3 복제 기능에 EventBridge 사용](outposts-replication-eventbridge.md) 섹션을 참조하세요.

# Outposts에서 S3 복제 기능에 EventBridge 사용
<a name="outposts-replication-eventbridge"></a>

Amazon S3 on Outposts는 Amazon EventBridge와 통합되며 `s3-outposts` 네임스페이스를 사용합니다. EventBridge는 애플리케이션을 다양한 소스의 데이터와 연결하는 데 사용할 수 있는 서버리스 이벤트 버스 서비스입니다. 자세한 내용은 *Amazon EventBridge 사용 설명서*의 [Amazon EventBridge란?](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) 섹션을 참조하세요.

복제 구성 문제 해결에 도움이 되도록 Amazon EventBridge를 설정하여 복제 실패 이벤트에 대한 알림을 수신할 수 있습니다. EventBridge는 객체가 대상 Outposts로 복제되지 않을 경우 사용자에게 알림을 보낼 수 있습니다. 복제 중인 객체의 현재 상태에 대한 자세한 내용은 [복제 상태 개요](manage-outposts-replication.md#outposts-replication-status-overview) 섹션을 참조하세요.

Outposts 버킷에서 특정 이벤트가 발생할 때마다 S3 on Outposts는 EventBridge에 이벤트를 보낼 수 있습니다. 다른 대상과 달리 전송할 이벤트 유형을 선택할 필요가 없습니다. 또한 EventBridge 규칙을 사용하여 이벤트를 추가 대상으로 라우팅할 수 있습니다. EventBridge가 활성화되면 S3 on Outposts는 다음 이벤트를 모두 EventBridge로 전송합니다.


| 이벤트 유형 | 설명  | 네임스페이스 | 
| --- | --- | --- | 
|  `OperationFailedReplication`  |  복제 규칙 내의 객체 복제가 실패했습니다. Outposts에서 S3 복제 실패 이유에 대한 자세한 내용은 [EventBridge를 사용하여 Outposts에서 S3 복제 실패 이유 보기](#outposts-replication-failure-codes) 섹션을 참조하세요.  |  `s3-outposts`  | 

## EventBridge를 사용하여 Outposts에서 S3 복제 실패 이유 보기
<a name="outposts-replication-failure-codes"></a>

다음 테이블에는 Outposts에서 S3 복제 실패 이유가 나열되어 있습니다. EventBridge 규칙을 구성하여 Amazon Simple Queue Service(Amazon SQS), Amazon Simple Notification Service(Amazon SNS), AWS Lambda 또는 Amazon CloudWatch Logs를 통해 실패 이유를 게시하고 볼 수 있습니다. EventBridge에서 이러한 리소스 사용에 필요한 권한에 대한 자세한 내용은 [EventBridge에 리소스 기반 정책 사용](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-use-resource-based.html)을 참조하세요.


| 복제 실패 이유 | 설명 | 
| --- | --- | 
| AssumeRoleNotPermitted | S3 on Outposts가 복제 구성에 지정된 AWS Identity and Access Management(IAM) 역할을 맡을 수 없습니다. | 
| DstBucketNotFound | S3 on Outposts가 복제 구성에 지정된 대상 버킷을 찾을 수 없습니다. | 
| DstBucketUnversioned | Outposts 대상 버킷에서 버전 관리가 활성화되지 않았습니다. Outposts에서 S3 복제로 객체를 복제하려면 대상 버킷에서 버전 관리를 활성화해야 합니다. | 
| DstDelObjNotPermitted | S3 on Outposts가 대상 버킷에 삭제된 객체를 복제할 수 없습니다. 대상 버킷에 대한 s3-outposts:ReplicateDelete 권한이 누락되었을 수 있습니다. | 
| DstMultipartCompleteNotPermitted | S3 on Outposts가 대상 버킷에 있는 객체의 멀티파트 업로드를 완료할 수 없습니다. 대상 버킷에 대한 s3-outposts:ReplicateObject 권한이 누락되었을 수 있습니다. | 
| DstMultipartInitNotPermitted | S3 on Outposts가 대상 버킷에 있는 객체의 멀티파트 업로드를 시작할 수 없습니다. 대상 버킷에 대한 s3-outposts:ReplicateObject 권한이 누락되었을 수 있습니다. | 
| DstMultipartPartUploadNotPermitted | S3 on Outposts가 대상 버킷에 있는 멀티파트 업로드 객체를 업로드할 수 없습니다. 대상 버킷에 대한 s3-outposts:ReplicateObject 권한이 누락되었을 수 있습니다. | 
| DstOutOfCapacity | 대상 Outpost에 S3 스토리지 용량이 부족하기 때문에 S3 on Outposts가 대상 Outpost에 복제할 수 없습니다. | 
| DstPutObjNotPermitted | S3 on Outposts가 대상 버킷에 객체를 복제할 수 없습니다. 대상 버킷에 대한 s3-outposts:ReplicateObject 권한이 누락되었을 수 있습니다. | 
| DstPutTaggingNotPermitted | S3 on Outposts가 대상 버킷에 객체 태그를 복제할 수 없습니다. 대상 버킷에 대한 s3-outposts:ReplicateObject 권한이 누락되었을 수 있습니다. | 
| DstVersionNotFound | S3 on Outposts가 대상 버킷에서 해당 객체 버전의 메타데이터를 복제하는 데 필요한 객체 버전을 찾을 수 없습니다. | 
| SrcBucketReplicationConfigMissing | S3 on Outposts는 소스 Outposts 버킷과 연결된 액세스 포인트에 대한 복제 구성을 찾을 수 없습니다. | 
| SrcGetObjNotPermitted | S3 on Outposts가 복제를 위해 소스 버킷의 객체에 액세스할 수 없습니다. 소스 버킷에 대한 s3-outposts:GetObjectVersionForReplication 권한이 누락되었을 수 있습니다. | 
| SrcGetTaggingNotPermitted | S3 on Outposts가 소스 버킷의 객체 태그 정보에 액세스할 수 없습니다. 소스 버킷에 대한 s3-outposts:GetObjectVersionTagging 권한이 누락되었을 수 있습니다. | 
| SrcHeadObjectNotPermitted | S3 on Outposts가 소스 버킷에서 객체 메타데이터를 검색할 수 없습니다. 소스 버킷에 대한 s3-outposts:GetObjectVersionForReplication 권한이 누락되었을 수 있습니다. | 
| SrcObjectNotEligible | 객체를 복제에 사용할 수 없습니다. 객체 또는 객체 태그가 복제 구성과 일치하지 않습니다. | 

복제 문제 해결에 대한 자세한 내용은 다음 주제를 참조하세요.
+ [IAM 역할 생성](outposts-replication-prerequisites-config.md#outposts-rep-pretwo)
+ [복제 문제 해결](manage-outposts-replication.md#outposts-replication-troubleshoot)

## CloudWatch를 사용하여 EventBridge 모니터링
<a name="outposts-replication-eventbridge-cw"></a>

모니터링을 위해 Amazon EventBridge가 Amazon CloudWatch와 통합됩니다. EventBridge는 지표를 1분마다 CloudWatch에 전송합니다. 이러한 지표에는 [규칙](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html)과 일치하는 [이벤트](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html) 수 및 규칙에 의해 [대상](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html)이 호출된 횟수가 포함됩니다. EventBridge에서 규칙이 실행되면 이 규칙과 연관된 모든 대상이 호출됩니다. CloudWatch를 통해 다음과 같은 방법으로 EventBridge를 모니터링할 수 있습니다.
+ CloudWatch 대시보드에서 EventBridge 규칙에 사용할 수 있는 [EventBridge 지표](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-monitoring.html#eb-metrics)를 모니터링할 수 있습니다. 그런 다음 CloudWatch 경보와 같은 CloudWatch 기능을 사용하여 특정 지표에 대한 경보를 설정할 수 있습니다. 이러한 지표가 경보에서 지정한 사용자 지정 임계값에 도달하면 알림을 받고 그에 따라 조치를 취할 수 있습니다.
+ Amazon CloudWatch Logs를 EventBridge 규칙의 대상으로 설정할 수 있습니다. 그런 다음 EventBridge는 로그 스트림을 생성하고 CloudWatch Logs는 이벤트의 텍스트를 로그 항목으로 저장합니다. 자세한 내용은 [EventBridge 및 CloudWatch Logs](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-use-resource-based.html#eb-cloudwatchlogs-permissions)를 참조하세요.

EventBridge 이벤트 전달 디버깅 및 이벤트 아카이빙에 대한 자세한 내용은 다음 주제를 참조하세요.
+ [이벤트 재시도 정책 및 DLQ(Dead Letter Queue) 사용](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rule-dlq.html)
+ [EventBridge 이벤트 아카이빙](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-archive-event.html)