

# S3 on Outposts에 대한 객체 복제
<a name="S3OutpostsReplication"></a>

AWS Outposts에서 S3 복제를 사용하면 다른 Outposts 또는 동일한 Outpost에 있는 버킷 간에 S3 객체를 자동으로 복제하도록 Amazon S3 on Outposts를 구성할 수 있습니다. Outposts에서 S3 복제를 사용하면 데이터 상주 요구 사항을 충족하는 데 도움이 되도록 같거나 다른 Outposts 또는 여러 계정에 걸쳐 데이터의 여러 복제본을 유지할 수 있습니다. Outposts에서 S3 복제를 사용하면 규정을 준수하는 스토리지 요구 사항을 충족하고 계정 간의 데이터 공유를 강화할 수 있습니다. 복제본이 소스 데이터와 동일해야 한다면 Outposts에서 S3 복제를 사용하여 원래 객체 생성 시간, 태그, 버전 ID 등의 모든 메타데이터가 보존되는 객체의 복제본을 만들 수 있습니다.

또한 Outposts에서 S3 복제 기능은 버킷 간 객체 복제 상태를 모니터링하기 위한 상세한 지표 및 알림을 제공합니다. Amazon CloudWatch를 사용하여 복제 보류 중인 바이트, 복제 보류 중인 작업, 소스 및 대상 버킷 간의 복제 지연 시간을 추적하여 복제 진행 상황을 모니터링할 수 있습니다. 구성 문제를 신속하게 진단하고 수정하려면 복제 객체 실패에 대한 알림을 수신하도록 Amazon EventBridge를 설정할 수도 있습니다. 자세한 내용은 [복제 관리](manage-outposts-replication.md)를 참조하세요.

