

# 다중 리전 액세스 포인트를 통한 요청
<a name="MultiRegionAccessPointRequests"></a>

다른 리소스와 마찬가지로 Amazon S3 다중 리전 액세스 포인트에는 Amazon 리소스 이름(ARN)이 있습니다. 이러한 ARN을 사용하면 AWS Command Line Interface(AWS CLI), AWS SDK 또는 Amazon S3 API를 사용하여 다중 리전 액세스 포인트로 요청을 보낼 수 있습니다. 또한 이러한 ARN을 사용하여 액세스 제어 정책에서 다중 리전 액세스 포인트를 식별할 수 있습니다. 다중 리전 액세스 ARN에는 다중 리전 액세스 포인트의 이름이 포함되거나 공개되지 않습니다. ARN에 대한 자세한 내용은 **AWS 일반 참조의 [Amazon 리소스 이름(ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)을 참조하세요.

**참고**  
다중 리전 액세스 포인트 별칭과 ARN은 서로 바꿔서 사용할 수 없습니다.

다중 리전 액세스 포인트 ARN은 다음 형식을 사용합니다.

 `arn:aws:s3::account-id:accesspoint/MultiRegionAccessPoint_alias`

다중 리전 액세스 포인트 ARN의 예를 들면 같습니다.
+ `arn:aws:s3::123456789012:accesspoint/mfzwi23gnjvgw.mrap`는 별칭이 `mfzwi23gnjvgw.mrap`이고 AWS 계정 `123456789012`에서 소유한 다중 리전 액세스 포인트를 나타냅니다.
+ `arn:aws:s3::123456789012:accesspoint/*`는 `123456789012` 계정에 있는 모든 다중 리전 액세스 포인트를 나타냅니다. 이 ARN은 `123456789012` 계정의 모든 다중 리전 액세스 포인트와 매칭하지만 ARN에 AWS 리전이 포함되어 있지 않기 때문에 리전 Amazon S3 액세스 포인트와는 매칭하지 않습니다. 대조적으로 `arn:aws:s3:us-west-2:123456789012:accesspoint/*` ARN은 계정 `123456789012`에 대한 `us-west-2` 리전의 모든 리전 액세스 포인트와 매칭하지만 다중 리전 액세스 포인트와는 매칭하지 않습니다.

다중 리전 액세스 포인트를 통해 액세스하는 객체의 ARN은 다음 형식을 사용합니다.

 `arn:aws:s3::account_id:accesspoint/MultiRegionAccessPoint_alias//key`

다중 리전 액세스 포인트 ARN과 마찬가지로 다중 리전 액세스 포인트를 통해 액세스되는 객체의 ARN에는 AWS 리전 리전이 포함되지 않습니다. 여기 몇 가지 예가 있습니다.
+ `arn:aws:s3::123456789012:accesspoint/mfzwi23gnjvgw.mrap//-01`은 별칭이 `mfzwi23gnjvgw.mrap`이며 계정 `123456789012`에서 소유한 다중 리전 액세스 포인트를 통해 액세스되는 `-01`을 나타냅니다.
+ `arn:aws:s3::123456789012:accesspoint/mfzwi23gnjvgw.mrap//*`는 별칭이 `mfzwi23gnjvgw.mrap`이며 `123456789012` 계정에서 소유한 다중 리전 액세스 포인트를 통해 액세스될 수 있는 모든 객체를 나타냅니다.
+ `arn:aws:s3::123456789012:accesspoint/mfzwi23gnjvgw.mrap//-01/finance/*`는 별칭이 `mfzwi23gnjvgw.mrap`이며 `123456789012` 계정에서 소유한 다중 리전 액세스 포인트의 `-01/finance/`에서 액세스될 수 있는 모든 객체를 나타냅니다.

## 다중 리전 액세스 포인트 호스트 이름
<a name="MultiRegionAccessPointHostnames"></a>

다중 리전 액세스 포인트의 호스트 이름을 사용하여 다중 리전 액세스 포인트를 통해 Amazon S3 데이터에 액세스할 수 있습니다. 공용 인터넷에서 이 호스트 이름으로 요청을 보낼 수 있습니다. 다중 리전 액세스 포인트에 대해 하나 이상의 인터넷 게이트웨이를 구성한 경우 Virtual Private Cloud(VPC)에서 이 호스트 이름으로 요청을 보낼 수 있습니다. 다중 리전 액세스 포인트에 사용할 VPC 인터페이스 엔드포인트에 대한 자세한 내용은 [AWS PrivateLink와 함께 사용할 다중 리전 액세스 포인트 구성](MultiRegionAccessPointsPrivateLink.md) 섹션을 참조하세요.

VPC 엔드포인트를 사용하여 VPC에서 다중 리전 액세스 포인트를 통해 요청하려면 AWS PrivateLink를 사용하면 됩니다. AWS PrivateLink를 사용한 다중 리전 액세스 포인트에 대한 요청에는 `region.vpce.amazonaws.com`으로 끝나는 엔드포인트별 리전 도메인 이름 시스템(DNS)을 직접 사용할 수 없습니다. 이 호스트 이름에는 연결된 인증서가 없으므로 직접 사용할 수 없습니다. VPC 엔드포인트의 퍼블릭 도메인 이름 시스템(DNS) 이름을 `CNAME` 또는 `ALIAS` 대상으로 계속 사용할 수 있습니다. 또는 엔드포인트에서 프라이빗 도메인 이름 시스템(DNS)을 사용하도록 설정하고 이 섹션에 설명된 대로 표준 다중 리전 액세스 포인트 `MultiRegionAccessPoint_alias.accesspoint.s3-global.amazonaws.com` 도메인 이름 시스템(DNS) 이름을 사용할 수 있습니다.

다중 리전 액세스 포인트를 통해 Amazon S3 데이터에 대한 API 작업을 사용하는 경우(예: `GetObject`) 요청의 호스트 이름은 다음과 같습니다.

`MultiRegionAccessPoint_alias.accesspoint.s3-global.amazonaws.com` 

예를 들어, 별칭이 `mfzwi23gnjvgw.mrap`인 다중 리전 액세스 포인트를 통해 `GetObject` 요청을 하려면 `mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com` 호스트 이름에 대해 요청합니다. 참고: 이 호스트 이름의 `s3-global` 부분은 이 호스트 이름이 특정 리전에 대한 이름이 아님을 나타냅니다.

다중 리전 액세스 포인트를 통한 요청은 단일 리전 액세스 포인트를 통한 요청과 유사합니다. 하지만 다음과 같은 차이점에 유의하세요.
+  다중 리전 액세스 포인트 ARN에는 AWS 리전이 포함되지 않습니다. 해당 액세스 포인트는 `arn:aws:s3::account-id:accesspoint/MultiRegionAccessPoint_alias` 형식을 따릅니다.
+  API 작업을 통한 요청의 경우(ARN을 사용할 필요가 없는 요청), 다중 리전 액세스 포인트는 다른 엔드포인트 체계를 사용합니다. 해당 체계는 `MultiRegionAccessPoint_alias.accesspoint.s3-global.amazonaws.com`(예: `mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com`)입니다. 단일 리전 액세스 포인트와의 차이점에 유의하세요.
  + 다중 리전 액세스 포인트 호스트 이름은 다중 영역 액세스 포인트 이름이 아니라 해당 별칭을 사용합니다.
  + 다중 리전 액세스 포인트 호스트 이름에는 소유자의 AWS 계정 ID가 포함되지 않습니다.
  + 다중 리전 액세스 포인트 호스트 이름에는 AWS 리전이 포함되지 않습니다.
  + 다중 리전 액세스 포인트 호스트 이름에는 `s3.amazonaws.com` 대신 `s3-global.amazonaws.com`이 포함됩니다.
+ 다중 리전 액세스 포인트 요청은 서명 버전 4A(Sigv4a)를 사용하여 서명해야 합니다. AWS SDK를 사용하는 경우 해당 SDK는 SigV4를 SigV4A로 자동으로 변환합니다. 따라서 [AWS SDK](https://docs.aws.amazon.com/sdkref/latest/guide/feature-s3-mrap.html)가 글로벌 AWS 리전 요청에 서명하는 데 사용되는 서명 구현으로 SigV4A를 지원해야 합니다. SigV4A에 대한 자세한 내용은 **AWS 일반 참조의 [AWS API 요청에 서명](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)을 참조하세요.

## 다중 리전 액세스 포인트 및 Amazon S3 Transfer Acceleration
<a name="MultiRegionAccessPointsAndTransferAcceleration"></a>

Amazon S3 Transfer Acceleration은 버킷에 데이터를 더욱 빠르게 전송할 수 있는 기능입니다. Transfer Acceleration은 개별 버킷 수준에서 구성됩니다. Transfer Acceleration에 대한 자세한 내용은 [Amazon S3 Transfer Acceleration을 사용하여 빠르고 안전한 파일 전송 구성](transfer-acceleration.md) 단원을 참조하세요.

다중 리전 액세스 포인트는 AWS 네트워크를 통해 크기가 큰 객체를 보내기 위해 Transfer Acceleration과 유사한 가속화된 전송 메커니즘을 사용합니다. 따라서 다중 리전 액세스 포인트를 통해 요청을 보낼 때 더Transfer Acceleration을 사용할 필요가 없습니다. 이렇게 향상된 전송 성능이 다중 리전 액세스 포인트에 자동으로 통합되어 있습니다.

**Topics**
+ [다중 리전 액세스 포인트 호스트 이름](#MultiRegionAccessPointHostnames)
+ [다중 리전 액세스 포인트 및 Amazon S3 Transfer Acceleration](#MultiRegionAccessPointsAndTransferAcceleration)
+ [권한](MultiRegionAccessPointPermissions.md)
+ [다중 리전 액세스 포인트 규제 및 제한](MultiRegionAccessPointRestrictions.md)
+ [다중 리전 액세스 포인트 요청 라우팅](MultiRegionAccessPointRequestRouting.md)
+ [Amazon S3 다중 리전 액세스 포인트 장애 조치 제어](MrapFailover.md)
+ [다중 리전 액세스 포인트와 함께 사용할 복제 구성](MultiRegionAccessPointBucketReplication.md)
+ [지원되는 API 작업으로 다중 리전 액세스 포인트 사용](MrapOperations.md)
+ [다중 리전 액세스 포인트를 통해 기본 리소스에 대한 요청 모니터링 및 로깅](MultiRegionAccessPointMonitoring.md)

# 권한
<a name="MultiRegionAccessPointPermissions"></a>

Amazon S3 다중 리전 액세스 포인트는 여러 AWS 리전에 있는 Amazon S3 버킷에 대한 데이터 액세스를 간소화할 수 있습니다. 다중 리전 액세스 포인트는 `GetObject` 및 `PutObject` 등의 Amazon S3 데이터 액세스 객체 작업을 수행하는 데 사용할 수 있는 글로벌 엔드포인트입니다. 각 다중 리전 액세스 포인트는 글로벌 엔드포인트를 통해 이루어진 모든 요청에 대해 고유한 권한 및 네트워크 제어를 가질 수 있습니다.

또한 각 다중 리전 액세스 포인트는 기본 버킷에 연결된 버킷 정책과 함께 작동하는 사용자 지정 액세스 정책을 적용합니다. 교차 계정 요청이 성공하려면 다음 정책에서 해당 작업을 허용해야 합니다.
+ 다중 리전 액세스 포인트 정책
+ 기본 AWS Identity and Access Management(IAM) 정책
+ 기본 버킷 정책(요청이 라우팅되는 대상 위치)

**참고**  
동일한 계정 요청의 경우 적절한 액세스 권한을 부여하는 기본 IAM 정책만 필요합니다.

특정 IAM 사용자 또는 그룹의 요청만 수락하도록 다중 리전 액세스 포인트 정책을 구성할 수 있습니다. 이렇게 하는 방법의 예는 [다중 리전 액세스 포인트 정책 예시](#MultiRegionAccessPointPolicyExamples)의 예시 2를 참조하세요. Virtual Private Cloud(VPC)의 요청만 수락하도록 다중 리전 액세스 포인트를 구성하여 프라이빗 네트워크에 대한 Amazon S3 데이터 액세스를 제한할 수 있습니다.

예를 들어, AWS 계정의 `AppDataReader` 사용자를 이용하여 다중 리전 액세스 포인트를 통해 `GetObject` 요청을 한다고 가정하겠습니다. 요청이 거부되지 않도록 하려면 다중 리전 액세스 포인트 및 다중 리전 액세스 포인트의 기본 버킷 각각이 `s3:GetObject` 권한을 `AppDataReader` 사용자에게 부여해야 합니다. `AppDataReader`는 이 권한을 부여하지 않는 버킷에서 데이터를 검색할 수 없습니다.

**중요**  
버킷에 대한 액세스 제어를 위임해도 직접 버킷 이름을 사용하거나 Amazon 리소스 이름(ARN)을 통해 버킷에 액세스할 때 버킷의 동작은 변경되지 않습니다. 버킷에 대한 모든 직접적인 작업은 여전히 이전과 같이 작동합니다. 다중 리전 액세스 포인트 정책에 포함하는 제한은 해당 다중 리전 액세스 포인트를 통해 이루어진 요청에만 적용됩니다.

## 다중 리전 액세스 포인트에 대한 퍼블릭 액세스 관리
<a name="MultiRegionAccessPointPublicAccess"></a>

다중 리전 액세스 포인트는 각 다중 리전 액세스 포인트에 대해 독립적인 퍼블릭 액세스 차단 설정을 지원합니다. 다중 리전 액세스 포인트를 생성할 때 해당 다중 리전 액세스 포인트에 적용되는 퍼블릭 액세스 차단 설정을 지정할 수 있습니다.

**참고**  
**이 계정의 퍼블릭 액세스 차단 설정**(사용자 계정) 또는 **외부 버킷에 대한 퍼블릭 액세스 차단 설정**에서 활성화된 퍼블릭 액세스 차단 설정은 다중 리전 액세스 포인트에 대한 독립적인 퍼블릭 액세스 차단 설정이 비활성화된 경우에도 계속 적용됩니다.

다중 리전 액세스 포인트를 통해 이루어진 요청에 대해 Amazon S3는 다음에 대한 퍼블릭 액세스 차단 설정을 평가합니다.
+ 다중 리전 액세스 포인트
+ 기본 버킷(외부 버킷 포함)
+ 다중 리전 액세스 포인트를 모두 소유하는 계정
+ 기본 버킷을 소유하는 계정(외부 계정 포함)

이러한 설정 중 하나라도 요청이 차단되어야 함을 나타내는 경우, Amazon S3은 요청을 거부합니다. Amazon S3 퍼블릭 액세스 차단 기능에 대한 자세한 내용은 [Amazon S3 스토리지에 대한 퍼블릭 액세스 차단](access-control-block-public-access.md) 섹션을 참조하세요.

**중요**  
다중 리전 액세스 포인트에는 기본값으로 모든 퍼블릭 액세스 차단 설정이 사용 설정되어 있습니다. 다중 리전 액세스 포인트에 적용하지 않으려는 모든 설정을 명시적으로 꺼야 합니다.  
다중 리전 액세스 포인트를 만든 후에는 다중 리전 액세스 포인트의 퍼블릭 액세스 차단 설정을 변경할 수 없습니다.

## 다중 리전 액세스 포인트에 대한 퍼블릭 액세스 차단 설정 보기
<a name="viewing-bpa-mrap-settings"></a>

**다중 리전 액세스 포인트에 대한 퍼블릭 액세스 차단 설정을 보는 방법**

1. 

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

1. 왼쪽 탐색 창에서 **다중 리전 액세스 포인트)**를 선택합니다.

1. 검토하려는 다중 리전 액세스 포인트의 이름을 선택합니다.

1. **권한** 탭을 선택합니다.

1. **Block Public Access settings for this Multi-Region Access Point(이 다중 리전 액세스 포인트에 대한 퍼블릭 액세스 차단 설정)**에서 다중 리전 액세스 포인트에 적용할 퍼블릭 액세스 차단 설정을 선택합니다.
**참고**  
다중 리전 액세스 포인트를 생성한 후에는 퍼블릭 액세스 차단 설정을 편집할 수 없습니다. 따라서 퍼블릭 액세스를 차단하려면 다중 리전 액세스 포인트를 생성하기 전에 퍼블릭 액세스 없이 애플리케이션이 제대로 작동하는지 확인하세요.

## 다중 리전 액세스 포인트 정책 사용
<a name="use-mrap-policy"></a>

다음 다중 리전 액세스 포인트 정책 예시는 IAM 사용자에게 다중 리전 액세스 포인트에서 파일을 나열하고 다운로드할 수 있는 액세스 권한을 부여합니다. 이 정책 예를 사용하려면 `user input placeholders`를 실제 정보로 바꾸세요.

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

****  

```
 {
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Principal":{
            "AWS":"arn:aws:iam::123456789012:user/JohnDoe" 
         },
         "Action":[
            "s3:ListBucket",
            "s3:GetObject"
         ],
         "Resource":[
            "arn:aws:s3::111122223333:accesspoint/MultiRegionAccessPoint_alias",
            "arn:aws:s3::111122223333:accesspoint/MultiRegionAccessPoint_alias/object/*"
         ]
      }
   ]
}
```

------

AWS Command Line Interface(AWS CLI)를 사용하여 다중 리전 액세스 포인트 정책을 지정된 다중 리전 액세스 포인트에 연결하려면 다음 `put-multi-region-access-point-policy` 명령을 사용하세요. 이 예 명령을 사용하려면 `user input placeholders`를 실제 정보로 대체하세요. 각 다중 리전 액세스 포인트는 하나의 정책만 가질 수 있으므로 `put-multi-region-access-point-policy` 작업에 대한 요청은 지정된 다중 리전 액세스 포인트와 연결된 기존 정책을 대체합니다.

------
#### [ AWS CLI ]

```
aws s3control put-multi-region-access-point-policy
--account-id 111122223333
--details { "Name": "amzn-s3-demo-bucket-MultiRegionAccessPoint", "Policy": "{ \"Version\": \"2012-10-17\", \"Statement\": { \"Effect\": \"Allow\", \"Principal\": { \"AWS\": \"arn:aws:iam::111122223333:root\" }, \"Action\": [\"s3:ListBucket\", \"s3:GetObject\"], \"Resource\": [ \"arn:aws:s3::111122223333:accesspoint/MultiRegionAccessPoint_alias", \"arn:aws:s3::111122223333:accesspoint/MultiRegionAccessPoint_alias/object/*\" ] } }" }
```

------

이전 작업에 대한 결과를 쿼리하려면 다음 명령을 사용하세요.

------
#### [ AWS CLI ]

```
aws s3control describe-multi-region-access-point-operation
--account-id 111122223333
--request-token-arn requestArn
```

------

다중 리전 액세스 포인트 정책을 검색하려면 다음 명령을 사용하세요.

------
#### [ AWS CLI ]

```
aws s3control get-multi-region-access-point-policy
--account-id 111122223333
--name=amzn-s3-demo-bucket-MultiRegionAccessPoint
```

------

## 다중 리전 액세스 포인트 정책 편집
<a name="editing-mrap-policy"></a>

다중 리전 액세스 포인트 정책(JSON으로 작성됨)은 이 다중 리전 액세스 포인트와 함께 사용되는 Amazon S3 버킷에 대한 스토리지 액세스를 제공합니다. 특정 주체가 다중 리전 액세스 포인트에서 다양한 작업을 수행하도록 허용하거나 거부할 수 있습니다. 요청이 다중 리전 액세스 포인트를 통해 버킷에 라우팅되면 다중 리전 액세스 포인트와 버킷의 액세스 정책이 모두 적용됩니다. 더 제한적인 액세스 정책이 항상 우선합니다.

**참고**  
버킷에 다른 계정이 소유한 객체가 포함된 경우 다중 리전 액세스 포인트 정책은 다른 AWS 계정이 소유한 객체에는 적용되지 않습니다.

다중 리전 액세스 포인트 정책을 적용한 후에는 정책을 삭제할 수 없습니다. 정책을 편집하거나 기존 정책을 덮어쓰는 새 정책을 만들 수 있습니다.

**다중 리전 액세스 포인트 정책을 편집하는 방법**



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

1. 왼쪽 탐색 창에서 **다중 리전 액세스 포인트)**를 선택합니다.

1. 정책을 편집할 다중 리전 액세스 포인트의 이름을 선택합니다.

1. **권한** 탭을 선택합니다.

1. 아래로 스크롤하여 **다중 리전 액세스 포인트 정책** 섹션으로 이동합니다. **편집**을 선택하여 정책을 업데이트합니다(JSON으로).

1. **Edit Multi-Region Access Point policy(다중 리전 액세스 포인트 정책 편집)** 페이지가 표시됩니다. 정책을 텍스트 필드에 직접 입력하거나, **Add statement(문 추가)**를 선택하여 드롭다운 목록에서 정책 요소를 선택할 수 있습니다.
**참고**  
콘솔에는 정책에서 사용할 수 있는 다중 리전 액세스 포인트의 Amazon 리소스 이름(ARN)이 자동으로 표시됩니다. 다중 리전 액세스 포인트 정책 예시는 [다중 리전 액세스 포인트 정책 예시](#MultiRegionAccessPointPolicyExamples)를 참조하세요.

## 다중 리전 액세스 포인트 정책 예시
<a name="MultiRegionAccessPointPolicyExamples"></a>

Amazon S3 다중 리전 액세스 포인트가 AWS Identity and Access Management(IAM) 리소스 정책을 지원합니다. 이러한 정책을 사용하여 리소스, 사용자 또는 기타 조건별로 다중 리전 액세스 포인트 사용을 제어할 수 있습니다. 애플리케이션 또는 사용자가 다중 리전 액세스 포인트를 통해 객체에 액세스할 수 있으려면 다중 리전 액세스 포인트와 기본 버킷 모두에서 동일한 액세스를 허용해야 합니다.

다중 리전 액세스 포인트와 기본 버킷에 대해 동일한 액세스를 허용하려면 다음 중 하나를 수행하세요.
+ **(권장)** Amazon S3 다중 리전 액세스 포인트를 사용할 때 액세스 제어를 단순화하려면 Amazon S3 버킷에 대한 액세스 제어를 다중 리전 액세스 포인트에 위임하세요. 이렇게 하는 방법의 예는 이 섹션의 예시 1을 참조하세요.
+ 다중 리전 액세스 포인트 정책에 포함된 동일한 권한을 기본 버킷 정책에 추가합니다.

**중요**  
버킷에 대한 액세스 제어를 위임해도 직접 버킷 이름을 사용하거나 Amazon 리소스 이름(ARN)을 통해 버킷에 액세스할 때 버킷의 동작은 변경되지 않습니다. 버킷에 대한 모든 직접적인 작업은 여전히 이전과 같이 작동합니다. 다중 리전 액세스 포인트 정책에 포함하는 제한은 해당 다중 리전 액세스 포인트를 통해 이루어진 요청에만 적용됩니다.

**Example 1 - 버킷 정책에서 특정 다중 리전 액세스 포인트에 대한 액세스 권한 위임(동일한 계정 또는 크로스 계정에 대해)**  
다음 버킷 정책 예시는 특정 다중 리전 액세스 포인트에 대한 전체 버킷 액세스 권한을 부여합니다. 즉, 이 버킷에 대한 모든 액세스가 해당 다중 리전 액세스 포인트에 연결된 정책으로 제어됨을 의미합니다. 버킷에 직접 액세스할 필요가 없는 모든 사용 사례에 대해 이 방법으로 버킷을 구성하는 것이 좋습니다. 동일한 계정 또는 다른 계정의 다중 리전 액세스 포인트에 대해 이 버킷 정책 구조를 사용할 수 있습니다.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement" : [
    {
        "Effect": "Allow",
        "Principal" : { "AWS": "*" },
        "Action" : "*",
        "Resource" : [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*"],
        "Condition": {
            "StringEquals" : { "s3:DataAccessPointArn" : "arn:aws:s3::111122223333:accesspoint/example-multi-region-access-point" }
        }
    }]
}
```
액세스 권한을 부여하려는 다중 리전 액세스 포인트가 여러 개 있는 경우 각 다중 리전 액세스 포인트를 나열해야 합니다.

**Example 2 - 다중 리전 액세스 포인트 정책에서 다중 리전 액세스 포인트에 대한 계정 액세스 권한 부여**  
다음 다중 리전 액세스 포인트 정책은 *`MultiRegionAccessPoint_ARN`*으로 정의된 다중 리전 액세스 포인트에 포함된 객체를 나열하고 읽을 수 있는 권한을 계정 `123456789012`에 허용합니다.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
       "Effect": "Allow",
       "Principal": {
          "AWS": "arn:aws:iam::111122223333:user/JohnDoe"
       },
       "Action": [
          "s3:ListBucket",
          "s3:GetObject"
       ],
       "Resource": [ 
          "arn:aws:s3::111122223333:accesspoint/MultiRegionAccessPoint_alias",
          "arn:aws:s3::111122223333:accesspoint/MultiRegionAccessPoint_alias/object/*"
       ]
     }
  ]
}
```

**Example 3 - 버킷 나열을 허용하는 다중 리전 액세스 포인트 정책**  
다음 다중 리전 액세스 포인트 정책은 *`MultiRegionAccessPoint_ARN`*으로 정의된 다중 리전 액세스 포인트에 포함된 객체를 나열할 수 있는 권한을 계정 `123456789012`에 허용합니다.

# 다중 리전 액세스 포인트 규제 및 제한
<a name="MultiRegionAccessPointRestrictions"></a>

Amazon S3의 다중 리전 액세스 포인트에는 다음과 같은 규제 및 제한 사항이 있습니다.

## 이름 및 별칭
<a name="MultiRegionAccessPointRestrictions-Names"></a>

다중 리전 액세스 포인트 이름은 다음 요구 사항을 충족해야 합니다.
+  단일 AWS 계정 내에서 고유해야 함
+  숫자 또는 소문자로 시작해야 함
+  3\$150자 이내여야 함
+ 하이픈(`-`)으로 시작하거나 끝날 수 없음
+ 밑줄(`_`), 대문자 또는 마침표(`.`)를 포함할 수 없음
+  이름을 생성한 후에는 편집할 수 없음

다중 리전 액세스 포인트 별칭(다중 리전 액세스 포인트 이름과 다름)은 Amazon S3에서 자동으로 생성되며 편집하거나 재사용할 수 없습니다. 다중 리전 액세스 포인트 별칭과 다중 리전 액세스 포인트 이름 및 해당 이름 지정 규칙의 차이점에 대한 자세한 내용은 [Amazon S3 다중 리전 액세스 포인트 이름 지정 규칙](multi-region-access-point-naming.md) 섹션을 참조하세요.

## 다중 리전 액세스 포인트에 액세스
<a name="MultiRegionAccessPointRestrictions-Access"></a>

게이트웨이 엔드포인트를 사용하여 다중 리전 액세스 포인트를 통해 데이터에 액세스할 수 없습니다. 그러나 인터페이스 엔드포인트를 사용하여 다중 리전 액세스 포인트를 통해 데이터에 액세스할 수 있습니다. AWS PrivateLink를 사용하려면 VPC 엔드포인트를 만들어야 합니다. 자세한 내용은 [AWS PrivateLink와 함께 사용할 다중 리전 액세스 포인트 구성](MultiRegionAccessPointsPrivateLink.md) 섹션을 참조하세요. 하지만 IPv6는 지원되지 않습니다.

Amazon CloudFront에서 다중 리전 액세스 포인트를 사용하려면 다중 리전 액세스 포인트를 `Custom Origin` 배포 유형으로 구성해야 합니다. 다양한 오리진 유형에 대한 자세한 내용은 [CloudFront 배포에 다양한 원본 사용](https://docs.aws.amazon.com//AmazonCloudFront/latest/DeveloperGuide/DownloadDistS3AndCustomOrigins.html)을 참조하세요. Amazon CloudFront에서 다중 리전 액세스 포인트를 사용하는 방법에 대한 자세한 내용은 *AWS 스토리지 블로그*에서 [다중 리전에 걸쳐 액티브-액티브, 근접성 기반 애플리케이션 구축](https://aws.amazon.com/blogs/storage/building-an-active-active-latency-based-application-across-multiple-regions/)을 참조하세요.

**참고**  
S3 on Outposts 버킷은 지원되지 않습니다.

## AWS API 요청에 서명
<a name="MultiRegionAccessPointRestrictions-Signing"></a>

AWS API 요청에 서명하려면 다중 리전 액세스 포인트가 다음 최소 요구 사항을 충족해야 합니다.

**참고**  
다중 리전 액세스 포인트는 익명 요청을 지원하지 않습니다.
+ Transport Layer Security(TLS) 버전 1.2를 지원합니다.
+ 서명 버전 4(SigV4A)를 지원합니다. 이 버전의 SigV4를 사용하면 여러 AWS 리전에 대한 요청에 서명할 수 있습니다. 이 기능은 여러 리전 중 하나에서 데이터 액세스가 발생할 수 있는 API 작업에 유용합니다. AWS SDK를 사용하는 경우 보안 인증 정보를 제공하면 다중 리전 액세스 포인트에 대한 요청은 추가 구성 없이 서명 버전 4A를 사용합니다. [AWS SDK가 SigV4A 알고리즘과 호환되는지](https://docs.aws.amazon.com/sdkref/latest/guide/feature-s3-mrap.html) 확인하세요. SigV4A에 대한 자세한 내용은 **AWS 일반 참조의 [AWS API 요청에 서명](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)을 참조하세요.
**참고**  
AWS Identity and Access Management(IAM) 역할을 사용하는 경우와 같이 임시 보안 자격 증명과 함께 SigV4A를 사용하려면 리전의 AWS Security Token Service(AWS STS) 엔드포인트에서 임시 자격 증명을 요청하면 됩니다. 글로벌 AWS STS 엔드포인트(`sts.amazonaws.com`)에서 임시 자격 증명을 요청하는 경우 먼저 글로벌 엔드포인트에 대한 세션 토큰의 리전 호환성이 모든 AWS 리전에서 유효하도록 설정해야 합니다. 자세한 내용은 *IAM 사용 설명서*의 [AWS 리전에서 AWS STS 관리](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)를 참조하세요.

## Amazon S3 API 작업
<a name="MultiRegionAccessPointRestrictions-API"></a>
+ `CopyObject`는 다중 리전 액세스 포인트 ARN을 사용할 때만 목적지로 지원됩니다.
+ S3 Batch Operations 기능은 지원되지 않습니다.

## AWS SDK
<a name="MultiRegionAccessPointRestrictions-SDKs"></a>

특정 AWS SDK는 지원되지 않습니다. 다중 리전 액세스 포인트에서 지원되는 AWS SDK를 확인하려면 [AWS SDK와의 호환성](https://docs.aws.amazon.com/sdkref/latest/guide/feature-s3-mrap.html#s3-mrap-sdk-compat)을 참조하세요.

## Service Quotas
<a name="MultiRegionAccessPointRestrictions-Quotas"></a>

다음과 같은 서비스 할당량 제한 사항에 유의하세요.
+ 계정당 최대 100개의 다중 리전 액세스 포인트로 제한됩니다.
+ 하나의 다중 리전 액세스 포인트에는 17개의 리전으로 제한됩니다.

## 다중 리전 액세스 포인트 만들기, 삭제 또는 수정
<a name="MultiRegionAccessPointRestrictions-Modifying"></a>

다중 리전 액세스 포인트를 만들거나 삭제 또는 수정할 때 다음 규칙 및 제한 사항에 유의하세요.
+ 다중 리전 액세스 포인트를 생성한 후에는 다중 리전 액세스 포인트 구성에서 버킷을 추가, 수정 또는 제거할 수 없습니다. 버킷을 변경하려면 전체 다중 리전 액세스 포인트를 삭제하고 새 액세스 포인트를 생성해야 합니다. 다중 리전 액세스 포인트의 크로스 계정 버킷이 삭제된 경우 이 버킷을 다시 연결하는 유일한 방법은 해당 계정에서 동일한 이름 및 리전을 사용하여 버킷을 다시 만드는 것입니다.
+ 다중 리전 액세스 포인트에서 사용하는 기본 버킷(동일 계정의 버킷)은 해당 다중 리전 액세스 포인트를 삭제한 후에만 삭제할 수 있습니다.

## 리전 지원
<a name="MultiRegionAccessPointRestrictions-RegionSupport"></a>

**컨트롤 플레인 요청**

다중 리전 액세스 포인트를 생성하거나 유지하기 위한 모든 모든 컨트롤 플레인 요청은 `US West (Oregon)` 리전으로 라우팅되어야 합니다. 다중 리전 액세스 포인트 데이터 영역 요청의 경우 리전을 지정할 필요가 없습니다.

다중 리전 액세스 포인트 장애 조치 컨트롤 플레인의 경우 지원되는 다음 다섯 개 리전 중 하나로 요청을 라우팅해야 합니다.
+ `US East (N. Virginia)`
+ `US West (Oregon)`
+ `Asia Pacific (Sydney)`
+ `Asia Pacific (Tokyo)`
+ `Europe (Ireland)`

**기본적으로 활성화되는 리전**

다중 리전 액세스 포인트는 다음 기본값 AWS 리전(AWS 계정에서 [기본적으로 활성화](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)됨)의 버킷을 지원합니다.
+ `US East (N. Virginia)`
+ `US East (Ohio)`
+ `US West (N. California)`
+ `US West (Oregon)`
+ `Asia Pacific (Mumbai)`
+ `Asia Pacific (Osaka)`
+ `Asia Pacific (Seoul)`
+ `Asia Pacific (Singapore)`
+ `Asia Pacific (Sydney)`
+ `Asia Pacific (Tokyo)`
+ `Canada (Central)`
+ `Europe (Frankfurt)`
+ `Europe (Ireland)`
+ `Europe (London)`
+ `Europe (Paris)`
+ `Europe (Stockholm)`
+ `South America (São Paulo)`

**AWS 옵트인 리전**

다중 리전 액세스 포인트는 다음 옵트인 AWS 리전(AWS 계정에서 [기본적으로 비활성화](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)됨)의 버킷도 지원합니다.
+ `Africa (Cape Town)`
+ `Asia Pacific (Hong Kong)`
+ `Asia Pacific (Jakarta)`
+ `Asia Pacific (Melbourne)`
+ `Asia Pacific (Hyderabad)`
+ `Canada West (Calgary)`
+ `Europe (Zurich)`
+ `Europe (Milan)`
+ `Europe (Spain)`
+ `Israel (Tel Aviv)`
+ `Middle East (Bahrain)`
+ `Middle East (UAE)`

**참고**  
옵트인 리전을 활성화하는 데 드는 추가 비용은 없습니다. 그러나 다중 리전 액세스 포인트에서 리소스를 만들거나 사용하면 청구 요금이 발생합니다.

다중 리전 액세스 포인트를 구성하거나 만들 때 옵트인 리전을 수동으로 활성화해야 합니다. 다중 리전 Access Points의 옵트인 리전 행동에 대한 자세한 내용은 [다중 리전 액세스 포인트 구성](ConfiguringMrapOptInRegions.md) 섹션을 참조하세요. AWS 계정에서 옵트인 리전을 활성화하는 방법에 대한 자세한 내용은 *AWS 계정 관리 참조 안내서*의 [Enable or disable a Region for standalone accounts](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#manage-acct-regions-enable-standalone)를 참조하세요.

# 다중 리전 액세스 포인트 요청 라우팅
<a name="MultiRegionAccessPointRequestRouting"></a>

 다중 리전 액세스 포인트를 통해 요청하면 Amazon S3는 다중 리전 액세스 포인트와 연결된 버킷 중 가장 가까운 버킷을 판단합니다. 그런 다음 Amazon S3는 해당 버킷이 있는 AWS 리전에 관계없이 요청을 해당 버킷에 보냅니다.

다중 리전 액세스 포인트가 가장 가까운 버킷으로 요청을 라우팅하면 Amazon S3는 사용자가 해당 버킷에 직접 요청한 것처럼 요청을 처리합니다. 다중 리전 액세스 포인트는 Amazon S3 버킷의 데이터 콘텐츠를 인식하지 못합니다. 따라서 요청을 받는 버킷에는 요청된 데이터가 포함되어 있지 않을 수 있습니다. 하나의 다중 리전 액세스 포인트와 연결된 Amazon S3 버킷에 일관된 데이터 세트를 생성하려면 S3 크로스 리전 복제(CRR)를 구성할 수 있습니다. 그러면 모든 버킷이 요청을 성공적으로 이행할 수 있습니다.

 Amazon S3는 다음 규칙에 따라 다중 리전 액세스 포인트 요청을 보냅니다.
+ Amazon S3는 근접성에 따라 처리되도록 요청을 최적화합니다. 다중 리전 액세스 포인트가 지원하는 버킷을 살펴보고 가장 가까운 버킷으로 요청을 전달합니다.
+ 요청이 기존 리소스를 지정하는 경우(예: `GetObject`), Amazon S3는 요청을 이행할 때 객체의 이름을 고려하지 *않습니다*. 즉, 객체가 다중 리전 액세스 포인트의 버킷 하나에 존재하더라도 요청이 객체를 포함하지 않는 버킷으로 라우팅될 수 있다는 뜻입니다. 그러면 404 오류 메시지가 클라이언트에 반환됩니다.

  404 오류를 방지하려면 버킷에 S3 크로스 리전 복제(CRR)를 구성하는 것이 좋습니다. 복제는 원하는 객체가 다중 리전 액세스 포인트의 버킷에 있지만 요청이 라우팅된 특정 버킷에 없는 경우의 잠재적인 문제를 해결하는 데 도움이 됩니다. 복제 구성에 대한 자세한 내용은 [다중 리전 액세스 포인트와 함께 사용할 복제 구성](MultiRegionAccessPointBucketReplication.md) 섹션을 참조하세요.

  원하는 특정 객체를 사용하여 요청이 이행되도록 하려면 버킷 버전 관리를 설정하고 요청에 버전 ID를 포함하는 것이 좋습니다. 그러면 찾고 있는 객체의 올바른 버전이 있는지 확인할 수 있습니다. 버전 관리가 활성화된 버킷을 사용하는 것도 실수로 덮어쓴 객체를 복구하는 데 도움이 될 수 있습니다. 자세한 내용은 [S3 버킷에서 버전 관리 사용](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html)을 참조하세요.
+ 리소스 생성 요청인 경우(예: `PutObject` 또는 `CreateMultipartUpload`) Amazon S3는 가장 가까운 버킷을 사용하여 요청을 이행합니다. 예를 들어, 전 세계 어디서나 동영상 업로드를 지원하고자 하는 동영상 회사를 가정해 보겠습니다. 다중 리전 액세스 포인트에 `PUT` 요청을 하면 객체가 가장 가까운 버킷에 배치됩니다. 그런 다음 업로드된 비디오를 전 세계 다른 사람들이 최저 지연 시간으로 다운로드할 수 있도록 양방향 복제와 함께 CRR을 사용하면 됩니다. 양방향 복제와 CRR을 사용하면 다중 리전 액세스 포인트와 연결된 모든 버킷의 콘텐츠가 동기화된 상태로 유지됩니다. 다중 리전 액세스 포인트를 사용한 복제에 대한 자세한 내용은 [다중 리전 액세스 포인트와 함께 사용할 복제 구성](MultiRegionAccessPointBucketReplication.md) 섹션을 참조하세요.

# Amazon S3 다중 리전 액세스 포인트 장애 조치 제어
<a name="MrapFailover"></a>

Amazon S3 다중 리전 액세스 포인트 장애 조치 제어를 사용하면 리전의 트래픽이 중단되어도 비즈니스 연속성을 유지하는 동시에 애플리케이션에 다중 리전 아키텍처를 제공하여 규정 준수 및 이중화 요구 사항을 충족할 수 있습니다. 리전의 트래픽이 중단되는 경우 다중 리전 액세스 포인트 장애 조치 제어를 사용하여 Amazon S3 다중 리전 액세스 포인트 뒤에 있는 어떤 AWS 리전에서 데이터 액세스와 스토리지 요청을 처리할지 선택할 수 있습니다.

장애 조치를 지원하기 위해 정상 상태일 때는 트래픽이 액티브 리전으로 흐르게 하고 패시브 리전은 장애 조치를 위해 대기 상태로 두는 액티브-패시브 구성으로 다중 리전 액세스 포인트를 설정할 수 있습니다.

예를 들어 원하는 AWS 리전으로 장애 조치를 수행하려면 트래픽을 기본(액티브) 리전에서 보조(패시브) 리전으로 이동합니다. 이와 같은 액티브-패시브 구성에서는 한 버킷이 액티브 상태로 트래픽을 받아들이고 다른 버킷은 패시브 상태로 트래픽을 받아들이지 않습니다. 패시브 버킷은 재해 복구에 사용됩니다. 장애 조치를 시작하면 모든 트래픽(예: `GET` 또는 `PUT` 요청)이 한 리전에 있는 액티브 상태의 버킷으로 전달되고 다른 리전에 있는 패시브 상태의 버킷에서 멀어집니다.

양방향 복제 규칙으로 S3 크로스 리전 복제(CRR)를 사용 설정한 경우 장애 조치 중에 버킷을 동기화된 상태로 유지할 수 있습니다. 또한 액티브-액티브 구성에서 CRR을 사용 설정한 경우 Amazon S3 다중 리전 액세스 포인트는 가장 가까운 버킷 위치에서 데이터를 가져올 수 있으며, 이 경우 애플리케이션 성능이 향상됩니다.

## AWS 리전 지원
<a name="RegionSupport"></a>

Amazon S3 다중 리전 액세스 포인트 장애 조치 제어를 사용하면 다중 리전 액세스 포인트가 지원되는 [17개 리전](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiRegionAccessPointRestrictions.html) 중 어디에나 S3 버킷을 배치할 수 있습니다. 한 번에 두 리전에서 장애 조치를 시작할 수 있습니다.

**참고**  
장애 조치는 한 번에 두 리전 사이에서만 시작되지만 다중 리전 액세스 포인트에서 동시에 여러 리전의 라우팅 상태를 개별적으로 업데이트할 수 있습니다.

다음 주제에서는 Amazon S3 다중 리전 액세스 포인트 장애 조치 제어를 사용하고 관리하는 방법을 설명합니다.

**Topics**
+ [AWS 리전 지원](#RegionSupport)
+ [Amazon S3 다중 리전 액세스 포인트 라우팅 상태](FailoverConfiguration.md)
+ [Amazon S3 다중 리전 액세스 포인트 장애 조치 제어 사용](UsingFailover.md)
+ [Amazon S3 다중 리전 액세스 포인트 장애 조치 제어 오류](mrap-failover-errors.md)

# Amazon S3 다중 리전 액세스 포인트 라우팅 상태
<a name="FailoverConfiguration"></a>

Amazon S3 다중 리전 액세스 포인트 장애 조치 구성은 다중 리전 액세스 포인트와 함께 사용되는 AWS 리전의 라우팅 상태를 결정합니다. Amazon S3 다중 리전 액세스 포인트를 액티브-액티브 상태 또는 액티브-패시브 상태로 구성할 수 있습니다.
+ **액티브-액티브** - 액티브-액티브 구성에서는 모든 요청이 다중 리전 액세스 포인트의 가장 가까운 AWS 리전으로 자동 전송됩니다. 다중 리전 액세스 포인트가 액티브-액티브 상태로 구성된 후에는 모든 리전에서 트래픽을 수신할 수 있습니다. 액티브-액티브 구성에서 트래픽 중단이 발생하면 네트워크 트래픽이 액티브 리전 중 하나로 자동 리디렉션됩니다.
+ **액티브-패시브** - 액티브-패시브 구성에서 다중 리전 액세스 포인트의 액티브 리전은 트래픽을 수신하고 패시브 리전은 수신하지 않습니다. 재해 상황에서 S3 장애 조치 제어를 사용하여 장애 조치를 시작하려는 경우 재해 복구 계획을 테스트하고 수행하는 동안 다중 리전 액세스 포인트를 액티브-패시브 구성으로 설정하세요.

# Amazon S3 다중 리전 액세스 포인트 장애 조치 제어 사용
<a name="UsingFailover"></a>

이 섹션에서는 AWS Management Console을 사용하여 Amazon S3 다중 리전 액세스 포인트 장애 조치 제어를 관리하고 사용하는 방법을 설명합니다.

AWS Management Console의 다중 리전 액세스 포인트 세부 정보 페이지에 있는 **Failover configuration**(장애 조치 구성) 섹션에는 **Edit routing status**(라우팅 상태 편집) 및 **Failover**(장애 조치)라는 두 가지 장애 조치 제어가 있습니다. 이러한 제어는 다음과 같이 사용할 수 있습니다.
+ **Edit routing status**(라우팅 상태 편집) - **Edit routing status**(라우팅 상태 편집)를 선택하여 다중 리전 액세스 포인트에 대한 하나의 요청에서 최대 17개 AWS 리전의 라우팅 상태를 수동으로 편집할 수 있습니다. 다음과 같은 목적으로 **Edit routing status**(라우팅 상태 편집)를 사용할 수 있습니다.
  + 다중 리전 액세스 포인트에서 하나 이상의 리전에 대한 라우팅 상태를 설정하거나 편집하기 위해
  + 두 리전을 액티브-패시브 상태로 구성하여 다중 리전 액세스 포인트에 대한 장애 조치 구성을 만들기 위해
  + 리전을 수동으로 장애 조치하기 위해
  + 리전 간 트래픽을 수동으로 전환하기 위해
+ **Failover**(장애 조치) - **Failover**(장애 조치)를 선택하여 장애 조치를 시작하면 이미 액티브-패시브 상태로 구성된 두 리전의 라우팅 상태만 업데이트됩니다. **Failover**(장애 조치)를 선택하여 시작한 장애 조치가 진행되는 동안 두 리전 간의 라우팅 상태가 자동으로 전환됩니다.

## 다중 리전 액세스 포인트에서 리전의 라우팅 상태 편집
<a name="editing-mrap-routing-status"></a>

다중 리전 액세스 포인트 세부 정보 페이지의 **Failover configuration**(장애 조치 구성) 섹션에서 **Edit routing status**(라우팅 상태 편집)를 선택하여 다중 리전 액세스 포인트에 대한 하나의 요청으로 최대 17개 AWS 리전의 라우팅 상태를 수동으로 업데이트할 수 있습니다. 그러나 **Failover**(장애 조치)를 선택하여 장애 조치를 시작하면 이미 액티브-패시브 상태로 구성된 두 리전의 라우팅 상태만 업데이트됩니다. **Failover**(장애 조치)를 선택하여 시작한 장애 조치가 진행되는 동안 두 리전 간의 라우팅 상태가 자동으로 전환됩니다.

다음 절차에 설명된 대로 **Edit routing status**(라우팅 상태 편집)를 다음과 같은 목적으로 사용할 수 있습니다.
+ 다중 리전 액세스 포인트에서 하나 이상의 리전에 대한 라우팅 상태를 설정하거나 편집하기 위해
+ 두 리전을 액티브-패시브 상태로 구성하여 다중 리전 액세스 포인트에 대한 장애 조치 구성을 만들기 위해
+ 리전을 수동으로 장애 조치하기 위해
+ 리전 간 트래픽을 수동으로 전환하기 위해

### S3 콘솔 사용
<a name="update-mrap-routing-console"></a>

**다중 리전 액세스 포인트에서 리전의 라우팅 상태를 업데이트하는 방법**



1. AWS Management Console에 로그인합니다.

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **다중 리전 액세스 포인트**를 선택합니다.

1. 업데이트하려는 다중 리전 액세스 포인트를 선택합니다.

1. **Replication and failover**(복제 및 장애 조치) 탭을 선택합니다.

1. 라우팅 상태를 편집할 리전을 하나 이상 선택합니다.
**참고**  
장애 조치를 시작하려면 다중 리전 액세스 포인트에서 최소한 한 개의 AWS 리전을 **Active**(액티브)로 지정하고 한 리전을 **Passive**(패시브)로 지정해야 합니다.

1. **Edit routing status**(라우팅 상태 편집)를 선택합니다.

1. 나타나는 대화 상자에서 각 리전의 **Routing status**(라우팅 상태)를 **Active**(액티브) 또는 **Passive**(패시브)로 선택합니다.

   액티브 상태에서는 트래픽을 리전으로 라우팅할 수 있습니다. 패시브 상태에서는 리전으로의 트래픽 전달이 중지됩니다.

   다중 리전 액세스 포인트의 장애 조치 구성을 만들거나 장애 조치를 시작하려면 다중 리전 액세스 포인트에서 최소한 한 개의 AWS 리전을 **Active**(액티브)로 지정하고 한 리전을 **Passive**(패시브)로 지정해야 합니다.

1. **Save routing status**(라우팅 상태 저장)를 선택합니다. 트래픽이 리디렉션되는 데 약 2분이 걸립니다.

다중 리전 액세스 포인트에 대한 AWS 리전의 라우팅 상태를 제출한 후 라우팅 상태 변경 사항을 확인할 수 있습니다. 이러한 변경 사항을 확인하려면 Amazon CloudWatch([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/))로 이동하여 액티브 및 패시브 리전 간의 Amazon S3 데이터 요청 트래픽(예: `GET` 및 `PUT` 요청) 이동 변화를 모니터링하세요. 기존 연결은 장애 조치 중에 종료되지 않습니다. 기존 연결은 성공 또는 실패 상태에 도달할 때까지 계속됩니다.

### AWS CLI 사용
<a name="update-mrap-routing-cli"></a>

**참고**  
다음 5개 리전 중 하나에 대해 다중 리전 액세스 포인트 AWS CLI 라우팅 명령을 실행할 수 있습니다.  
`ap-southeast-2`
`ap-northeast-1`
`us-east-1`
`us-west-2`
`eu-west-1`

다음 예시 명령은 기존 다중 리전 액세스 포인트 라우팅 구성을 업데이트합니다. 버킷의 액티브 또는 패시브 상태를 업데이트하려면 `TrafficDialPercentage` 값을 액티브 상태의 경우 `100`, 패시브 상태의 경우 `0`으로 설정하세요. 이 예시에서는 `amzn-s3-demo-bucket1`이 액티브로, *amzn-s3-demo-bucket2*가 패시브로 설정되어 있습니다. 이 예시 명령을 사용하려면 `user input placeholders`를 실제 정보로 대체하세요.

```
aws s3control submit-multi-region-access-point-routes
--region ap-southeast-2 
--account-id 123456789012 
--mrap MultiRegionAccessPoint_ARN
--route-updates Bucket=amzn-s3-demo-bucket1,TrafficDialPercentage=100
                Bucket=amzn-s3-demo-bucket2
,TrafficDialPercentage=0
```

다음 예시 명령은 업데이트된 다중 리전 액세스 포인트 라우팅 구성을 가져옵니다. 이 예시 명령을 사용하려면 `user input placeholders`를 실제 정보로 대체하세요.

```
aws s3control get-multi-region-access-point-routes
--region eu-west-1
--account-id 123456789012
--mrap MultiRegionAccessPoint_ARN
```

## 장애 조치 시작
<a name="InitiatingFailover"></a>

다중 리전 액세스 포인트 세부 정보 페이지의 **Failover configuration**(장애 조치 구성) 섹션에서 **Failover**(장애 조치)를 선택하여 장애 조치를 시작하면 Amazon S3 요청 트래픽이 자동으로 대체 AWS 리전으로 이동합니다. 장애 조치 프로세스는 2분 이내에 완료됩니다.

다중 리전 액세스 포인트가 지원되는 [17개 리전](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiRegionAccessPointRestrictions.html) 중 한 번에 두 AWS 리전에서 장애 조치를 시작할 수 있습니다. 그러면 장애 조치 이벤트가 AWS CloudTrail에 로깅됩니다. 장애 조치가 완료되면 Amazon CloudWatch에서 새로운 액티브 리전에 대한 Amazon S3 트래픽 및 모든 트래픽 라우팅 업데이트를 모니터링할 수 있습니다.

**중요**  
데이터 복제 중에 모든 메타데이터와 객체를 버킷 간에 동기화된 상태로 유지하려면 장애 조치 제어를 구성하기 전에 양방향 복제 규칙을 생성하고 복제본 수정 동기화를 사용 설정하는 것이 좋습니다.  
양방향 복제 규칙은 트래픽이 장애 조치 목적지인 Amazon S3 버킷에 데이터를 쓸 때 해당 데이터가 원본 버킷으로 다시 복제되도록 하는 데 도움이 됩니다. 복제본 수정 동기화는 양방향 복제 중에 객체 메타데이터도 버킷 간에 동기화되도록 하는 데 도움이 됩니다.  
장애 조치를 지원하기 위한 복제 구성에 대한 자세한 내용은 [다중 리전 액세스 포인트와 함께 사용할 복제 구성](MultiRegionAccessPointBucketReplication.md) 섹션을 참조하세요.

**복제된 버킷 간 장애 조치를 시작하는 방법**

1. AWS Management Console에 로그인합니다.

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **다중 리전 액세스 포인트)**를 선택합니다.

1. 장애 조치를 시작하는 데 사용할 다중 리전 액세스 포인트를 선택합니다.

1. **Replication and failover**(복제 및 장애 조치) 탭을 선택합니다.

1. 아래로 스크롤하여 **Failover configuration**(장애 조치 구성) 섹션으로 이동한 다음 두 개의 AWS 리전을 선택합니다.
**참고**  
장애 조치를 시작하려면 다중 리전 액세스 포인트에서 최소한 한 개의 AWS 리전을 **Active**(액티브)로 지정하고 한 리전을 **Passive**(패시브)로 지정해야 합니다. 액티브 상태에서는 트래픽을 리전으로 보낼 수 있습니다. 패시브 상태에서는 리전으로의 트래픽 전달이 중지됩니다.

1. **Failover**(장애 조치)를 선택합니다.

1. 대화 상자에서 **Failover**(장애 조치)를 다시 선택하여 장애 조치를 시작합니다. 이 과정에서 두 리전의 라우팅 상태가 자동으로 전환됩니다. 모든 새 트래픽은 액티브 상태가 되는 리전으로 보내지고 패시브 상태가 되는 리전으로는 트래픽 전달이 중지됩니다. 트래픽이 리디렉션되는 데 약 2분이 걸립니다.

   장애 조치 프로세스를 시작한 후 트래픽 변경을 확인할 수 있습니다. 이러한 변경 사항을 확인하려면 Amazon CloudWatch([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/))로 이동하여 액티브 및 패시브 리전 간의 Amazon S3 데이터 요청 트래픽(예: `GET` 및 `PUT` 요청) 이동 변화를 모니터링하세요. 기존 연결은 장애 조치 중에 종료되지 않습니다. 기존 연결은 성공 또는 실패 상태에 도달할 때까지 계속됩니다.

## Amazon S3 다중 리전 액세스 포인트 라우팅 제어 보기
<a name="viewing-mrap-routing-controls"></a>

### S3 콘솔 사용
<a name="viewing-mrap-routing-console"></a>

**Amazon S3 다중 리전 액세스 포인트의 라우팅 제어를 보는 방법**



1. AWS Management Console에 로그인합니다.

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **다중 리전 액세스 포인트)**를 선택합니다.

1. 검토하려는 다중 리전 액세스 포인트를 선택합니다.

1. **Replication and failover**(복제 및 장애 조치) 탭을 선택합니다. 이 페이지에는 다중 리전 액세스 포인트에 대한 라우팅 구성 세부 정보 및 요약, 관련 복제 규칙, 복제 지표가 표시됩니다. **Failover configuration**(장애 조치 구성) 섹션에서 리전의 라우팅 상태를 확인할 수 있습니다.

### AWS CLI 사용
<a name="viewing-mrap-routing-cli"></a>

다음 예시 AWS CLI 명령은 지정된 리전의 현재 다중 리전 액세스 포인트 라우팅 구성을 가져옵니다. 이 예시 명령을 사용하려면 `user input placeholders`를 실제 정보로 대체하세요.

```
aws s3control get-multi-region-access-point-routes
--region eu-west-1
--account-id 123456789012 
--mrap MultiRegionAccessPoint_ARN
```

**참고**  
이 명령은 다음 5개 리전에 대해서만 실행할 수 있습니다.  
`ap-southeast-2`
`ap-northeast-1`
`us-east-1`
`us-west-2`
`eu-west-1`

# Amazon S3 다중 리전 액세스 포인트 장애 조치 제어 오류
<a name="mrap-failover-errors"></a>

다중 리전 액세스 포인트의 장애 조치 구성을 업데이트하면 다음 오류 중 하나가 발생할 수 있습니다.
+ HTTP 400 잘못된 요청: 장애 조치 구성을 업데이트하는 동안 잘못된 다중 리전 액세스 포인트 ARN을 입력하면 이 오류가 발생할 수 있습니다. 다중 리전 액세스 포인트 정책을 검토하여 다중 리전 액세스 포인트 ARN을 확인할 수 있습니다. 다중 리전 액세스 포인트 정책을 검토하거나 업데이트하려면 [Editing the Multi-Region Access Point policy](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingFailover.html#editing-mrap-policy)(다중 리전 액세스 포인트 정책 편집)를 참조하세요. Amazon S3 다중 리전 액세스 포인트 장애 조치 제어를 업데이트하는 동안 빈 문자열이나 임의의 문자열을 사용하는 경우에도 이 오류가 발생할 수 있습니다. 다음과 같은 다중 리전 액세스 포인트 ARN 형식을 사용하세요.

  `arn:aws:s3::account-id:accesspoint/MultiRegionAccessPoint_alias` 
+ HTTP 503 Slow Down(HTTP 503 속도 저하): 짧은 시간에 너무 많은 요청을 보내는 경우 이 오류가 발생합니다. 요청을 거부하면 오류가 발생합니다.
+ HTTP 409 Conflict(HTTP 409 충돌): 이 오류는 두 개 이상의 동시 라우팅 구성 업데이트 요청이 하나의 다중 리전 액세스 포인트를 대상으로 하는 경우 발생합니다. 첫 번째 요청은 성공하지만 다른 요청은 오류와 함께 실패합니다.
+ HTTP 405 Method Not Allowed(HTTP 405 메서드 허용되지 않음): 이 오류는 장애 조치를 시작할 때 하나의 AWS 리전과 다중 리전 액세스 포인트를 선택한 경우 발생합니다. 장애 조치를 시작하기 전에 두 리전을 선택하지 않으면 오류가 반환됩니다.

# 다중 리전 액세스 포인트와 함께 사용할 복제 구성
<a name="MultiRegionAccessPointBucketReplication"></a>

다중 리전 액세스 포인트 엔드포인트에 요청하면 Amazon S3는 사용자와 가장 가까운 버킷에 요청을 자동으로 라우팅합니다. Amazon S3가 이 결정을 내릴 때 요청의 내용은 고려하지 않습니다. 객체에 `GET` 요청을 하는 경우 해당 요청이 이 객체의 복사본이 없는 버킷으로 라우팅될 수 있습니다. 이런 경우에는 HTTP 상태 코드 404(찾을 수 없음) 오류 메시지가 수신됩니다. 다중 리전 액세스 포인트 요청 라우팅에 대한 자세한 내용은 [다중 리전 액세스 포인트 요청 라우팅](MultiRegionAccessPointRequestRouting.md) 섹션을 참조하세요.

요청을 수신하는 버킷과 관계없이 다중 리전 액세스 포인트가 객체를 검색할 수 있게 하려면 Amazon S3 크로스 리전 복제(CRR)를 구성해야 합니다.

 예를 들어, 다음의 세 버킷이 있는 다중 리전 액세스 포인트를 생각해 보세요.
+ `US West (Oregon)` 리전에 있으며 `my-image.jpg` 객체가 포함된 버킷(이름: `amzn-s3-demo-bucket1`) 
+ `Asia Pacific (Mumbai)` 리전에 있으며 `my-image.jpg` 객체가 포함된 버킷(이름: `amzn-s3-demo-bucket2`) 
+ 이름이 `amzn-s3-demo-bucket`이고 `Europe (Frankfurt)` 리전에 있으며 `my-image.jpg` 객체가 포함되지 않은 버킷 

이 상황에서, `my-image.jpg` 객체에 `GetObject` 요청을 하면 해당 요청의 성공 여부는 요청을 수신하는 버킷에 따라 달라집니다. Amazon S3는 요청의 내용을 고려하지 않으므로 `GetObject` 요청을 `amzn-s3-demo-bucket` 버킷으로 라우팅할 수 있습니다(해당 버킷이 가장 가까운 것에 응답하는 경우). 객체가 다중 리전 액세스 포인트의 버킷에 있더라도 요청을 받은 개별 버킷에 객체가 없으므로 404 찾을 수 없음 오류 메시지가 수신됩니다.

크로스 리전 복제(CRR)를 사용하면 이러한 결과를 피할 수 있습니다. 적절한 복제 규칙을 사용하면 `my-image.jpg` 객체가 `amzn-s3-demo-bucket` 버킷에 복사됩니다. 따라서 Amazon S3가 요청을 해당 버킷으로 라우팅하면 이제 객체를 검색할 수 있습니다.

복제는 다중 리전 액세스 포인트에 할당된 버킷에서 정상적으로 작동합니다. Amazon S3는 다중 리전 액세스 포인트에 있는 버킷으로 특별한 복제 처리를 수행하지 않습니다. 버킷에서 복제를 구성하는 방법에 대한 자세한 내용은 [라이브 복제 설정 개요](replication-how-setup.md) 섹션을 참조하세요.

**다중 리전 액세스 포인트와 함께 복제를 사용할 때의 권장 사항**  
다중 리전 액세스 포인트로 작업할 때 최상의 복제 성능을 위해 다음을 권장합니다.
+ S3 Replication Time Control(S3 RTC)을 구성합니다. 예측 가능한 기간 내에 여러 리전 간에 데이터를 복제하려면 S3 RTC를 사용하면 됩니다. S3 RTC는 Amazon S3에 저장된 새 객체의 99.99%를 15분 이내에 복제합니다(서비스 수준 계약에 따라 지원됨). 자세한 내용은 [S3 Replication Time Control을 사용하여 규정 준수 요구 사항 충족](replication-time-control.md) 섹션을 참조하세요. S3 RTC에는 추가 요금이 부과됩니다. 자세한 내용은 [Amazon S3 요금](https://aws.amazon.com/s3/pricing/)을 참조하세요.
+ 다중 리전 액세스 포인트를 통해 버킷이 업데이트될 때 버킷의 동기화를 유지할 수 있도록 양방향 복제를 활성화합니다. 자세한 내용은 [다중 리전 액세스 포인트에 양방향 복제 규칙 생성](mrap-create-two-way-replication-rules.md) 섹션을 참조하세요.
+ 크로스 계정 다중 리전 액세스 포인트를 생성하여 데이터를 별도의 AWS 계정에 복제합니다. 이 접근 방식은 계정 수준 분리를 제공하므로 소스 버킷이 아닌 다른 리전에 있는 여러 계정에서 데이터에 액세스하고 여러 계정 간에 데이터를 복제할 수 있습니다. 추가 비용 없이 크로스 계정 다중 리전 액세스 포인트를 설정할 수 있습니다. 버킷 소유자이지만 다중 리전 액세스 포인트를 소유하지 않은 경우 데이터 전송 및 요청 비용만 지불하면 됩니다. 다중 리전 액세스 포인트 소유자는 데이터 라우팅 및 인터넷 가속 비용을 지불합니다. 자세한 내용은 [Amazon S3 요금](https://aws.amazon.com/s3/pricing/)을 참조하세요.
+ 각 복제 규칙에 대해 복제본 수정 동기화를 사용 설정하여 객체의 메타데이터 변경 사항도 동기화된 상태로 유지합니다. 자세한 내용은 [복제본 수정 동기화 사용 설정](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-for-metadata-changes.html#enabling-replication-for-metadata-changes)을 참조하세요.
+ [복제 이벤트를 모니터링](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-metrics.html)하려면 Amazon CloudWatch 메트릭을 사용 설정하세요. CloudWatch 지표 요금이 부과됩니다. 자세한 내용은 [Amazon CloudWatch 요금](https://aws.amazon.com/cloudwatch/pricing/)을 참조하세요.

**Topics**
+ [다중 리전 액세스 포인트에 단방향 복제 규칙 생성](mrap-create-one-way-replication-rules.md)
+ [다중 리전 액세스 포인트에 양방향 복제 규칙 생성](mrap-create-two-way-replication-rules.md)
+ [다중 리전 액세스 포인트에 대한 복제 규칙 보기](mrap-view-replication-rules.md)

# 다중 리전 액세스 포인트에 단방향 복제 규칙 생성
<a name="mrap-create-one-way-replication-rules"></a>

복제는 규칙을 사용하면 버킷 간에 객체를 비동기식으로 자동 복제할 수 있습니다. 단방향 복제 규칙은 데이터가 한 AWS 리전의 소스 버킷에서 다른 리전의 대상 버킷으로 완전히 복제되도록 하는 데 도움이 됩니다. 단방향 복제를 설정하면 소스 버킷(*amzn-s3-demo-bucket*)에서 대상 버킷(*amzn-s3-demo-bucket*)으로 복제 규칙이 생성됩니다. 다른 복제 규칙과 마찬가지로 단방향 복제 규칙을 전체 Amazon S3 버킷에 적용하거나 접두사 또는 객체 태그로 필터링된 객체의 하위 집합에 적용할 수 있습니다.

**중요**  
사용자가 대상 버킷의 객체만 소비하는 경우 단방향 복제를 사용하는 것이 좋습니다. 사용자가 대상 버킷의 객체를 업로드하거나 수정할 경우 양방향 복제를 사용하여 모든 버킷을 동기화된 상태로 유지하세요. 또한 장애 조치에 다중 리전 액세스 포인트를 사용할 계획이라면 양방향 복제를 사용하는 것이 좋습니다. 양방향 복제를 설정하려면 [다중 리전 액세스 포인트에 양방향 복제 규칙 생성](mrap-create-two-way-replication-rules.md) 섹션을 참조하세요.

**다중 리전 액세스 포인트에 단방향 복제 규칙을 생성하는 방법**

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

1. 왼쪽 탐색 창에서 **다중 리전 액세스 포인트)**를 선택합니다.

1. 다중 리전 액세스 포인트의 이름을 선택합니다.

1. **Replication and failover**(복제 및 장애 조치) 탭을 선택합니다.

1. **복제 규칙**까지 아래로 스크롤한 다음 **복제 규칙 생성**을 선택합니다. 복제 규칙을 생성할 수 있는 충분한 권한이 있는지 확인하세요. 권한이 충분하지 않으면 버전 관리가 비활성화됩니다.
**참고**  
사용자는 자신의 계정에 있는 버킷에 대해서만 복제 규칙을 생성할 수 있습니다. 외부 버킷에 대한 복제 규칙을 만들려면 버킷 소유자가 해당 버킷에 대한 복제 규칙을 만들어야 합니다.

1. **복제 규칙 생성** 페이지에서 **하나 이상의 소스 버킷에서 하나 이상의 대상 버킷으로 객체 복제** 템플릿을 선택합니다.
**중요**  
이 템플릿을 사용하여 복제 규칙을 만들면 해당 규칙이 이미 버킷에 할당된 기존 복제 규칙을 대체합니다.  
기존 복제 규칙을 대체하는 대신 추가하거나 수정하려면 콘솔에서 각 버킷의 **관리** 탭으로 이동한 다음 **복제 규칙 섹션**에서 규칙을 편집하세요. AWS CLI, SDK 또는 REST API를 사용하여 기존 복제 규칙을 추가하거나 수정할 수도 있습니다. 자세한 내용은 [복제 구성 파일 요소](replication-add-config.md) 섹션을 참조하세요.

1. **소스 및 대상** 섹션의 **소스 버킷**에서 객체를 복제하려는 버킷을 하나 이상 선택합니다. 복제를 위해 선택한 모든 버킷(소스 및 대상)에는 S3 버전 관리가 활성화되어 있어야 하며 각 버킷은 서로 다른 AWS 리전에 있어야 합니다. S3 버전 관리에 대한 자세한 내용은 [Amazon S3 버킷에서 버전 관리 사용](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html)을 참조하세요.

   **대상 버킷**에서 객체를 복제하려는 버킷을 하나 이상 선택합니다.

1. **복제 규칙 구성** 섹션에서 복제 규칙을 생성할 때 해당 복제 규칙을 **활성화**할지 **비활성화**할지를 선택합니다.
**참고**  
**복제 규칙 이름** 상자에 이름을 입력할 수 없습니다. 복제 규칙 이름은 복제 규칙을 생성할 때 구성을 기반으로 생성됩니다.

1. **범위** 섹션에서 복제에 적합한 범위를 선택합니다.
   + 전체 버킷을 복제하려면 **Apply to all objects in the bucket**(버킷의 모든 객체에 적용)를 선택합니다.
   + 버킷 내의 객체 중 일부를 복제하려면 **Limit the scope of this rule using one or more filters(하나 이상의 필터를 사용하여 이 규칙의 범위 제한)**을 선택합니다.

     접두사, 객체 태그 또는 이 두 가지를 모두 사용하여 객체를 필터링할 수 있습니다.
     + 동일한 문자열로 시작하는 이름(예: `pictures`)을 가진 모든 객체로 복제를 제한하려면 **접두사** 상자에 저두사를 입력합니다.

       폴더의 이름에 해당하는 접두사를 입력할 경우, `/`(슬래시)와 같은 구분 기호로 계층 수준을 나타내야 합니다(예: `pictures/`) 접두사에 대한 자세한 정보는 [접두사를 사용한 객체 구성](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html) 섹션을 참조하세요.
     + 하나 이상의 객체 태그가 있는 모든 객체를 복제하려면 **태그 추가**를 선택하고 상자에 키 값 페어를 입력합니다. 다른 태그를 추가하려면 이 절차를 반복합니다. 객체 태그에 대한 자세한 내용은 [태그를 사용하여 객체 분류](object-tagging.md) 섹션을 참조하십시오.

1. 아래로 스크롤하여 **추가 복제 옵션** 섹션으로 이동한 다음 적용할 복제 옵션을 선택합니다.
**참고**  
다음 옵션을 적용하는 것이 좋습니다.  
**복제 시간 제어(RTC)** - 예측 가능한 기간 내에 서로 다른 리전에서 데이터를 복제하려면 S3 Replication Time Control(S3 RTC)을 사용하면 됩니다. S3 RTC는 Amazon S3에 저장된 새 객체의 99.99%를 15분 이내에 복제합니다(서비스 수준 계약에 따라 지원됨). 자세한 내용은 [S3 Replication Time Control을 사용하여 규정 준수 요구 사항 충족](replication-time-control.md) 섹션을 참조하세요.
**복제 지표 및 알림** - Amazon CloudWatch 지표를 사용 설정하여 복제 이벤트를 모니터링합니다.
**삭제 마커 복제** - S3 삭제 작업으로 생성된 삭제 마커가 복제됩니다. 수명 주기 규칙에 의해 생성된 삭제 마커는 복제되지 않습니다. 자세한 내용은 [버킷 간 삭제 마커 복제](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-marker-replication.html)를 참조하세요.
S3 RTC 및 CloudWatch 복제 지표와 알림에는 추가 요금이 부과됩니다. 자세한 내용은 [Amazon S3 요금](https://aws.amazon.com/s3/pricing/) 및 [Amazon CloudWatch 요금](https://aws.amazon.com/cloudwatch/pricing/)을 참조하세요.

1. 기존 복제 규칙을 대체하는 새 복제 규칙을 작성하는 경우 **I acknowledge that by choosing Create replication rules, these existing replication rules will be overwritten(복제 규칙 생성을 선택하면 기존 복제 규칙을 덮어쓰게 됨을 이해합니다)**을 선택합니다.

1. **복제 규칙 생성**을 선택하여 새 단방향 복제 규칙을 생성하고 저장합니다.

# 다중 리전 액세스 포인트에 양방향 복제 규칙 생성
<a name="mrap-create-two-way-replication-rules"></a>

복제는 규칙을 사용하면 버킷 간에 객체를 비동기식으로 자동 복제할 수 있습니다. 양방향 복제 규칙을 사용하면 서로 다른 AWS 리전에 있는 두 개 이상의 버킷 간에 데이터를 완전히 동기화할 수 있습니다. 양방향 복제를 설정하면 원본 버킷(DOC-EXAMPLE-BUCKET-1)에서 복제본이 포함된 버킷(DOC-EXAMPLE-BUCKET-2)으로 복제 규칙이 생성됩니다. 그런 다음 복제본이 포함된 버킷(DOC-EXAMPLE-BUCKET-2)에서 원본 버킷(DOC-EXAMPLE-BUCKET-1)으로의 두 번째 복제 규칙이 생성됩니다.

다른 복제 규칙과 마찬가지로 양방향 복제 규칙을 전체 Amazon S3 버킷에 적용하거나 접두사 또는 객체 태그로 필터링된 객체의 하위 집합에 적용할 수 있습니다. 각 복제 규칙에 대해 [복제본 수정 동기화를 사용 설정](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-for-metadata-changes.html#enabling-replication-for-metadata-changes)하여 객체의 메타데이터 변경 사항도 동기화된 상태로 유지할 수 있습니다. Amazon S3 콘솔, AWS CLI, AWS SDK, Amazon S3 REST API 또는 AWS CloudFormation를 통해 복제본 수정 동기화를 활성화할 수 있습니다.

Amazon CloudWatch에서 객체 및 객체 메타데이터의 복제 진행 상황을 모니터링하려면 S3 복제 지표 및 알림을 사용 설정하세요. 자세한 내용은 [복제 지표 및 Amazon S3 이벤트 알림으로 진행 상태 모니터링](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-metrics.html)을 참조하세요.

**다중 리전 액세스 포인트에 양방향 복제 규칙을 생성하는 방법**



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

1. 왼쪽 탐색 창에서 **다중 리전 액세스 포인트)**를 선택합니다.

1. 업데이트하려는 다중 리전 액세스 포인트의 이름을 선택합니다.

1. **Replication and failover**(복제 및 장애 조치) 탭을 선택합니다.

1. **복제 규칙**까지 아래로 스크롤한 다음 **복제 규칙 생성**을 선택합니다.

1. **복제 규칙 생성** 페이지에서 **지정된 모든 버킷 간에 객체 복제** 템플릿을 선택합니다. **지정된 모든 버킷 간에 객체 복제** 템플릿은 버킷에 양방향 복제(장애 조치 기능 포함)를 설정합니다.
**중요**  
이 템플릿을 사용하여 복제 규칙을 만들면 해당 규칙이 이미 버킷에 할당된 기존 복제 규칙을 대체합니다.  
기존 복제 규칙을 대체하는 대신 추가하거나 수정하려면 콘솔에서 각 버킷의 **관리** 탭으로 이동한 다음 **복제 규칙 섹션**에서 규칙을 편집하세요. AWS CLI, AWS SDK 또는 Amazon S3 REST API를 사용하여 기존 복제 규칙을 추가하거나 수정할 수도 있습니다. 자세한 내용은 [복제 구성 파일 요소](replication-add-config.md) 섹션을 참조하세요.

1. **버킷** 섹션에서 객체를 복제하려는 원본 버킷을 두 개 이상 선택합니다. 복제를 위해 선택한 모든 버킷에는 S3 버전 관리가 활성화되어 있어야 하며 각 버킷은 서로 다른 AWS 리전에 있어야 합니다. S3 버전 관리에 대한 자세한 내용은 [Amazon S3 버킷에서 버전 관리 사용](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html)을 참조하세요.
**참고**  
복제를 설정하는 데 필요한 읽기 및 복제 권한이 있는지 확인하세요. 권한이 없으면 오류가 발생합니다. 자세한 내용은 [IAM 역할 생성](https://docs.aws.amazon.com/AmazonS3/latest/userguide/setting-repl-config-perm-overview.html)을 참조하세요.

1. **복제 규칙 구성** 섹션에서 복제 규칙을 생성할 때 해당 복제 규칙을 **활성화**할지 **비활성화**할지를 선택합니다.
**참고**  
**복제 규칙 이름** 상자에 이름을 입력할 수 없습니다. 복제 규칙 이름은 복제 규칙을 생성할 때 구성을 기반으로 생성됩니다.

1. **범위** 섹션에서 복제에 적합한 범위를 선택합니다.
   + 전체 버킷을 복제하려면 **Apply to all objects in the bucket**(버킷의 모든 객체에 적용)를 선택합니다.
   + 버킷 내의 객체 중 일부를 복제하려면 **Limit the scope of this rule using one or more filters(하나 이상의 필터를 사용하여 이 규칙의 범위 제한)**을 선택합니다.

     접두사, 객체 태그 또는 이 두 가지를 모두 사용하여 객체를 필터링할 수 있습니다.
     + 동일한 문자열로 시작하는 이름(예: `pictures`)을 가진 모든 객체로 복제를 제한하려면 **접두사** 상자에 저두사를 입력합니다.

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

1. 아래로 스크롤하여 **추가 복제 옵션** 섹션으로 이동한 다음 적용할 복제 옵션을 선택합니다.
**참고**  
특히 장애 조치를 지원하도록 다중 리전 액세스 포인트를 구성하려는 경우 다음 옵션을 적용하는 것이 좋습니다.  
**복제 시간 제어(RTC)** - 예측 가능한 기간 내에 서로 다른 리전에서 데이터를 복제하려면 S3 Replication Time Control(S3 RTC)을 사용하면 됩니다. S3 RTC는 Amazon S3에 저장된 새 객체의 99.99%를 15분 이내에 복제합니다(서비스 수준 계약에 따라 지원됨). 자세한 내용은 [S3 Replication Time Control을 사용하여 규정 준수 요구 사항 충족](replication-time-control.md) 섹션을 참조하세요.
**복제 지표 및 알림** - Amazon CloudWatch 지표를 사용 설정하여 복제 이벤트를 모니터링합니다.
**삭제 마커 복제** - S3 삭제 작업으로 생성된 삭제 마커가 복제됩니다. 수명 주기 규칙에 의해 생성된 삭제 마커는 복제되지 않습니다. 자세한 내용은 [버킷 간 삭제 마커 복제](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-marker-replication.html)를 참조하세요.
**복제본 수정 동기화 ** - 각 복제 규칙에 대해 복제본 수정 동기화를 사용 설정하여 객체의 메타데이터 변경 사항도 동기화된 상태로 유지합니다. 자세한 내용은 [복제본 수정 동기화 사용 설정](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-for-metadata-changes.html#enabling-replication-for-metadata-changes)을 참조하세요.
S3 RTC 및 CloudWatch 복제 지표와 알림에는 추가 요금이 부과됩니다. 자세한 내용은 [Amazon S3 요금](https://aws.amazon.com/s3/pricing/) 및 [Amazon CloudWatch 요금](https://aws.amazon.com/cloudwatch/pricing/)을 참조하세요.

1. 기존 복제 규칙을 대체하는 새 복제 규칙을 작성하는 경우 **I acknowledge that by choosing Create replication rules, these existing replication rules will be overwritten(복제 규칙 생성을 선택하면 기존 복제 규칙을 덮어쓰게 됨을 이해합니다)**을 선택합니다.

1. **복제 규칙 생성**을 선택하여 새 양방향 복제 규칙을 생성하고 저장합니다.

# 다중 리전 액세스 포인트에 대한 복제 규칙 보기
<a name="mrap-view-replication-rules"></a>

다중 리전 액세스 포인트를 사용하면 단방향 복제 규칙 또는 양방향 복제 규칙을 설정할 수 있습니다. 복제 규칙을 관리하는 방법에 대한 자세한 내용은 [Amazon S3 콘솔을 사용하여 복제 규칙 관리](https://docs.aws.amazon.com/AmazonS3/latest/userguide/disable-replication.html)를 참조하세요.

**다중 리전 액세스 포인트에 대한 복제 규칙을 보는 방법**



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

1. 왼쪽 탐색 창에서 **다중 리전 액세스 포인트)**를 선택합니다.

1. 다중 리전 액세스 포인트의 이름을 선택합니다.

1. **Replication and failover**(복제 및 장애 조치) 탭을 선택합니다.

1. **복제 규칙** 섹션까지 아래로 스크롤합니다. 이 섹션에는 다중 리전 액세스 포인트에 생성된 모든 복제 규칙이 나열됩니다.
**참고**  
다른 계정의 버킷을 이 다중 리전 액세스 포인트에 추가한 경우 해당 버킷의 복제 규칙을 보려면 버킷 소유자의 `s3:GetBucketReplication` 권한이 있어야 합니다.

# 지원되는 API 작업으로 다중 리전 액세스 포인트 사용
<a name="MrapOperations"></a>

 Amazon S3는 다중 리전 액세스 포인트를 관리하기 위한 일련의 작업을 제공합니다. Amazon S3는 이러한 작업 중 일부를 동기적으로 처리하고 일부는 비동기적으로 처리합니다. 비동기 작업을 호출하면 Amazon S3가 먼저 요청된 작업을 동기적으로 승인합니다. 권한이 부여되면 Amazon S3는 요청한 작업의 진행 상황 및 결과를 추적하는 데 사용할 수 있는 토큰을 반환합니다.

**참고**  
Amazon S3 콘솔을 통한 요청은 항상 동기적입니다. 콘솔은 요청이 완료될 때까지 기다렸다가 다른 요청을 제출할 수 있도록 합니다.

콘솔을 사용하여 비동기 작업의 현재 상태 및 결과를 보거나 AWS CLI, AWS SDK 또는 REST API에서 `DescribeMultiRegionAccessPointOperation`을 사용할 수 있습니다. Amazon S3는 비동기 작업에 대한 응답으로 추적 토큰을 제공합니다. 해당 추적 토큰을 `DescribeMultiRegionAccessPointOperation`에 대한 인수로 포함합니다. 추적 토큰을 포함하는 경우 Amazon S3는 다음 단계로 오류나 관련 리소스 정보를 포함하여 지정된 작업의 현재 상태 및 결과를 반환합니다. Amazon S3는 `DescribeMultiRegionAccessPointOperation` 작업을 동기적으로 수행합니다.

다중 리전 액세스 포인트를 생성하거나 유지하기 위한 모든 모든 컨트롤 플레인 요청은 `US West (Oregon)` 리전으로 라우팅되어야 합니다. 다중 리전 액세스 포인트 데이터 영역 요청의 경우 리전을 지정할 필요가 없습니다. 다중 리전 액세스 포인트 장애 조치 컨트롤 플레인의 경우 지원되는 다섯 개 리전 중 하나로 요청을 라우팅해야 합니다. 다중 리전 액세스 포인트 지원 리전에 대한 자세한 내용은 [다중 리전 액세스 포인트 규제 및 제한](MultiRegionAccessPointRestrictions.md) 섹션을 참조하세요.

이 밖에도 다중 리전 액세스 포인트 관리를 요청하는 사용자, 역할 또는 기타 AWS Identity and Access Management(IAM) 엔터티에 `s3:ListAllMyBuckets` 권한을 부여해야 합니다.

다음 예시에서는 Amazon S3에서 호환되는 작업으로 다중 리전 액세스 포인트를 사용하는 방법을 보여줍니다.

**Topics**
+ [AWS 서비스 및 AWS SDK와 다중 리전 액세스 포인트의 호환성](#mrap-api-support)
+ [S3 작업과 다중 리전 액세스 포인트의 호환성](#mrap-operations-support)
+ [다중 리전 액세스 포인트 라우팅 구성 보기](#query-mrap-routing-configuration)
+ [기본 Amazon S3 버킷 정책을 업데이트합니다.](#update-underlying-bucket-policy)
+ [다중 리전 액세스 포인트 라우팅 구성 업데이트](#update-mrap-route-configuration)
+ [다중 리전 액세스 포인트의 버킷에 객체 추가](#add-bucket-mrap)
+ [다중 리전 액세스 포인트에서 객체 검색](#get-object-mrap)
+ [다중 리전 액세스 포인트의 기반이 되는 버킷에 저장된 객체 목록](#list-objects-mrap)
+ [다중 리전 액세스 포인트와 함께 미리 서명된 URL 사용](#use-presigned-url-mrap)
+ [다중 리전 액세스 포인트와 함께 요청자 지불로 구성된 버킷을 사용합니다.](#use-requester-pays-mrap)

## AWS 서비스 및 AWS SDK와 다중 리전 액세스 포인트의 호환성
<a name="mrap-api-support"></a>

Amazon S3 버킷 이름이 필요한 애플리케이션과 함께 다중 리전 액세스 포인트를 사용하려면 AWS SDK를 사용하여 요청할 때 다중 리전 액세스 포인트의 Amazon 리소스 이름(ARN)을 사용합니다. 어떤 AWS SDK가 다중 리전 액세스 포인트와 호환되는지 확인하려면 [AWS SDK와의 호환성](https://docs.aws.amazon.com/sdkref/latest/guide/feature-s3-mrap.html#s3-mrap-sdk-compat)을 참조하세요.

## S3 작업과 다중 리전 액세스 포인트의 호환성
<a name="mrap-operations-support"></a>

다음 Amazon S3 데이터 영역 API 작업을 사용하여 다중 리전 액세스 포인트와 연결된 버킷의 객체에 대한 작업을 수행할 수 있습니다. 다음 S3 작업에서는 다중 리전 액세스 포인트 ARN을 수락할 수 있습니다.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLegalHold.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLegalHold.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectRetention.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectRetention.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)

**참고**  
다중 리전 액세스 포인트는 다중 리전 액세스 포인트 ARN을 사용할 때 목적지로만 다중 리전 액세스 포인트를 사용한 복사 작업을 지원합니다.

다음과 같은 Amazon S3 컨트롤 플레인 작업을 사용하여 다중 리전 액세스 포인트를 생성하고 관리할 수 있습니다.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeMultiRegionAccessPointOperation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeMultiRegionAccessPointOperation.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPoint.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicy.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicyStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicyStatus.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointRoutes.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointRoutes.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListMultiRegionAccessPoints.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListMultiRegionAccessPoints.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPointPolicy.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_SubmitMultiRegionAccessPointRoutes.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_SubmitMultiRegionAccessPointRoutes.html)

## 다중 리전 액세스 포인트 라우팅 구성 보기
<a name="query-mrap-routing-configuration"></a>

------
#### [ AWS CLI ]

다음 예시 명령은 다중 리전 액세스 포인트 라우팅 구성을 검색하여 버킷의 현재 라우팅 상태를 확인할 수 있도록 합니다. 이 예시 명령을 사용하려면 `user input placeholders`를 실제 정보로 대체하세요.

```
aws s3control get-multi-region-access-point-routes
--region eu-west-1
--account-id 111122223333
--mrap arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap
```

------
#### [ SDK for Java ]

다음 SDK for Java 코드는 다중 리전 액세스 포인트 라우팅 구성을 검색하여 버킷의 현재 라우팅 상태를 확인할 수 있도록 합니다. 이 예시 구문을 사용하려면 `user input placeholders`를 사용자의 정보로 대체하세요.

```
S3ControlClient s3ControlClient = S3ControlClient.builder()
    .region(Region.US_EAST_1)
    .credentialsProvider(credentialsProvider)
    .build();
 
GetMultiRegionAccessPointRoutesRequest request = GetMultiRegionAccessPointRoutesRequest.builder()
    .accountId("111122223333")
    .mrap("arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap")
    .build();
 
GetMultiRegionAccessPointRoutesResponse response = s3ControlClient.getMultiRegionAccessPointRoutes(request);
```

------
#### [ SDK for JavaScript ]

다음 SDK for JavaScript 코드는 다중 리전 액세스 포인트 라우팅 구성을 검색하여 버킷의 현재 라우팅 상태를 확인할 수 있도록 합니다. 이 예시 구문을 사용하려면 `user input placeholders`를 사용자의 정보로 대체하세요.

```
const REGION = 'us-east-1'
 
const s3ControlClient = new S3ControlClient({
  region: REGION
})
 
export const run = async () => {
  try {
    const data = await s3ControlClient.send(
      new GetMultiRegionAccessPointRoutesCommand({
        AccountId: '111122223333',
        Mrap: 'arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap',
      })
    )
    console.log('Success', data)
    return data
  } catch (err) {
    console.log('Error', err)
  }
}
 
run()
```

------
#### [ SDK for Python ]

다음 SDK for Python 코드는 다중 리전 액세스 포인트 라우팅 구성을 검색하여 버킷의 현재 라우팅 상태를 확인할 수 있도록 합니다. 이 예시 구문을 사용하려면 `user input placeholders`를 사용자의 정보로 대체하세요.

```
s3.get_multi_region_access_point_routes(
        AccountId=111122223333,
        Mrap=arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap)['Routes']
```

------

## 기본 Amazon S3 버킷 정책을 업데이트합니다.
<a name="update-underlying-bucket-policy"></a>

적절한 액세스 권한을 부여하려면 기본 Amazon S3 버킷 정책도 업데이트해야 합니다. 다음 예시는 다중 리전 액세스 포인트 정책에 액세스 제어를 위임합니다. 액세스 제어를 다중 리전 액세스 포인트 정책에 위임하고 나면 다중 리전 액세스 포인트를 통해 요청이 이루어진 경우 액세스 제어에 더 이상 버킷 정책을 사용할 수 없습니다.

다음은 액세스 제어를 다중 리전 액세스 포인트 정책에 위임하는 버킷 정책의 예시입니다. 이 버킷 정책 예시를 사용하려면 `user input placeholders`를 실제 정보로 대체하세요. AWS CLI `put-bucket-policy` 명령을 통해 이 정책을 적용하려면 다음 예와 같이 정책을 파일에 저장합니다(예: `policy.json`).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": { 
        "AWS": "arn:aws:iam::444455556666:root" 
      },
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket",
        "arn:aws:s3:::amzn-s3-demo-bucket/*"
      ],
      "Condition": {
        "StringEquals": {
          "s3:DataAccessPointAccount": "444455556666"
        }
      }
    }
  ]
}
```

------

다음 `put-bucket-policy` 예시 명령은 업데이트된 S3 버킷 정책을 S3 버킷과 연결합니다.

```
aws s3api put-bucket-policy
  --bucket amzn-s3-demo-bucket
  --policy file:///tmp/policy.json
```

## 다중 리전 액세스 포인트 라우팅 구성 업데이트
<a name="update-mrap-route-configuration"></a>

다음 예시 명령은 다중 리전 액세스 포인트 라우팅 구성을 업데이트합니다. 다중 리전 액세스 포인트 라우팅 명령은 다음 5개 리전에 대해 실행할 수 있습니다.
+ `ap-southeast-2`
+ `ap-northeast-1`
+ `us-east-1`
+ `us-west-2`
+ `eu-west-1`

다중 리전 액세스 포인트 라우팅 구성에서는 버킷을 액티브 또는 패시브 라우팅 상태로 설정할 수 있습니다. 액티브 버킷은 트래픽을 수신하지만 패시브 버킷은 그렇지 않습니다. 버킷의 `TrafficDialPercentage` 값을 액티브의 경우 `100`, 패시브의 경우 `0`으로 설정하여 버킷의 라우팅 상태를 설정할 수 있습니다.

------
#### [ AWS CLI ]

다음 예시 명령은 다중 리전 액세스 포인트 라우팅 구성을 업데이트합니다. 이 예시에서는 `amzn-s3-demo-bucket1`이 액티브 상태로, `amzn-s3-demo-bucket2`가 패시브로 설정되어 있습니다. 이 예시 명령을 사용하려면 `user input placeholders`를 실제 정보로 대체하세요.

```
aws s3control submit-multi-region-access-point-routes
--region ap-southeast-2 
--account-id 111122223333
--mrap arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap
--route-updates Bucket=amzn-s3-demo-bucket1,TrafficDialPercentage=100
                Bucket=amzn-s3-demo-bucket2,TrafficDialPercentage=0
```

------
#### [ SDK for Java ]

다음 SDK for Java 코드는 다중 리전 액세스 포인트 라우팅 구성을 업데이트합니다. 이 예시 구문을 사용하려면 `user input placeholders`를 사용자의 정보로 대체하세요.

```
S3ControlClient s3ControlClient = S3ControlClient.builder()
    .region(Region.ap-southeast-2)
    .credentialsProvider(credentialsProvider)
    .build();
 
SubmitMultiRegionAccessPointRoutesRequest request = SubmitMultiRegionAccessPointRoutesRequest.builder()
    .accountId("111122223333")
    .mrap("arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap")
    .routeUpdates(
        MultiRegionAccessPointRoute.builder()
            .region("eu-west-1")
            .trafficDialPercentage(100)
            .build(),
        MultiRegionAccessPointRoute.builder()
            .region("ca-central-1")
            .bucket("111122223333")
            .trafficDialPercentage(0)
            .build()
    )
    .build();
 
SubmitMultiRegionAccessPointRoutesResponse response = s3ControlClient.submitMultiRegionAccessPointRoutes(request);
```

------
#### [ SDK for JavaScript ]

다음 SDK for JavaScript 코드는 다중 리전 액세스 포인트 라우팅 구성을 업데이트합니다. 이 예시 구문을 사용하려면 `user input placeholders`를 사용자의 정보로 대체하세요.

```
const REGION = 'ap-southeast-2'
 
const s3ControlClient = new S3ControlClient({
  region: REGION
})
 
export const run = async () => {
  try {
    const data = await s3ControlClient.send(
      new SubmitMultiRegionAccessPointRoutesCommand({
        AccountId: '111122223333',
        Mrap: 'arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap',
        RouteUpdates: [
          {
            Region: 'eu-west-1',
            TrafficDialPercentage: 100,
          },
          {
            Region: 'ca-central-1',
            Bucket: 'amzn-s3-demo-bucket1',
            TrafficDialPercentage: 0,
          },
        ],
      })
    )
    console.log('Success', data)
    return data
  } catch (err) {
    console.log('Error', err)
  }
}
 
run()
```

------
#### [ SDK for Python ]

다음 SDK for Python 코드는 다중 리전 액세스 포인트 라우팅 구성을 업데이트합니다. 이 예시 구문을 사용하려면 `user input placeholders`를 사용자의 정보로 대체하세요.

```
s3.submit_multi_region_access_point_routes(
        AccountId=111122223333,
        Mrap=arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap, 
        RouteUpdates= [{
            'Bucket': amzn-s3-demo-bucket,
            'Region': ap-southeast-2, 
            'TrafficDialPercentage': 10
        }])
```

------

## 다중 리전 액세스 포인트의 버킷에 객체 추가
<a name="add-bucket-mrap"></a>

다중 리전 액세스 포인트에 연결된 버킷에 객체를 추가하려면 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) 작업을 사용합니다. 다중 리전 액세스 포인트의 모든 버킷을 동기화된 상태로 유지하려면 [크로스 리전 복제](MultiRegionAccessPointBucketReplication.md)를 활성화합니다.

**참고**  
이 작업을 사용하려면 다중 리전 액세스 포인트에 대한 `s3:PutObject` 권한이 있어야 합니다. 다중 리전 액세스 포인트 권한 요구 사항에 대한 자세한 내용은 [권한](MultiRegionAccessPointPermissions.md) 섹션을 참조하세요.

------
#### [ AWS CLI ]

다음 예시 데이터 영역 요청은 지정된 다중 리전 액세스 포인트에 *`example.txt`*를 업로드합니다. 이 예제를 사용하려면 *`user input placeholders`*를 사용자의 정보로 대체합니다.

```
aws s3api put-object --bucket arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap --key example.txt --body example.txt
```

------
#### [ SDK for Java ]

```
S3Client s3Client = S3Client.builder()
        .build();
        
PutObjectRequest objectRequest = PutObjectRequest.builder()
        .bucket("arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap")
        .key("example.txt")
        .build();

s3Client.putObject(objectRequest, RequestBody.fromString("Hello S3!"));
```

------
#### [ SDK for JavaScript ]

```
const client = new S3Client({});

async function putObjectExample() {
    const command = new PutObjectCommand({
        Bucket: "arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap",
        Key: "example.txt",
        Body: "Hello S3!",
    });
    
    try {
        const response = await client.send(command);
        console.log(response);
    } catch (err) {
        console.error(err);
    }
}
```

------
#### [ SDK for Python ]

```
import boto3

client = boto3.client('s3')
client.put_object(
    Bucket='arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap',
    Key='example.txt',
    Body='Hello S3!'
)
```

------

## 다중 리전 액세스 포인트에서 객체 검색
<a name="get-object-mrap"></a>

다중 리전 액세스 포인트에서 객체를 검색하려면 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) 작업을 사용할 수 있습니다.

**참고**  
이 API 작업을 사용하려면 다중 리전 액세스 포인트에 대한 `s3:GetObject` 권한이 있어야 합니다. 다중 리전 액세스 포인트 권한 요구 사항에 대한 자세한 내용은 [권한](MultiRegionAccessPointPermissions.md) 섹션을 참조하세요.

------
#### [ AWS CLI ]

다음 예시 데이터 영역 요청은 지정된 다중 리전 액세스 포인트에서 *`example.txt`*를 검색하여 *`downloaded_example.txt`*로 다운로드합니다. 이 예제를 사용하려면 *`user input placeholders`*를 사용자의 정보로 대체합니다.

```
aws s3api get-object --bucket arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap --key example.txt downloaded_example.txt
```

------
#### [ SDK for Java ]

```
S3Client s3 = S3Client
   .builder()
   .build();

GetObjectRequest getObjectRequest = GetObjectRequest.builder()
    .bucket("arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap")
    .key("example.txt")
    .build();

s3Client.getObject(getObjectRequest);
```

------
#### [ SDK for JavaScript ]

```
const client = new S3Client({})

async function getObjectExample() {
    const command = new GetObjectCommand({
        Bucket: "arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap",
        Key: "example.txt"
    });
    
    try {
        const response = await client.send(command);
        console.log(response);
    } catch (err) {
        console.error(err);
    }
}
```

------
#### [ SDK for Python ]

```
import boto3

client = boto3.client('s3')
client.get_object(
    Bucket='arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap',
    Key='example.txt'
)
```

------

## 다중 리전 액세스 포인트의 기반이 되는 버킷에 저장된 객체 목록
<a name="list-objects-mrap"></a>

다중 리전 액세스 포인트의 기반이 되는 버킷에 저장된 객체 목록을 반환하려면 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) 작업을 사용합니다. 다음 예시 명령에서는 다중 리전 액세스 포인트에 대한 ARN을 사용하여 지정된 다중 리전 액세스 포인트에 대한 모든 객체가 나열됩니다. 이 경우 다중 리전 액세스 포인트 ARN은 다음과 같습니다.

`arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap`

**참고**  
이 API 작업을 사용하려면 다중 리전 액세스 포인트 및 기반 버킷에 대한 `s3:ListBucket` 권한이 있어야 합니다. 다중 리전 액세스 포인트 권한 요구 사항에 대한 자세한 내용은 [권한](MultiRegionAccessPointPermissions.md) 섹션을 참조하세요.

------
#### [ AWS CLI ]

다음 예시 데이터 영역 요청은 ARN에서 지정한 다중 리전 액세스 포인트의 기반이 되는 버킷의 객체를 나열합니다. 이 예제를 사용하려면 *`user input placeholders`*를 사용자의 정보로 대체합니다.

```
aws s3api list-objects-v2 --bucket arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap
```

------
#### [ SDK for Java ]

```
S3Client s3Client = S3Client.builder()
        .build();
        
String bucketName = "arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap";

ListObjectsV2Request listObjectsRequest = ListObjectsV2Request
    .builder()
    .bucket(bucketName)
    .build();

 s3Client.listObjectsV2(listObjectsRequest);
```

------
#### [ SDK for JavaScript ]

```
const client = new S3Client({});

async function listObjectsExample() {
    const command = new ListObjectsV2Command({
        Bucket: "arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap",
    });
    
    try {
        const response = await client.send(command);
        console.log(response);
    } catch (err) {
        console.error(err);
    }
}
```

------
#### [ SDK for Python ]

```
import boto3

client = boto3.client('s3')
client.list_objects_v2(
    Bucket='arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap'
)
```

------

## 다중 리전 액세스 포인트와 함께 미리 서명된 URL 사용
<a name="use-presigned-url-mrap"></a>

미리 서명된 URL을 사용하여 다른 사람이 Amazon S3 다중 리전 액세스 포인트를 통해 Amazon S3 버킷에 액세스하는 데 사용할 수 있는 URL을 생성할 수 있습니다. 미리 서명된 URL을 생성하면 S3 업로드(`PutObject`) 또는 S3 다운로드(`GetObject`)와 같은 특정 객체 작업과 연결됩니다. 미리 서명된 URL을 공유할 수 있으며 URL에 액세스할 수 있는 모든 사용자는 원래 서명 사용자인 것처럼 URL에 포함된 작업을 수행할 수 있습니다.

미리 서명된 URL에는 만료일이 있습니다. 만료 시간에 도달하면 URL이 더 이상 작동하지 않습니다.

미리 서명된 URL과 함께 S3 다중 리전 액세스 포인트를 사용하기 전에 SigV4A 알고리즘과의 [AWS SDK 호환성](https://docs.aws.amazon.com/sdkref/latest/guide/feature-s3-mrap.html#s3-mrap-sdk-compat)을 확인하세요. 글로벌 AWS 리전 요청에 서명하는 데 사용되는 서명 구현으로 SigV4A 알고리즘을 지원하는 SDK 버전인지 확인하세요. Amazon S3와 함께 미리 서명된 URL을 사용하는 방법 대한 자세한 내용은 [미리 서명된 URL을 사용하여 객체 공유](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html) 섹션을 참조하세요.

다음 예시에서는 미리 서명된 URL과 함께 다중 리전 액세스 포인트를 사용하는 방법을 보여줍니다. 이러한 예제를 사용하려면 *`user input placeholders`*를 실제 정보로 대체하세요.

------
#### [ AWS CLI ]

```
aws s3 presign arn:aws:s3::123456789012:accesspoint/MultiRegionAccessPoint_alias/example-file.txt
```

------
#### [ SDK for Python ]

```
import logging
import boto3
from botocore.exceptions import ClientError

s3_client = boto3.client('s3',aws_access_key_id='xxx',aws_secret_access_key='xxx')
s3_client.generate_presigned_url(HttpMethod='PUT',ClientMethod="put_object", Params={'Bucket':'arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap','Key':'example-file'})
```

------
#### [ SDK for Java ]

```
S3Presigner s3Presigner = S3Presigner.builder()
    .credentialsProvider(StsAssumeRoleCredentialsProvider.builder()
        .refreshRequest(assumeRole)
        .stsClient(stsClient)
        .build())
    .build();

GetObjectRequest getObjectRequest = GetObjectRequest.builder()
    .bucket("arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap")
    .key("example-file")
    .build();

GetObjectPresignRequest preSignedReq = GetObjectPresignRequest.builder()
    .getObjectRequest(getObjectRequest)
    .signatureDuration(Duration.ofMinutes(10))
    .build();

PresignedGetObjectRequest presignedGetObjectRequest = s3Presigner.presignGetObject(preSignedReq);
```

------

**참고**  
IAM 역할을 사용하는 경우와 같이 임시 보안 인증 정보와 함께 SigV4A를 사용하려면 글로벌 엔드포인트가 아닌 AWS Security Token Service(AWS STS)의 리전 엔드포인트에서 임시 보안 인증 정보를 요청해야 합니다. AWS STS(`sts.amazonaws.com`)에 대한 글로벌 엔드포인트를 사용하면 AWS STS가 Sig4A가 지원되지 않는 글로벌 엔드포인트에서 임시 자격 증명을 생성합니다. 따라서 오류가 발생합니다. 이 문제를 해결하려면 [AWS STS 리전 엔드포인트](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#id_credentials_region-endpoints)에 나열된 것 중 하나를 사용하세요.

## 다중 리전 액세스 포인트와 함께 요청자 지불로 구성된 버킷을 사용합니다.
<a name="use-requester-pays-mrap"></a>

다중 리전 액세스 포인트와 연결된 S3 버킷이 [요청자 지불을 사용하도록 구성](https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysExamples.html)된 경우 요청자는 버킷 요청과 다운로드, 다중 리전 액세스 포인트 관련 비용을 모두 지불합니다. 자세한 내용은 [Amazon S3 요금](https://aws.amazon.com/s3/pricing/)을 참조하세요.

다음은 요청자 지불 버킷에 연결된 다중 리전 액세스 포인트에 대한 데이터 영역 요청의 예입니다.

------
#### [ AWS CLI ]

요청자 지불 버킷에 연결된 다중 리전 액세스 포인트에서 객체를 다운로드하려면 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object.html) 요청의 일부로 `--request-payer requester`를 지정해야 합니다. 또한 버킷에 있는 파일의 이름과 다운로드되는 파일을 저장할 위치를 지정해야 합니다.

```
aws s3api get-object --bucket MultiRegionAccessPoint_ARN --request-payer requester --key example-file-in-bucket.txt example-location-of-downloaded-file.txt 
```

------
#### [ SDK for Java ]

요청자 지불 버킷에 연결된 다중 리전 액세스 포인트에서 객체를 다운로드하려면 `GetObject` 요청의 일부로 `RequestPayer.REQUESTER`를 지정해야 합니다. 또한 버킷에 있는 파일의 이름과 파일을 저장할 위치를 지정해야 합니다.

```
GetObjectResponse getObjectResponse = s3Client.getObject(GetObjectRequest.builder()
    .key("example-file.txt")
    .bucket("arn:aws:s3::
123456789012:accesspoint/abcdef0123456.mrap")
    .requestPayer(RequestPayer.REQUESTER)
    .build()
).response();
```

------

# 다중 리전 액세스 포인트를 통해 기본 리소스에 대한 요청 모니터링 및 로깅
<a name="MultiRegionAccessPointMonitoring"></a>

Amazon S3는 다중 리전 액세스 포인트를 통해 수행된 요청 및 이를 관리하는 API 작업에 대한 요청(예: `CreateMultiRegionAccessPoint` 및 `GetMultiRegionAccessPointPolicy`)을 로깅합니다. 다중 리전 액세스 포인트를 통해 수행된 Amazon S3에 대한 요청은 다중 리전 액세스 포인트의 호스트 이름과 함께 Amazon S3 서버 액세스 로그 및 AWS CloudTrail 로그에 표시됩니다. 액세스 포인트의 호스트 이름은 `MRAP_alias.accesspoint.s3-global.amazonaws.com` 형식을 사용합니다. 예를 들어 다음과 같은 버킷 및 다중 리전 액세스 포인트 구성이 있다고 가정합니다.
+ 이름이 `my-bucket-usw2`이며 `us-west-2` 리전에 있고 `my-image.jpg` 객체가 포함된 버킷 
+ 이름이 `my-bucket-aps1`이며 `ap-south-1` 리전에 있고 `my-image.jpg` 객체가 포함된 버킷 
+  이름이 `my-bucket-euc1`이며 `eu-central-1` 리전에 있고 `my-image.jpg` 객체가 포함되지 않은 버킷 
+  `mfzwi23gnjvgw.mrap` 별칭이 있는 `my-mrap` 다중 영역 액세스 포인트가 버킷 3개의 요청을 모두 이행하도록 구성되어 있습니다.
+  귀하의 AWS 계정 ID는 `123456789012`입니다.

버킷을 통해 `my-image.jpg`를 직접 검색하기 위해 이루어진 요청은 호스트 이름이 `bucket_name.s3.Region.amazonaws.com`인 로그에 표시됩니다.

다중 리전 액세스 포인트를 통해 요청하는 경우 Amazon S3는 먼저 서로 다른 리전의 버킷 중 가장 가까운 버킷을 판단합니다. Amazon S3가 요청을 이행하는 데 사용할 버킷을 결정하면 해당 버킷으로 요청을 보내고 다중 리전 액세스 포인트 호스트 이름을 사용하여 작업을 로깅합니다. 이 예에서 Amazon S3가 요청을 `my-bucket-aps1`로 릴레이하면 로그는 `mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com`의 호스트 이름을 사용하여 `my-bucket-aps1`에서 `my-image.jpg`에 대해 성공한 `GET` 요청을 반영합니다.

**중요**  
다중 리전 액세스 포인트는 기본 버킷의 데이터 콘텐츠를 인식하지 못합니다. 따라서 요청을 받는 버킷에는 요청된 데이터가 포함되어 있지 않을 수 있습니다. 예를 들어, Amazon S3가 `my-bucket-euc1` 버킷이 가장 가깝다고 판단한 경우 로그에는 `mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com`의 호스트 이름을 사용하여 `my-bucket-euc1`에서 `my-image.jpg`에 대해 실패한 `GET` 요청이 반영됩니다. 요청이 대신 `my-bucket-usw2`로 라우팅된 경우 로그에는 성공한 `GET` 요청이 표시됩니다.

 Amazon S3 서버 액세스 로그에 대한 자세한 내용은 [서버 액세스 로깅을 사용한 요청 로깅](ServerLogs.md) 섹션을 참조하세요. AWS CloudTrail에 대한 자세한 내용은 *AWS CloudTrail 사용 설명서*의 [AWS CloudTrail이란 무엇인가요?](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)를 참조하세요.

## 다중 리전 액세스 포인트 관리 API 작업에 대한 요청 모니터링 및 로깅
<a name="MonitoringMultiRegionAccessPointAPIs"></a>

Amazon S3는 `CreateMultiRegionAccessPoint` 및 `GetMultiRegionAccessPointPolicy`와 같은 다중 리전 액세스 포인트를 관리하기 위한 여러 가지 API 작업을 제공합니다. AWS Command Line Interface(AWS CLI), AWS SDK 또는 Amazon S3 REST API를 사용하여 이러한 API 작업에 대해 요청을 수행하면 Amazon S3는 이러한 요청을 비동기적으로 처리합니다. 해당 요청에 대한 적절한 권한이 있는 경우 Amazon S3는 이러한 요청에 대한 토큰을 반환합니다. 이 토큰을 `DescribeAsyncOperation`과 같이 사용하면 진행 중인 비동기 작업의 상태를 확인할 수 있습니다. Amazon S3는 `DescribeAsyncOperation` 요청을 동기적으로 처리합니다. 비동기 요청의 상태를 확인하려면 Amazon S3 콘솔, AWS CLI, SDK 또는 REST API를 사용합니다.

**참고**  
콘솔에는 이전 14일 이내에 수행된 비동기 요청의 상태만 표시됩니다. AWS CLI, SDK 또는 REST API를 사용하여 기존의 요청 상태 확인 

 비동기 관리 작업은 다음 상태 중 하나일 수 있습니다.

NEW  
 Amazon S3가 요청을 받았으며 작업을 수행할 준비를 하고 있습니다.

IN\$1PROGRESS  
 Amazon S3가 현재 작업을 수행하고 있습니다.

SUCCESS  
 작업이 성공했습니다. 응답에는 `CreateMultiRegionAccessPoint` 요청에 대한 다중 리전 액세스 포인트 별칭과 같은 관련 정보가 포함됩니다.

FAILED  
 작업이 실패했습니다. 응답에는 요청 실패의 원인을 나타내는 오류 메시지가 포함됩니다.

## AWS CloudTrail 및 다중 리전 액세스 포인트 사용
<a name="MultiRegionAccessPointCloudTrail"></a>

AWS CloudTrail을 사용하여 AWS 인프라 전반에서 계정 활동을 확인, 검색, 다운로드, 보관 및 응답할 수 있습니다. 다중 리전 액세스 포인트 및 CloudTrail 로깅을 통해 다음을 식별할 수 있습니다.
+ 누가 또는 무엇이 어떤 조치를 취했는지
+ 어떤 리소스가 사용되었는지
+ 이벤트가 언제 발생했는지
+ 이벤트에 관한 기타 세부 정보

이 로깅 정보를 사용하여 다중 리전 액세스 포인트를 통해 발생한 활동을 분석하고 이에 대응할 수 있습니다.

### 다중 리전 액세스 포인트에 AWS CloudTrail을 설정하는 방법
<a name="MultiRegionAccessPointCTSetup"></a>

다중 리전 액세스 포인트 생성 또는 유지 관리와 관련된 모든 작업에 대해 CloudTrail 로깅을 활성화하려면 CloudTrail 로깅을 구성하여 미국 서부(오레곤) 리전의 이벤트를 기록해야 합니다. 요청을 할 때 사용자가 있는 리전 또는 다중 리전 액세스 포인트가 지원하는 리전과 관계없이 이 방법으로 로깅 구성을 설정해야 합니다. 다중 리전 액세스 포인트를 생성하거나 유지하기 위한 모든 요청은 미국 서부(오레곤) 리전을 통해 라우팅됩니다. 이 리전을 기존 추적에 추가하거나 이 리전 및 다중 리전 액세스 포인트와 연관된 모든 리전을 포함하는 새 추적을 만드는 것이 좋습니다.

Amazon S3는 다중 리전 액세스 포인트를 통해 수행된 모든 요청 및 액세스 포인트를 관리하는 API 작업에 대한 요청(예: `CreateMultiRegionAccessPoint` 및 `GetMultiRegionAccessPointPolicy`)을 로깅합니다. 다중 리전 액세스 포인트를 통해 이러한 요청을 기록하면 다중 리전 액세스 포인트의 호스트 이름으로 AWS CloudTrail 로그에 표시됩니다. 예를 들어 `mfzwi23gnjvgw.mrap` 별칭을 사용하여 다중 리전 액세스 포인트를 통해 버킷에 요청하는 경우 CloudTrail 로그 항목의 호스트 이름은 `mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com`입니다.

다중 리전 액세스 포인트는 가장 가까운 버킷에 요청을 라우팅합니다. 이 동작으로 인해 다중 리전 액세스 포인트에 대한 CloudTrail 로그를 보면 기본 버킷에 대해 요청이 이루어지는 것을 볼 수 있습니다. 이러한 요청 중 일부는 다중 리전 액세스 포인트를 통해 라우팅되지 않는 버킷에 대한 직접 요청일 수 있습니다. 트래픽을 검토할 때는 이 사실에 유의하시기 바랍니다. 버킷이 다중 리전 액세스 포인트에 있는 경우 다중 리전 액세스 포인트를 통하지 않고도 해당 버킷에 대한 요청을 직접 수행할 수 있습니다.

다중 리전 액세스 포인트 생성 및 관리와 관련된 비동기 이벤트가 있습니다. 비동기 요청의 경우 CloudTrail 로그에는 완료 이벤트가 없습니다. 비동기 요청에 대한 자세한 내용은 [다중 리전 액세스 포인트 관리 API 작업에 대한 요청 모니터링 및 로깅](#MonitoringMultiRegionAccessPointAPIs) 섹션을 참조하세요.

 AWS CloudTrail에 대한 자세한 내용은 *AWS CloudTrail 사용 설명서*의 [AWS CloudTrail이란 무엇인가요?](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)를 참조하세요.