**Topics**
+ [복제 구성](#outposts-replication-add-config)
+ [Outposts에서 S3 복제 기능의 요구 사항](#outposts-replication-requirements)
+ [복제 가능한 객체](#outposts-replication-what-is-replicated)
+ [복제 불가능한 객체](#outposts-replication-what-is-not-replicated)
+ [Outposts에서 S3 복제 기능이 지원하지 않는 것은 무엇인가요?](#outposts-replication-what-is-not-supported)
+ [복제 설정](outposts-replication-how-setup.md)
+ [복제 관리](manage-outposts-replication.md)

## 복제 구성
<a name="outposts-replication-add-config"></a>

S3 on Outposts는 복제 구성을 XML로 저장합니다. 복제 구성 XML 파일에서 AWS Identity and Access Management(IAM) 규칙과 하나 이상의 규칙을 지정합니다.

```
<ReplicationConfiguration>
    <Role>IAM-role-ARN</Role>
    <Rule>
        ...
    </Rule>
    <Rule>
         ... 
    </Rule>
     ...
</ReplicationConfiguration>
```

S3 on Outposts는 사용자가 부여한 권한 없이 객체를 복제할 수 없습니다. 복제 구성에서 지정한 IAM 역할을 사용하여 S3 on Outposts에 권한을 부여합니다. S3 on Outposts는 사용자를 대신하여 객체를 복제하기 위해 IAM 역할을 맡습니다. 복제를 시작하기 전에 IAM 역할에 필요한 권한을 부여해야 합니다. S3 on Outposts에 대한 이러한 권한과 관련한 자세한 내용은 [IAM 역할 생성](outposts-replication-prerequisites-config.md#outposts-rep-pretwo) 섹션을 참조하세요.

다음 시나리오에서는 복제 구성에 한 가지 규칙을 추가합니다.
+ 모든 객체를 복제하려는 경우
+ 객체의 하위 집합 하나를 복제하려는 경우. 규칙에 필터를 추가하여 객체 하위 집합을 식별하는 경우 필터에서 객체 키 접두사, 태그 또는 이 두 가지를 모두 지정하여 객체에서 규칙이 적용될 하위 집합을 식별합니다.

다른 객체의 하위 집합을 복제하려면 복제 구성에 여러 규칙을 추가할 수 있습니다. 각 규칙에서 다른 객체 하위 집합을 선택하는 필터를 지정합니다. 예를 들어 `tax/` 또는`document/` 키 접두사를 갖는 객체를 복제하도록 선택할 수 있습니다. 이렇게 하려면 두 가지 규칙을 추가합니다. 하나는 `tax/` 키 접두사 필터를 지정하고 다른 하나는 `document/` 키 접두사를 지정합니다.

S3 on Outposts 복제 구성 및 복제 규칙에 대한 자세한 내용은 **Amazon Simple Storage Service API 참조의 [ReplicationConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ReplicationConfiguration.html)을 참조하세요.

## Outposts에서 S3 복제 기능의 요구 사항
<a name="outposts-replication-requirements"></a>

복제 요구 사항은 다음과 같습니다.
+ 대상 Outpost CIDR 범위는 소스 Outpost 서브넷 테이블에 연결되어야 합니다. 자세한 내용은 [복제 규칙 생성을 위한 사전 조건](outposts-replication-prerequisites-config.md) 섹션을 참조하세요.
+ 소스 버킷과 대상 버킷 모두에서 S3 버전 관리를 활성화해야 합니다. 버전 관리에 대한 자세한 내용은 [S3 on Outposts 버킷의 S3 버전 관리에 대한 관리](S3OutpostsManagingVersioning.md) 섹션을 참조하십시오.
+ Amazon S3 on Outposts가 사용자를 대신해서 대상 버킷에 소스 버킷의 객체를 복제할 권한을 가지고 있어야 합니다. 즉, 사용자가 S3 on Outposts에 `GET` 및 `PUT` 권한을 위임하는 서비스 역할을 생성해야 합니다.

  1. 서비스 역할을 생성하기 전에 소스 버킷에 대한 `GET` 권한과 대상 버킷에 대한 `PUT` 권한이 있어야 합니다.

  1. S3 on Outposts에 권한을 위임하는 서비스 역할을 생성하려면 먼저 IAM 엔터티(사용자 또는 역할)가 `iam:CreateRole` 및 `iam:PassRole` 작업을 수행할 수 있도록 권한을 구성해야 합니다. 그런 다음, IAM 엔터티가 서비스 역할을 생성하도록 허용합니다. S3 on Outposts가 사용자를 대신하여 서비스 역할을 맡고 `GET` 및 `PUT` 권한을 S3 on Outposts에 위임하도록 하려면 필요한 신뢰 정책 및 권한 정책을 역할에 할당해야 합니다. S3 on Outposts에 대한 이러한 권한과 관련한 자세한 내용은 [IAM 역할 생성](outposts-replication-prerequisites-config.md#outposts-rep-pretwo) 섹션을 참조하세요. 서비스 역할 생성에 대한 자세한 내용은 [서비스 역할 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)을 참조하세요.

## 복제 가능한 객체
<a name="outposts-replication-what-is-replicated"></a>

기본적으로 S3 on Outposts는 다음을 복제합니다.
+ 복제 구성을 추가한 후에 생성된 객체입니다.
+ 원본 객체에서 복제본으로 가는 객체 메타데이터입니다. 복제본에서 소스 객체로 메타데이터를 복제하는 방법에 대한 자세한 내용은 [Outposts에서 Amazon S3 복제본 수정 동기화가 활성화된 경우 복제 상태](manage-outposts-replication.md#outposts-replication-status-sync) 섹션을 참조하세요.
+ 객체 태그(있는 경우).

### 삭제 작업이 복제에 미치는 영향
<a name="outposts-replication-delete-op"></a>

원본 버킷에서 객체를 삭제하는 경우 기본적으로 다음 작업이 이루어집니다.
+ 객체 버전 ID를 지정하지 않고 `DELETE` 요청을 수행하면 S3 on Outposts는 삭제 마커를 추가합니다. S3 on Outposts는 다음과 같이 삭제 마커를 처리합니다.
  + S3 on Outposts는 기본적으로 삭제 마커를 복제하지 않습니다.
  + 그러나 태그 기반이 아닌 규칙에도 *삭제 마커 복제*를 추가할 수 있습니다. 복제 구성에서 삭제 마커 복제를 활성화하는 방법에 대한 자세한 내용은 [S3 콘솔 사용](replication-between-outposts.md#outposts-enable-replication) 섹션을 참조하세요.
+ 사용자가 `DELETE` 요청에서 삭제할 객체 버전 ID를 지정할 경우, S3 on Outposts는 소스 버킷에서 해당 객체 버전을 영구적으로 삭제합니다. 하지만 대상 버킷에서는 삭제를 복제하지 않습니다. 즉, 대상 버킷에서 동일한 객체 버전을 삭제하지 않습니다. 이 동작은 악의적 삭제로부터 데이터를 보호합니다.

## 복제 불가능한 객체
<a name="outposts-replication-what-is-not-replicated"></a>

기본적으로 S3 on Outposts는 다음을 복제하지 않습니다.
+ 원본 버킷의 객체는 다른 복제 규칙에 따라 생성된 복제본입니다. 예를 들어, 버킷 A가 소스이고 버킷 B가 대상인 복제를 구성하는 경우. 이제 버킷 B가 원본이고 버킷 C가 대상인 다른 복제 구성을 추가한다고 가정합니다. 이 경우, 버킷 A 객체의 복제본인 버킷 B의 객체는 버킷 C로 복제되지 않습니다.
+ 다른 대상에 이미 복제된 원본 버킷의 객체입니다. 예를 들어, 기존 복제 구성에서 대상 버킷을 변경하더라도 S3 on Outposts가 해당 객체를 다시 복제하지 않습니다.
+ 고객 제공 암호화 키(SSE-C)를 통한 서버 측 암호화로 생성된 객체.
+ 버킷 레벨 하위 리소스에 대한 업데이트.

  예를 들어, 수명 주기 구성을 변경하거나 원본 버킷에 알림 구성을 추가할 경우 이러한 변경 사항은 대상 버킷에 적용되지 않습니다. 이 기능을 사용하여 소스 버킷과 대상 버킷에 서로 다른 버킷 구성을 할 수 있습니다.
+ 수명 주기 구성에 의해 수행되는 작업.

  예를 들어, 소스 버킷에서만 수명 주기 구성을 활성화하고 만료 작업을 구성하면 S3 on Outposts는 소스 버킷에서 만료된 객체에 대해 삭제 마커를 만들지만 그 마커를 대상 버킷에 복제하지는 않습니다. 소스 버킷과 대상 버킷에 동일한 수명 주기 구성을 적용하려는 경우 두 버킷 모두에서 동일한 수명 주기를 사용 설정합니다. 수명 주기 구성에 대한 자세한 내용은 [Amazon S3 on Outposts 버킷에 대한 수명 주기 구성 생성 및 관리](S3OutpostsLifecycleManaging.md) 섹션을 참조하십시오.

## Outposts에서 S3 복제 기능이 지원하지 않는 것은 무엇인가요?
<a name="outposts-replication-what-is-not-supported"></a>

다음 S3 복제 기능은 현재 S3 on Outposts에서 지원되지 않습니다.
+ S3 Replication Time Control(S3 RTC) Outposts에서 S3 복제의 객체 트래픽이 온프레미스 네트워크(로컬 게이트웨이)를 통해 이동하기 때문에 S3 RTC는 지원되지 않습니다. 로컬 게이트웨이에 대한 자세한 내용은 **AWS Outposts 사용 설명서의 [로컬 게이트웨이 작업](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-local-gateways.html#working-with-lgw)을 참조하세요.
+ 배치 작업을 위한 S3 복제.

# 복제 설정
<a name="outposts-replication-how-setup"></a>

**참고**  
복제를 설정하기 전에 버킷에 있던 객체는 자동으로 복제되지 않습니다. 즉, Amazon S3 on Outposts는 소급하여 객체를 복제하지 않습니다. 복제 구성 전에 생성된 객체를 복제하려면 `CopyObject` API 작업을 사용하여 동일한 버킷에 객체를 복사할 수 있습니다. 객체가 복사된 후에는 버킷에 '새' 객체로 나타나고 복제 구성이 해당 객체에 적용됩니다. 객체 복사에 대한 자세한 내용은 **Amazon Simple Storage Service API 참조의 [AWS SDK for Java를 사용하여 Amazon S3 on Outposts 버킷의 객체 복사](S3OutpostsCopyObject.md) 및 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) 섹션을 참조하세요.

Outposts에서 S3 복제를 활성화하려면 소스 Outposts 버킷에 복제 규칙을 추가하세요. 복제 규칙은 지정된 대로 객체를 복제하도록 S3 on Outposts에 지시합니다. 복제 규칙에서는 다음을 제공해야 합니다.
+ **소스 Outposts 버킷 액세스 포인트** - S3 on Outposts가 객체를 복사하도록 할 버킷의 액세스 포인트 Amazon 리소스 이름(ARN) 또는 액세스 포인트 별칭. 액세스 포인트 별칭 사용에 대한 자세한 내용은 [S3 on Outposts 버킷 액세스 포인트에 버킷 스타일 별칭 사용](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-outposts-access-points-alias.html)을 참조하세요.
+ **복제할 객체** - 소스 Outposts 버킷의 모든 객체 또는 하위 집합을 복제할 수 있습니다. 구성에 [키 이름 접두사](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#keyprefix), 하나 이상의 객체 태그, 또는 둘 모두를 제공하여 하위 집합을 식별합니다.

  예를 들어, 키 이름 접두사 `Tax/`가 포함된 객체만 복제할 복제 규칙을 구성할 경우 S3 on Outposts는 `Tax/doc1` 또는 `Tax/doc2`와 같은 키가 있는 객체를 복제합니다. 그러나 `Legal/doc3` 키가 있는 객체는 복제하지 않습니다. 접두사와 하나 이상의 태그를 함께 지정할 경우 S3 on Outposts는 특정 키 접두사와 태그가 있는 객체만 복제합니다.
+ **대상 Outposts 버킷** - S3 on Outposts가 객체를 복사하도록 할 버킷의 ARN 또는 액세스 포인트 별칭.

REST API, AWS SDK, AWS Command Line Interface(AWS CLI) 또는 Amazon S3 콘솔을 사용하여 복제 규칙을 구성할 수 있습니다.

또한 S3 on Outposts는 복제 규칙 설정을 지원하기 위해 API 작업을 제공합니다. 자세한 내용은 *Amazon Simple Storage Service API 참조*의 다음 주제들을 참조하세요.
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketReplication.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketReplication.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketReplication.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketReplication.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketReplication.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketReplication.html) 

**Topics**
+ [복제 규칙 생성을 위한 사전 조건](outposts-replication-prerequisites-config.md)
+ [Outposts에서 복제 규칙 생성](replication-between-outposts.md)

# 복제 규칙 생성을 위한 사전 조건
<a name="outposts-replication-prerequisites-config"></a>

**Topics**
+ [소스 및 대상 Outpost 서브넷 연결](#outposts-rep-preone)
+ [IAM 역할 생성](#outposts-rep-pretwo)

## 소스 및 대상 Outpost 서브넷 연결
<a name="outposts-rep-preone"></a>

복제 트래픽이 로컬 게이트웨이를 통해 소스 Outpost에서 대상 Outpost로 이동하도록 하려면 새 라우팅을 추가하여 네트워킹을 설정해야 합니다. 액세스 포인트의 Classless Inter-Domain Routing(CIDR) 네트워킹 범위를 함께 연결해야 합니다. 각 액세스 포인트 쌍에 대해 이 연결을 한 번만 설정하면 됩니다.

연결 설정을 위한 일부 단계는 액세스 포인트와 연결된 Outposts 엔드포인트의 액세스 유형에 따라 달라집니다. 엔드포인트의 액세스 유형은 **프라이빗**(AWS Outposts용 직접 Virtual Private Cloud(VPC) 라우팅) 또는 **고객 소유 IP**(온프레미스 네트워크 내의 고객 소유 IP 주소 풀(CoIP 풀))입니다.

### 1단계: 소스 Outposts 엔드포인트의 CIDR 범위 찾기
<a name="outposts-pre-step1"></a>

**소스 액세스 포인트와 연결된 소스 엔드포인트의 CIDR 범위를 찾는 방법**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **Outposts 버킷**을 선택합니다.

1. **Outposts 버킷** 목록에서 복제할 소스 버킷을 선택합니다.

1. **Outposts 액세스 포인트** 탭을 선택하고 복제 규칙의 소스 버킷에 사용할 Outposts 액세스 포인트를 선택합니다.

1. Outposts 엔드포인트를 선택합니다.

1. [5단계](#outposts-pre-step5)에서 사용할 서브넷 ID를 복사합니다.

1. 소스 Outposts 엔드포인트의 CIDR 범위를 찾는 데 사용하는 방법은 엔드포인트의 액세스 유형에 따라 달라집니다.

   **Outposts 엔드포인트 개요** 섹션에서 **액세스 유형**을 참조하세요.
   + 액세스 유형이 **프라이빗**인 경우 [6단계](#outposts-pre-step6)에서 사용할 **Classless Inter-Domain Routing(CIDR)** 값을 복사합니다.
   + 액세스 유형이 **고객 소유 IP**인 경우 다음을 수행합니다.

     1. **고객 소유 IPv4 풀** 값을 복사하여 나중에 주소 풀의 ID로 사용합니다.

     1. [https://console.aws.amazon.com/outposts/](https://console.aws.amazon.com/outposts/home)에서 AWS Outposts 콘솔을 엽니다.

     1. 탐색 창에서 **로컬 게이트웨이 라우팅 테이블**을 선택합니다.

     1. 소스 Outpost의 **로컬 게이트웨이 라우팅 테이블 ID** 값을 선택합니다.

     1. 세부 정보 창에서 **CoIP 풀** 탭을 선택합니다. 이전에 복사한 CoIP 풀 ID의 값을 검색 상자에 붙여 넣습니다.

     1. 일치하는 CoIP 풀의 경우 소스 Outposts 엔드포인트의 해당 **CIDR** 값을 복사하여 [6단계](#outposts-pre-step6)에서 사용합니다.

### 2단계: 대상 Outposts 엔드포인트의 서브넷 ID 및 CIDR 범위 찾기
<a name="outposts-pre-step2"></a>

대상 액세스 포인트와 연결된 대상 엔드포인트의 서브넷 ID 및 CIDR 범위를 찾으려면 [1단계](#outposts-pre-step1)의 하위 단계와 동일한 단계를 따르고 해당 하위 단계를 적용할 때 소스 Outposts 엔드포인트를 대상 Outposts 엔드포인트로 변경합니다. [6단계](#outposts-pre-step6)에서 사용할 대상 Outposts 엔드포인트의 서브넷 ID 값을 복사합니다. [5단계](#outposts-pre-step5)에서 사용할 대상 Outposts 엔드포인트의 CIDR 값을 복사합니다.

### 3단계: 소스 Outpost의 로컬 게이트웨이 ID 찾기
<a name="outposts-pre-step3"></a>

**소스 Outpost의 로컬 게이트웨이 ID를 찾는 방법**

1. [https://console.aws.amazon.com/outposts/](https://console.aws.amazon.com/outposts/home)에서 AWS Outposts 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **로컬 게이트웨이**를 선택합니다.

1. **로컬 게이트웨이** 페이지에서 복제에 사용할 소스 Outpost의 Outpost ID를 찾습니다.

1. [5단계](#outposts-pre-step5)에서 사용할 소스 Outpost의 로컬 게이트웨이 ID 값을 복사합니다.

로컬 게이트웨이에 대한 자세한 내용은 **AWS Outposts 사용 설명서의 [로컬 게이트웨이](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-local-gateways.html)를 참조하세요.

### 3단계: 대상 Outpost의 로컬 게이트웨이 ID 찾기
<a name="outposts-pre-step4"></a>

대상 Outpost의 로컬 게이트웨이 ID를 찾으려면 [3단계](#outposts-pre-step3)의 하위 단계와 동일한 단계를 수행하되, 소스가 아닌 대상 Outpost의 Outpost ID를 찾습니다. [6단계](#outposts-pre-step6)에서 사용할 대상 Outpost의 로컬 게이트웨이 ID 값을 복사합니다.

### 5단계: 소스 Outpost 서브넷에서 대상 Outpost 서브넷으로의 연결 설정
<a name="outposts-pre-step5"></a>

**소스 Outpost 서브넷에서 대상 Outpost 서브넷으로 연결하는 방법**

1. AWS Management Console에 로그인하고 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **서브넷**을 선택합니다.

1. 검색 상자에 [1단계](#outposts-pre-step1)에서 찾은 소스 Outposts 엔드포인트의 서브넷 ID를 입력합니다. 일치하는 서브넷 ID가 있는 서브넷을 선택합니다.

1. 일치하는 서브넷 항목에 대해 이 서브넷의 **라우팅 테이블** 값을 선택합니다.

1. 선택한 라우팅 테이블이 있는 페이지에서 **작업**을 선택한 다음 **라우팅 편집**을 선택합니다.

1. **라우팅 편집** 페이지에서 **라우팅 추가**를 선택합니다.

1. **대상**(Destination)에서 [2단계](#outposts-pre-step2)에서 찾은 대상 Outposts 엔드포인트의 CIDR 범위를 입력합니다.

1. **대상**(Target)에서 **Outpost 로컬 게이트웨이**를 선택하고 [3단계](#outposts-pre-step3)에서 찾은 소스 Outpost의 로컬 게이트웨이 ID를 입력합니다.

1. **변경 사항 저장**을 선택합니다.

1. 라우팅의 **상태**가 **활성**이어야 합니다.

### 6단계: 대상 Outpost 서브넷에서 소스 Outpost 서브넷으로의 연결 설정
<a name="outposts-pre-step6"></a>

1. AWS Management Console에 로그인하고 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **서브넷**을 선택합니다.

1. 검색 상자에 [2단계](#outposts-pre-step2)에서 찾은 대상 Outposts 엔드포인트의 서브넷 ID를 입력합니다. 일치하는 서브넷 ID가 있는 서브넷을 선택합니다.

1. 일치하는 서브넷 항목에 대해 이 서브넷의 **라우팅 테이블** 값을 선택합니다.

1. 선택한 라우팅 테이블이 있는 페이지에서 **작업**을 선택한 다음 **라우팅 편집**을 선택합니다.

1. **라우팅 편집** 페이지에서 **라우팅 추가**를 선택합니다.

1. **대상**(Destination)에서 [1단계](#outposts-pre-step1)에서 찾은 소스 Outposts 엔드포인트의 CIDR 범위를 입력합니다.

1. **대상**(Target)에서 **Outpost 로컬 게이트웨이**를 선택하고 [4단계](#outposts-pre-step4)에서 찾은 대상 Outpost의 로컬 게이트웨이 ID를 입력합니다.

1. **변경 사항 저장**을 선택합니다.

1. 라우팅의 **상태**가 **활성**이어야 합니다.

 소스 및 대상 액세스 포인트의 CIDR 네트워킹 범위를 연결한 후에는 AWS Identity and Access Management(IAM) 역할을 생성해야 합니다.

## IAM 역할 생성
<a name="outposts-rep-pretwo"></a>

기본적으로 S3 on Outposts 리소스인 버킷, 객체 및 관련 하위 리소스는 모두 비공개이며 리소스 소유자만 리소스에 액세스할 수 있습니다. S3 on Outposts는 소스 Outposts 버킷에서 객체를 읽고 복제할 수 있는 권한이 필요합니다. IAM **서비스 역할을 생성하고 복제 구성에서 이 역할을 지정하여 이러한 권한을 부여합니다.

이 섹션에서는 신뢰 정책과 필요한 최소한의 권한 정책을 설명합니다. 연습 예제가 IAM 역할을 생성하는 단계별 지침을 제공합니다. 자세한 내용은 [Outposts에서 복제 규칙 생성](replication-between-outposts.md) 섹션을 참조하세요. IAM 역할에 대한 자세한 내용은 *IAM 사용 설명서*의 [IAM 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) 단원을 참조하세요.
+ 다음 예시는 역할을 맡을 수 있는 서비스 보안 주체로서 S3 on Outposts를 식별하는 **신뢰 정책을 보여줍니다.

------
#### [ JSON ]

****  

  ```
  {
     "Version":"2012-10-17",		 	 	 
     "Statement":[
        {
           "Effect":"Allow",
           "Principal":{
              "Service":"s3-outposts.amazonaws.com"
           },
           "Action":"sts:AssumeRole"
        }
     ]
  }
  ```

------
+ 다음 예제는 역할에 사용자 대신 복제 작업을 수행할 권한을 부여하는 *액세스 정책*을 보여줍니다. S3 on Outposts가 이 역할을 맡으면 이 정책에 지정된 권한을 보유하게 됩니다. 이 정책을 사용하려면 `user input placeholders`를 실제 정보로 대체합니다. 소스 및 대상 Outpost 버킷의 Outpost ID와 소스 및 대상 Outposts 버킷의 버킷 이름 및 액세스 포인트 이름으로 교체해야 합니다.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "s3-outposts:GetObjectVersionForReplication",
                  "s3-outposts:GetObjectVersionTagging"
              ],
              "Resource": [
                  "arn:aws:s3-outposts:us-east-1:123456789012:outpost/SOURCE-OUTPOST-ID/bucket/SOURCE-OUTPOSTS-BUCKET/object/*",
                  "arn:aws:s3-outposts:us-east-1:123456789012:outpost/SOURCE-OUTPOST-ID/accesspoint/SOURCE-OUTPOSTS-BUCKET-ACCESS-POINT/object/*"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "s3-outposts:ReplicateObject",
                  "s3-outposts:ReplicateDelete"
              ],
              "Resource": [
                  "arn:aws:s3-outposts:us-east-1:123456789012:outpost/DESTINATION-OUTPOST-ID/bucket/DESTINATION-OUTPOSTS-BUCKET/object/*",
                  "arn:aws:s3-outposts:us-east-1:123456789012:outpost/DESTINATION-OUTPOST-ID/accesspoint/DESTINATION-OUTPOSTS-BUCKET-ACCESS-POINT/object/*"
              ]
          }
      ]
  }
  ```

------

  액세스 정책은 다음 작업을 수행할 권한을 부여합니다.
  + `s3-outposts:GetObjectVersionForReplication` - 모든 객체에 이 작업에 대한 권한이 부여되어 S3 on Outposts가 각 객체와 연결된 특정 객체 버전을 가져올 수 있습니다.

    
  + `s3-outposts:GetObjectVersionTagging` - *`SOURCE-OUTPOSTS-BUCKET`* 버킷(소스 버킷)의 객체에 이 작업 권한이 있으면 S3 on Outposts가 복제를 위해 객체 태그를 읽을 수 있습니다. 자세한 내용은 [S3 on Outposts 버킷에 대한 태그 추가](S3OutpostsBucketTags.md) 섹션을 참조하세요. 이러한 권한이 없을 경우 S3 on Outposts는 객체를 복제하지만 객체 태그는 복제하지 않습니다.
  + `s3-outposts:ReplicateObject` 및 `s3-outposts:ReplicateDelete` - *`DESTINATION-OUTPOSTS-BUCKET`* 버킷(대상 버킷)의 모든 객체에 이 작업 권한이 있으면 S3 on Outposts가 대상 버킷에 객체 또는 삭제 마커를 복제할 수 있습니다. 삭제 마커에 대한 자세한 내용은 [삭제 작업이 복제에 미치는 영향](S3OutpostsReplication.md#outposts-replication-delete-op)을 참조하세요.
**참고**  
*`DESTINATION-OUTPOSTS-BUCKET`* 버킷(대상 버킷)에 `s3-outposts:ReplicateObject` 작업에 대한 권한이 있으면 객체 태그의 복제도 허용합니다. 따라서 `s3-outposts:ReplicateTags` 작업에 대한 권한을 명시적으로 부여할 필요가 없습니다.
크로스 계정 복제의 경우 대상 Outposts 버킷의 소유자가 버킷 정책을 업데이트하여 *`DESTINATION-OUTPOSTS-BUCKET`*에 `s3-outposts:ReplicateObject` 작업에 대한 권한을 부여해야 합니다. `s3-outposts:ReplicateObject` 작업은 S3 on Outposts가 대상 Outposts 버킷에 객체 및 객체 태그를 복제하도록 허용합니다.

  S3 on Outposts 작업 목록은 [S3 on Outposts에서 정의한 작업](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3onoutposts.html#amazons3onoutposts-actions-as-permissions)을 참조하세요.
**중요**  
IAM 역할을 소유한 AWS 계정은 해당 IAM 역할에 부여된 작업을 수행할 권한이 있어야 합니다.  
예를 들어, 소스 Outposts 버킷에 다른 AWS 계정이 소유한 객체가 포함되어 있다고 가정하겠습니다. 객체 소유자는 버킷 정책 및 액세스 포인트 정책을 통해 IAM 역할을 소유한 AWS 계정에 필요한 권한을 명시적으로 부여해야 합니다. 그러지 않으면 S3 on Outposts는 객체에 액세스할 수 없으므로 객체의 복제가 실패합니다.  
여기에서 설명하는 권한은 최소 복제 구성과 관련됩니다. 선택적 복제 구성을 추가하려면 S3 on Outposts에 추가 권한을 부여해야 합니다.

### 소스 및 대상 Outposts 버킷을 서로 다른 AWS 계정에서 소유할 경우 권한 부여
<a name="outposts-rep-prethree"></a>

소스 및 대상 Outposts 버킷을 동일한 계정에서 소유하지 않는 경우, 대상 Outposts 버킷의 소유자가 대상 버킷에 대한 버킷과 액세스 포인트 정책을 업데이트해야 합니다. 이러한 정책은 다음 정책 예시와 같이 소스 Outposts 버킷의 소유자와 IAM 서비스 역할에 복제 작업을 수행할 수 있는 권한을 부여해야 합니다. 그러지 않으면 복제가 실패합니다. 이 정책에서는 *`DESTINATION-OUTPOSTS-BUCKET`*가 대상 버킷입니다. 이러한 정책 예시를 사용하려면 `user input placeholders`를 실제 정보로 대체하세요.

IAM 서비스 역할을 수동으로 생성하는 경우 다음 정책 예시에 나온 것처럼 역할 경로를 `role/service-role/`로 설정합니다. 자세한 내용을 알아보려면 *IAM 사용 설명서*의 [IAM ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns)을 참조하세요.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PolicyForDestinationBucket",
    "Statement": [
        {
            "Sid": "Permissions on objects",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/service-role/source-account-IAM-role"
            },
            "Action": [
                "s3-outposts:ReplicateDelete",
                "s3-outposts:ReplicateObject"
            ],
            "Resource": [
                "arn:aws:s3-outposts:us-east-1:444455556666:outpost/DESTINATION-OUTPOST-ID/bucket/DESTINATION-OUTPOSTS-BUCKET/object/*"
            ]
        }
    ]
}
```

------

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PolicyForDestinationAccessPoint",
    "Statement": [
        {
            "Sid": "Permissions on objects",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/service-role/source-account-IAM-role"
            },
            "Action": [
                "s3-outposts:ReplicateDelete",
                "s3-outposts:ReplicateObject"
            ],
            "Resource": [
                "arn:aws:s3-outposts:us-east-1:111122223333:outpost/DESTINATION-OUTPOST-ID/accesspoint/DESTINATION-OUTPOSTS-BUCKET-ACCESS-POINT/object/*"
            ]
        }
    ]
}
```

------

**참고**  
소스 Outposts 버킷에 있는 객체에 태그가 지정된 경우, 다음에 주의하세요.  
소스 Outposts 버킷 소유자가 객체 태그를 복사할 수 있도록 `s3-outposts:GetObjectVersionTagging` 및 `s3-outposts:ReplicateTags` 작업 권한을 (IAM 역할을 통해) S3 on Outposts에 부여하는 경우, Amazon S3는 해당 객체와 함께 태그를 복제합니다. IAM 역할에 대한 상세 정보는 [IAM 역할 생성](#outposts-rep-pretwo) 섹션을 참조하세요.

# Outposts에서 복제 규칙 생성
<a name="replication-between-outposts"></a>

Outposts에서의 S3 복제는 동일하거나 서로 다른 AWS Outposts의 버킷 간에 객체가 비동기식으로 자동 복사되는 것을 말합니다. 복제는 새로 생성된 객체 및 객체 업데이트를 소스 Outposts 버킷에서 대상 Outposts 버킷으로 복사합니다. 자세한 내용은 [S3 on Outposts에 대한 객체 복제](S3OutpostsReplication.md) 섹션을 참조하세요.

**참고**  
복제를 설정하기 전에 소스 Outposts 버킷에 있던 객체는 자동으로 복제되지 않습니다. 즉, S3 on Outposts는 소급하여 객체를 복제하지 않습니다. 복제 구성 전에 생성된 객체를 복제하려면 `CopyObject` API 작업을 사용하여 동일한 버킷에 객체를 복사할 수 있습니다. 객체가 복사된 후에는 버킷에 '새' 객체로 나타나고 복제 구성이 해당 객체에 적용됩니다. 객체 복사에 대한 자세한 내용은 **Amazon Simple Storage Service API 참조의 [AWS SDK for Java를 사용하여 Amazon S3 on Outposts 버킷의 객체 복사](S3OutpostsCopyObject.md) 및 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) 섹션을 참조하세요.

복제를 구성할 때는 소스 Outposts 버킷에 복제 규칙을 추가합니다. 복제 규칙은 복제할 소스 Outposts 버킷 객체와 복제된 객체가 저장될 대상 Outposts 버킷을 정의합니다. 특정 키 이름 접두사, 하나 이상의 객체 태그 또는 이 두 가지를 모두 포함하는 버킷 또는 객체 하위 집합에 있는 모든 객체를 복제하는 규칙을 작성할 수 있습니다. 대상 Outposts 버킷은 소스 Outposts 버킷과 동일한 Outpost에 있거나 다른 Outpost에 존재할 수 있습니다.

S3 on Outposts 복제 규칙의 경우 소스 및 대상 Outposts 버킷 이름 대신 소스 Outposts 버킷의 액세스 포인트 Amazon 리소스 이름(ARN)과 대상 Outposts 버킷의 액세스 포인트 ARN을 모두 제공해야 합니다.

삭제할 객체 버전 ID를 지정하는 경우, S3 on Outposts가 소스 Outposts 버킷에서 해당 객체 버전을 삭제합니다. 하지만 대상 Outposts 버킷에는 삭제를 복제하지 않습니다. 즉, 대상 Outposts 버킷에서 동일한 객체 버전을 삭제하지 않습니다. 이 동작은 악의적 삭제로부터 데이터를 보호합니다.

Outposts 버킷에 복제 규칙을 추가하면 이 규칙이 기본적으로 활성화되므로 이 규칙을 저장하면 그 즉시 적용됩니다.

이 예시에서는 소스 및 대상 Outposts 버킷이 서로 다른 Outposts에 존재하지만 동일한 AWS 계정에서 소유한 상황에서 복제를 설정합니다. Amazon S3 콘솔, AWS Command Line Interface(AWS CLI), AWS SDK for Java 및 AWS SDK for .NET을 사용하는 예제가 제공됩니다. Outposts에서의 크로스 계정 S3 복제 권한에 대한 자세한 내용은 [소스 및 대상 Outposts 버킷을 서로 다른 AWS 계정에서 소유할 경우 권한 부여](outposts-replication-prerequisites-config.md#outposts-rep-prethree) 섹션을 참조하세요.

S3 on Outposts 복제 규칙을 설정하기 위한 사전 요구 사항은 [복제 규칙 생성을 위한 사전 조건](outposts-replication-prerequisites-config.md) 섹션을 참조하세요.

## S3 콘솔 사용
<a name="outposts-enable-replication"></a>

대상 Amazon S3 on Outposts 버킷이 소스 Outposts 버킷과 다른 Outpost에 있는 경우 복제 규칙을 구성하려면 다음 단계를 따릅니다.

대상 Outposts 버킷이 소스 Outposts 버킷과 다른 계정에 있는 경우, 소스 Outposts 버킷 계정의 소유자에게 대상 Outposts 버킷의 객체를 복제할 수 있는 권한을 부여하려면 대상 Outposts 버킷에 하나의 버킷 정책을 추가해야 합니다.

**복제 규칙을 만드는 방법**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. **버킷** 목록에서 소스 버킷으로 사용할 버킷의 이름을 선택합니다.

1. **관리** 탭을 선택하고 **복제 규칙** 섹션까지 아래로 스크롤한 다음 **복제 규칙 생성**을 선택합니다.

1. **복제 규칙 이름**에 나중에 규칙을 쉽게 식별할 수 있는 규칙 이름을 입력합니다. 이름은 필수 항목이며 버킷 내에서 고유해야 합니다.

1. **상태** 아래의 **활성화됨**이 기본적으로 선택됩니다. 사용 설정된 규칙은 저장하는 즉시 적용되기 시작합니다. 나중에 규칙을 활성화하고 싶다면 **비활성화됨**을 선택하세요.

1. **우선 순위**에서는 규칙의 우선 순위 값에 따라 중복되는 규칙이 있는 경우 적용할 규칙이 결정됩니다. 객체가 여러 복제 규칙의 범위에 포함된 경우 S3 on Outposts는 이 우선 순위 값을 사용하여 충돌을 피합니다. 기본적으로 새 규칙은 가장 높은 우선 순위로 복제 구성에 추가됩니다. 숫자가 클수록 우선 순위가 높아집니다.

   규칙의 우선 순위를 변경하려면 규칙을 저장한 후 복제 규칙 목록에서 규칙 이름을 선택하고 **작업**을 선택한 다음 **우선 순위 편집**을 선택합니다.

1. **소스 버킷**에는 복제 소스를 설정하기 위한 다음과 같은 옵션이 있습니다.
   + 전체 버킷을 복제하려면 **버킷의 모든 객체에 적용****을 선택합니다.
   + 복제 소스에 접두사 또는 태그 필터링을 적용하려면 **하나 이상의 필터를 사용하여 이 규칙의 범위 제한**을 선택합니다. 접두사와 태그를 결합할 수도 있습니다.
     + 동일한 접두사를 가진 모든 객체를 복제하려면 **접두사**에서 상자에 접두사를 입력합니다. **접두사** 필터를 사용하면 이름이 동일한 문자열(예: `pictures`)로 시작하는 모든 객체로 복제가 제한됩니다.

       폴더의 이름에 해당하는 접두사를 입력할 경우, **/**(슬래시)를 마지막 문자로 사용해야 합니다(예: `pictures/`).
     + 하나 이상의 동일한 객체 태그가 있는 모든 객체를 복제하려면 **태그 추가**를 선택한 다음, 상자에 키 값 페어를 입력합니다. 다른 태그를 추가하려면 이 절차를 반복합니다. 객체 태그에 대한 자세한 내용은 [S3 on Outposts 버킷에 대한 태그 추가](S3OutpostsBucketTags.md) 섹션을 참조하십시오.

1. 복제를 위해 S3 on Outposts 소스 버킷에 액세스하려면 **소스 액세스 포인트 이름**에서 소스 버킷에 연결된 액세스 포인트를 선택합니다.

1. **대상**에서 S3 on Outposts가 객체를 복사하도록 할 Outposts 버킷킷의 액세스 포인트 ARN을 선택합니다. 대상 Outposts 버킷은 소스 Outposts 버킷과 동일하거나 다른 AWS 계정에 있을 수 있습니다.

   대상 버킷이 소스 Outposts 버킷과 다른 계정에 있는 경우, 소스 Outposts 버킷 계정의 소유자에게 대상 Outposts 버킷에 객체를 복제할 수 있는 권한을 부여하려면 대상 Outposts 버킷에 하나의 버킷 정책을 추가해야 합니다. 자세한 내용은 [소스 및 대상 Outposts 버킷을 서로 다른 AWS 계정에서 소유할 경우 권한 부여](outposts-replication-prerequisites-config.md#outposts-rep-prethree) 섹션을 참조하세요.
**참고**  
대상 Outposts 버킷에서 버전 관리가 활성화되어 있지 않을 경우, **버전 관리 활성화** 버튼이 포함된 경고가 나타납니다. 이 버튼을 선택하면 버킷의 버전 관리가 사용 설정됩니다.

1. S3 on Outposts가 사용자 대신 객체를 복제하기 위해 수임할 수 있는 AWS Identity and Access Management(IAM) 서비스 역할을 설정합니다.

   IAM 역할을 설정하려면 **IAM 역할**에서 다음 중 하나를 수행합니다.
   + S3 on Outposts에서 복제 구성을 위한 새 IAM 역할을 생성하도록 하려면 **기존 IAM 역할에서 선택**을 선택한 다음, **새 역할 생성**을 선택합니다. 규칙을 저장하면 선택한 소스 및 대상 Outposts 버킷과 일치하는 IAM 역할에 대해 새 정책이 생성됩니다. **새 역할 생성**을 선택하는 것이 좋습니다.
   + 기존 IAM 역할을 사용하는 방법도 있습니다. 이 경우 복제에 필요한 권한을 S3 on Outposts에 부여하는 역할을 선택해야 합니다. 이 역할이 복제 규칙을 따를 수 있는 충분한 권한을 S3 on Outposts에 부여하지 않으면 복제가 실패합니다.

     기존 역할을 선택하려면 **기존 IAM 역할에서 선택**을 선택한 다음, 드롭다운 메뉴에서 역할을 선택합니다. **IAM 역할 ARN 입력**을 선택한 다음 IAM 역할의 Amazon 리소스 이름(ARN)을 입력할 수도 있습니다.
**중요**  
S3 on Outposts 버킷에 복제 규칙을 추가할 때 S3 on Outposts에 복제 권한을 부여하는 IAM 역할을 만들어 전달할 수 있는 `iam:CreateRole` 및 `iam:PassRole` 권한이 있어야 합니다. 자세한 내용은 **IAM 사용 설명서에서 [사용자에게 AWS 서비스에 역할을 전달할 권한 부여](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html)를 참조하세요.

1. Outposts 버킷에 있는 모든 객체는 기본적으로 암호화됩니다. S3 on Outposts 암호화에 대한 자세한 내용은 [S3 on Outposts의 데이터 암호화](s3-outposts-data-encryption.md) 섹션을 참조하세요. Amazon S3 관리형 키(SSE-S3)를 통한 서버 측 암호화를 사용하여 암호화된 객체만 복제할 수 있습니다. AWS Key Management Service(AWS KMS) 키(SSE-KMS)를 통한 서버 측 암호화 또는 고객 제공 암호화 키(SSE-C)를 통한 서버 측 암호화로 암호화된 객체에는 복제가 지원되지 않습니다.

1. 필요에 따라 복제 규칙 구성을 설정할 때 다음과 같은 추가 옵션을 활성화하세요.
   + 복제 구성에서 S3 on Outposts 복제 지표를 활성화하려면 **복제 지표**를 선택합니다. 자세한 내용은 [복제 지표로 진행 상태 모니터링](manage-outposts-replication.md#outposts-enabling-replication-metrics) 섹션을 참조하세요.
   + 복제 구성에서 삭제 마커 복제를 사용 설정하려면 **삭제 마커 복제(Delete marker replication)**를 선택합니다. 자세한 내용은 [삭제 작업이 복제에 미치는 영향](S3OutpostsReplication.md#outposts-replication-delete-op) 섹션을 참조하세요.
   + 복제본에 대한 메타데이터 변경 내용을 소스 객체에 다시 복제하려면 **복제본 수정 동기화**를 선택합니다. 자세한 내용은 [Outposts에서 Amazon S3 복제본 수정 동기화가 활성화된 경우 복제 상태](manage-outposts-replication.md#outposts-replication-status-sync) 섹션을 참조하세요.

1. 완료하려면 **규칙 생성**을 선택합니다.

규칙을 저장하면 규칙을 편집, 활성화, 비활성화하거나 삭제할 수 있습니다. 이렇게 하려면 소스 Outposts 버킷의 **관리** 탭으로 이동하여 아래로 스크롤하여 **복제 규칙** 섹션에서 규칙을 선택한 다음 **규칙 편집**을 선택합니다.

## AWS CLI 사용
<a name="outposts-replication-ex1-cli"></a>

소스 및 대상 Outposts 버킷을 동일한 AWS 계정에서 소유한 경우 AWS CLI를 사용하여 복제를 설정하려면 다음을 수행합니다.
+ 소스 및 대상 Outposts 버킷 생성
+ 두 버킷의 버전 관리를 활성화합니다.
+ S3 on Outposts에 객체 복제 권한을 제공하는 IAM 역할을 생성합니다.
+ 소스 Outposts 버킷에 복제 구성을 추가합니다.

설정을 확인하려면 테스트합니다.

**소스 및 대상 Outposts 버킷을 동일한 AWS 계정에서 소유한 경우 복제를 설정하는 방법**

1. AWS CLI의 자격 증명 프로필을 설정합니다. 이 예제에서는 프로필 이름 `acctA`를 사용합니다. 보안 인증 프로파일 설정에 대한 자세한 내용은 **AWS Command Line Interface 사용 설명서의 [명명된 프로파일](https://docs.aws.amazon.com/cli/latest/userguide/cli-multiple-profiles.html)을 참조하세요.
**중요**  
이 연습에 사용하는 프로파일에 필요한 권한이 있어야 합니다. 예를 들어 복제 구성에서 S3 on Outposts가 맡을 수 있는 IAM 서비스 역할을 지정합니다. 사용하는 프로필에 `iam:CreateRole` 및 `iam:PassRole` 권한이 있을 경우에만 이 작업을 수행할 수 있습니다. 자세한 내용은 **IAM 사용 설명서에서 [사용자에게 AWS 서비스에 역할을 전달할 권한 부여](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html)를 참조하세요. 관리자 보안 인증 정보를 사용하여 명명된 프로파일을 생성할 경우 명명된 프로파일에 모든 작업을 수행하는 데 필요한 권한이 부여됩니다.

1. 원본 버킷을 생성하고 버킷에서 버전 관리를 사용 설정합니다. 다음 `create-bucket` 명령은 미국 동부(버지니아 북부)(`us-east-1`) 리전에 `SOURCE-OUTPOSTS-BUCKET` 버킷을 생성합니다. 이 명령을 사용하려면 `user input placeholders`를 실제 정보로 대체합니다.

   ```
   aws s3control create-bucket --bucket SOURCE-OUTPOSTS-BUCKET --outpost-id SOURCE-OUTPOST-ID --profile acctA --region us-east-1
   ```

   다음 `put-bucket-versioning` 명령은 `SOURCE-OUTPOSTS-BUCKET` 버킷의 버전 관리를 활성화합니다. 이 명령을 사용하려면 `user input placeholders`를 실제 정보로 대체합니다.

   ```
   aws s3control put-bucket-versioning --account-id 123456789012 --bucket arn:aws:s3-outposts:region:123456789012:outpost/SOURCE-OUTPOST-ID/bucket/SOURCE-OUTPOSTS-BUCKET --versioning-configuration Status=Enabled --profile acctA
   ```

1. 대상 버킷을 생성하고 버킷에서 버전 관리를 사용 설정합니다. 다음 `create-bucket` 명령은 미국 서부(오레곤)(`us-west-2`) 리전에 `DESTINATION-OUTPOSTS-BUCKET` 버킷을 생성합니다. 이 명령을 사용하려면 `user input placeholders`를 실제 정보로 대체합니다.
**참고**  
소스 및 대상 Outposts 버킷이 모두 동일한 AWS 계정에 있을 때 복제 구성을 설정하려면 동일한 명명된 프로파일을 사용합니다. 이 예제에서는 `acctA`를 사용합니다. 두 버킷을 서로 다른 AWS 계정에서 소유한 경우의 복제 구성을 테스트하려면 버킷마다 각각 다른 프로파일을 지정합니다.

   ```
   aws s3control create-bucket --bucket DESTINATION-OUTPOSTS-BUCKET --create-bucket-configuration LocationConstraint=us-west-2 --outpost-id DESTINATION-OUTPOST-ID --profile acctA --region us-west-2                       
   ```

   다음 `put-bucket-versioning` 명령은 `DESTINATION-OUTPOSTS-BUCKET` 버킷의 버전 관리를 활성화합니다. 이 명령을 사용하려면 `user input placeholders`를 실제 정보로 대체합니다.

   ```
   aws s3control put-bucket-versioning --account-id 123456789012 --bucket arn:aws:s3-outposts:region:123456789012:outpost/DESTINATION-OUTPOST-ID/bucket/DESTINATION-OUTPOSTS-BUCKET --versioning-configuration Status=Enabled --profile acctA
   ```

1. IAM 서비스 역할을 생성합니다. 복제 구성 과정에서 이 서비스 역할을 `SOURCE-OUTPOSTS-BUCKET` 버킷에 추가하게 됩니다. S3 on Outposts는 사용자를 대신하여 객체를 복제하기 위해 이 역할을 맡습니다. IAM 역할은 다음의 두 단계로 생성합니다.

   1. IAM 역할을 생성합니다.

      1. 다음 신뢰 정책을 복사하여 로컬 컴퓨터의 현재 디렉터리에 `s3-on-outposts-role-trust-policy.json`이라는 이름의 파일로 저장합니다. 이 정책은 서비스 역할을 맡을 권한을 S3 on Outposts 서비스 보안 주체에 부여합니다.

------
#### [ JSON ]

****  

         ```
         {
            "Version":"2012-10-17",		 	 	 
            "Statement":[
               {
                  "Effect":"Allow",
                  "Principal":{
                     "Service":"s3-outposts.amazonaws.com"
                  },
                  "Action":"sts:AssumeRole"
               }
            ]
         }
         ```

------

      1. 다음 명령을 실행해 역할을 생성합니다. `user input placeholders`를 사용자의 정보로 대체합니다.

         ```
         aws iam create-role --role-name replicationRole --assume-role-policy-document file://s3-on-outposts-role-trust-policy.json --profile acctA
         ```

   1. 서비스 역할에 권한 정책을 연결합니다.

      1. 다음 권한 정책을 복사하여 로컬 컴퓨터의 현재 디렉터리에 `s3-on-outposts-role-permissions-policy.json` 파일로 저장합니다. 이 정책은 다양한 S3 on Outposts 버킷 및 객체 작업에 대한 권한을 부여합니다. 이 정책을 사용하려면 `user input placeholders`를 실제 정보로 대체합니다.

------
#### [ JSON ]

****  

         ```
         {
             "Version":"2012-10-17",		 	 	 
             "Statement": [
                 {
                     "Effect": "Allow",
                     "Action": [
                         "s3-outposts:GetObjectVersionForReplication",
                         "s3-outposts:GetObjectVersionTagging"
                     ],
                     "Resource": [
                         "arn:aws:s3-outposts:us-east-1:123456789012:outpost/SOURCE-OUTPOST-ID/bucket/SOURCE-OUTPOSTS-BUCKET/object/*",
                         "arn:aws:s3-outposts:us-east-1:123456789012:outpost/SOURCE-OUTPOST-ID/accesspoint/SOURCE-OUTPOSTS-BUCKET-ACCESS-POINT/object/*"
                     ]
                 },
                 {
                     "Effect": "Allow",
                     "Action": [
                         "s3-outposts:ReplicateObject",
                         "s3-outposts:ReplicateDelete"
                     ],
                     "Resource": [
                         "arn:aws:s3-outposts:us-east-1:123456789012:outpost/DESTINATION-OUTPOST-ID/bucket/DESTINATION-OUTPOSTS-BUCKET/object/*",
                         "arn:aws:s3-outposts:us-east-1:123456789012:outpost/DESTINATION-OUTPOST-ID/accesspoint/DESTINATION-OUTPOSTS-BUCKET-ACCESS-POINT/object/*"
                     ]
                 }
             ]
         }
         ```

------

      1. 다음 명령을 실행하여 정책을 생성하고 이를 역할에 연결합니다. `user input placeholders`를 사용자의 정보로 대체합니다.

         ```
         aws iam put-role-policy --role-name replicationRole --policy-document file://s3-on-outposts-role-permissions-policy.json --policy-name replicationRolePolicy --profile acctA
         ```

1. `SOURCE-OUTPOSTS-BUCKET` 버킷에 복제 구성을 추가합니다.

   1. S3 on Outposts API는 XML 형식의 복제 구성을 요구하지만 AWS CLI는 JSON으로 지정된 복제 구성을 요구합니다. 다음 JSON을 로컬 컴퓨터의 현재 디렉터리에 `replication.json` 파일로 저장합니다. 이 구성을 사용하려면 `user input placeholders`를 실제 정보로 대체합니다.

      ```
      {
        "Role": "IAM-role-ARN",
        "Rules": [
          {
            "Status": "Enabled",
            "Priority": 1,
            "DeleteMarkerReplication": { "Status": "Disabled" },
            "Filter" : { "Prefix": "Tax"},
            "Destination": {
              "Bucket": 
              "arn:aws:s3-outposts:region:123456789012:outpost/DESTINATION-OUTPOST-ID/accesspoint/DESTINATION-OUTPOSTS-BUCKET-ACCESS-POINT"
            }
          }
        ]
      }
      ```

   1. 다음 `put-bucket-replication` 명령을 실행하여 소스 Outposts 버킷에 복제 구성을 추가합니다. 이 명령을 사용하려면 `user input placeholders`를 실제 정보로 대체합니다.

      ```
      aws s3control put-bucket-replication --account-id 123456789012 --bucket arn:aws:s3-outposts:region:123456789012:outpost/SOURCE-OUTPOST-ID/bucket/SOURCE-OUTPOSTS-BUCKET --replication-configuration file://replication.json --profile acctA
      ```

   1. 복제 구성을 검색하려면 `get-bucket-replication` 명령을 사용합니다. 이 명령을 사용하려면 `user input placeholders`를 실제 정보로 대체합니다.

      ```
      aws s3control get-bucket-replication --account-id 123456789012 --bucket arn:aws:s3-outposts:region:123456789012:outpost/SOURCE-OUTPOST-ID/bucket/SOURCE-OUTPOSTS-BUCKET --profile acctA
      ```

1. Amazon S3 콘솔에서 다음과 같이 설정을 테스트합니다.

   1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

   1. `SOURCE-OUTPOSTS-BUCKET` 버킷에서 이름이 `Tax`인 폴더를 생성합니다.

   1. `SOURCE-OUTPOSTS-BUCKET` 버킷의 `Tax` 폴더에 샘플 객체를 추가합니다.

   1. `DESTINATION-OUTPOSTS-BUCKET` 버킷에서 다음을 확인합니다.
      + S3 on Outposts가 객체를 복제했습니다.
**참고**  
S3 on Outposts가 객체를 복제하는 데 걸리는 시간은 객체 크기에 따라 다릅니다. 복제 상태를 확인하는 방법에 대한 자세한 내용은 [복제 상태 정보 가져오기](manage-outposts-replication.md#outposts-replication-status) 섹션을 참조하세요.
      + 객체의 **속성**에서 **복제 상태**가 **복제본**으로 설정됩니다(이 객체를 복제본 객체로 식별함).

# 복제 관리
<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)