

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

다중 리전 액세스 포인트를 사용하여 AWS 리전 간에 Amazon S3 요청 트래픽을 라우팅할 수 있습니다. 각 다중 리전 액세스 포인트 글로벌 엔드포인트는 별도의 엔드포인트로 복잡한 네트워킹 구성을 구축할 필요 없이 여러 소스의 Amazon S3 데이터 요청 트래픽을 라우팅합니다. 이러한 데이터 요청 트래픽 소스에는 다음이 포함됩니다.
+ Virtual Private Cloud(VPC)에서 시작되는 트래픽
+ AWS PrivateLink를 통해 이동하는 온프레미스 데이터 센터에서 온 트래픽 
+ 퍼블릭 인터넷 트래픽

S3 다중 리전 액세스 포인트에 AWS PrivateLink 연결을 설정하면 간단한 네트워크 아키텍처 및 구성을 사용하여 프라이빗 연결을 통해 S3 요청을 AWS 또는 여러 AWS 리전에 라우팅할 수 있습니다. AWS PrivateLink를 사용하면 VPC 피어링 연결을 구성할 필요가 없습니다.

**Topics**
+ [다중 리전 액세스 포인트 구성](ConfiguringMrapOptInRegions.md)
+ [AWS PrivateLink와 함께 사용할 다중 리전 액세스 포인트 구성](MultiRegionAccessPointsPrivateLink.md)
+ [VPC 엔드포인트에서 다중 리전 액세스 포인트에 대한 액세스 제거](RemovingMultiRegionAccessPointAccess.md)

# 다중 리전 액세스 포인트 구성
<a name="ConfiguringMrapOptInRegions"></a>

AWS 옵트인 리전은 AWS 계정에서 기본적으로 활성화되지 않은 리전입니다. 반면 기본적으로 활성화된 리전은 AWS 리전 또는 상용 리전이라고 합니다.

AWS 옵트인 리전에서 다중 리전 Access Points 사용을 시작하려면 다중 리전 액세스 포인트를 만들기 전에 AWS 계정에 대해 옵트인 리전을 수동으로 활성화해야 합니다. 옵트인 리전을 활성화한 후 선택한 옵트인 리전의 버킷을 사용하여 다중 리전 Access Points를 만들 수 있습니다. 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) 또는 [Enable or disable a Region in your organization](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#manage-acct-regions-enable-organization)을 참조하세요.

**참고**  
다중 리전 액세스 포인트 옵트인 리전은 현재 AWS SDK 및 AWS CLI를 통해서만 지원됩니다.

 S3 다중 리전 Access Points는 다음 AWS 옵트인 리전을 지원합니다.
+ `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)`

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

## AWS 옵트인 리전에서 다중 리전 액세스 포인트 사용
<a name="UsingMrapOptInRegions"></a>

다중 리전 액세스 포인트에서 [데이터 플레인 작업](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MrapOperations.html)을 수행하려면 연결된 모든 AWS 계정이 다중 리전 액세스 포인트의 일부인 옵트인 리전을 활성화해야 합니다. 이 요구 사항은 요청자 계정, 다중 리전 액세스 포인트 소유자, S3 버킷 소유자 및 VPC 엔드포인트 소유자에 적용됩니다. 이러한 계정 중 하나라도 AWS 옵트인 리전을 활성화하지 않으면 다중 리전 액세스 포인트 요청이 실패합니다. `InvalidToken` 및 `AllAccessDisabled` 오류에 대한 자세한 내용은 [List of error codes](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)를 참조하세요.

**참고**  
다중 리전 액세스 포인트 정책 업데이트 또는 장애 조치 구성 업데이트와 같은 [컨트롤 플레인 작업](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MrapOperations.html)은 다중 리전 액세스 포인트의 일부인 리전의 옵트인 리전 상태에 영향을 받지 않습니다. 또한 다중 리전 액세스 포인트를 삭제하기 전에 활성 옵트인 리전을 비활성화할 필요가 없습니다.

## 활성 AWS 옵트인 리전 비활성화
<a name="DisablingMrapOptInRegions"></a>

다중 리전 액세스 포인트의 일부인 옵트인 리전을 비활성화하면 이 리전으로 라우팅된 요청에 `403 AllAccessDisabled` 오류가 발생합니다. 옵트인 리전을 안전하게 비활성화하려면 먼저 트래픽을 라우팅할 다중 리전 액세스 포인트 구성에서 대체 리전을 식별하는 것이 좋습니다. 그런 다음 다중 리전 액세스 포인트 장애 조치 제어를 사용하여 대체 리전을 활성으로 표시하고 비활성화할 리전을 수동으로 표시할 수 있습니다. 장애 조치 제어를 변경한 후 옵트아웃하려는 리전을 비활성화할 수 있습니다.

## 이전에 비활성화된 AWS 옵트인 리전 활성화
<a name="EnablingDisabledMrapOptInRegions"></a>

다중 리전 액세스 포인트에 대해 이전에 비활성화된 옵트인 AWS 리전을 활성화하려면 AWS 계정 설정을 업데이트해야 합니다. 옵트인 리전을 다시 활성화한 후 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPointPolicy.html) API 작업을 실행하여 다중 리전 Access Points 정책을 옵트인 리전에 적용합니다.

VPC 엔드포인트를 통해 다중 리전 액세스 포인트에 액세스하는 경우, VPCE 정책을 업데이트하고 [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) API 작업을 사용하여 업데이트된 VPC 엔드포인트 정책을 다시 활성화된 옵트인 리전에 적용하는 것이 좋습니다.

## 다중 리전 Access Points 정책 및 다중 AWS 계정
<a name="UsingMrapPolicyOptInRegions"></a>

다중 리전 Access Points 정책이 다중 AWS 계정에 대한 액세스 권한을 부여하는 경우, 모든 요청자 계정은 계정 설정에서 동일한 옵트인 리전도 활성화해야 합니다. 요청자 계정이 다중 리전 액세스 포인트의 일부인 옵트인 리전을 활성화하지 않고 다중 리전 액세스 포인트 요청을 제출하면 `400 InvalidToken` 오류가 발생합니다.

## AWS 옵트인 리전 고려 사항
<a name="MrapOptInRegionsConsiderations"></a>

옵트인 리전에서 다중 리전 액세스 포인트에 액세스하는 경우 다음 사항에 유의하세요.
+ 옵트인 리전을 활성화하면 옵트인 리전의 버킷을 사용하여 다중 리전 액세스 포인트를 만들 수 있습니다. 옵트인 리전을 비활성화하면 옵트인 리전에서 다중 리전 액세스 포인트가 더 이상 지원되지 않습니다. 다중 리전 액세스 포인트에 대해 더 이상 옵트인 리전을 활성화하지 않으려면 먼저 [계정의 리전을 비활성화](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#manage-acct-regions-enable-standalone)해야 합니다. 그런 다음 원하는 옵트인 리전 목록이 포함된 새 다중 리전 액세스 포인트를 만듭니다.
+ 비활성화된 옵트인 리전으로 다중 리전 액세스 포인트를 만들려고 하면 `403 InvalidRegion` 오류가 발생합니다. 옵트인 리전을 활성화한 후 다중 리전 액세스 포인트를 다시 만들어 보세요.
+ 다중 리전 액세스 포인트에 지원되는 최대 리전 수는 17개입니다. 여기에는 옵트인 리전과 상용 리전이 모두 포함됩니다. 자세한 내용은 [Multi-Region Access Points restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiRegionAccessPointRestrictions.html)를 참조하세요.
+ 다중 리전 Access Points에 대한 컨트롤 플레인 요청은 어떤 리전에도 옵트인하지 않았은 경우에도 작동합니다.
+ 다중 리전 액세스 포인트를 처음 만들려는 경우, 다중 리전 액세스 포인트의 일부인 모든 리전에 옵트인해야 합니다.
+ 다중 리전 액세스 포인트 정책을 통해 S3 다중 리전 액세스 포인트에 대한 액세스 권한이 부여된 모든 AWS 계정은 다중 리전 액세스 포인트의 일부인 동일한 옵트인 리전도 활성화해야 합니다.

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

 AWS PrivateLink는 Virtual Private Cloud(VPC)의 프라이빗 IP 주소를 사용하여 Amazon S3에 대한 프라이빗 연결을 제공합니다. VPC 내부에 하나 이상의 인터페이스 엔드포인트를 프로비저닝하여 Amazon S3 다중 리전 액세스 포인트에 연결할 수 있습니다.

 AWS Management Console, AWS CLI 또는 AWS SDK를 통해 다중 리전 액세스 포인트의 **com.amazonaws.s3-global.accesspoint** 엔드포인트를 생성할 수 있습니다. 다중 리전 액세스 포인트의 인터페이스 엔드포인트를 구성하는 방법에 대한 자세한 내용은 *VPC 사용 설명서*의 [인터페이스 VPC 엔드포인트](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html)를 참조하세요.

 인터페이스 엔드포인트를 통해 다중 리전 액세스 포인트에 요청하려면 다음 단계에 따라 VPC 와 다중 리전 액세스 포인트를 구성합니다.

**AWS PrivateLink와 함께 사용할 다중 리전 액세스 포인트 구성**

1. 다중 리전 액세스 포인트에 연결할 수 있는 적절한 VPC 엔드포인트를 생성하거나 보유합니다. VPC 엔드포인트 생성에 대한 자세한 내용은 *VPC 사용 설명서*의 [VPC 엔드포인트](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html)를 참조하세요.
**중요**  
 **com.amazonaws.s3-global.accesspoint** 엔드포인트를 생성해야 합니다. 다른 엔드포인트 유형은 다중 리전 액세스 포인트에 액세스할 수 없습니다.

   이 VPC 엔드포인트가 생성되면 엔드포인트에 프라이빗 DNS가 사용 설정된 경우 VPC의 모든 다중 리전 액세스 포인트 요청이 이 엔드포인트를 통해 라우팅됩니다. 이는 기본값으로 사용 설정되어 있습니다.

1. 다중 리전 액세스 포인트 정책이 VPC 엔드포인트의 연결을 지원하지 않는 경우 이를 업데이트해야 합니다.

1. 개별 버킷 정책이 다중 리전 액세스 포인트의 사용자에 대한 액세스를 허용하는지 확인합니다.

다중 지역 액세스 포인트는 요청 자체를 이행하는 것이 아니라 요청을 버킷으로 라우팅하여 작동한다는 점을 기억하세요. 요청 발신자는 다중 리전 액세스 포인트에 대한 권한을 가지고 있어야 하며 다중 리전 액세스 포인트의 개별 버킷에 액세스할 수 있어야 합니다. 그렇지 않은 경우, 요청 발신자에게 요청을 이행할 권한이 없는 버킷으로 요청이 라우팅될 수 있습니다. 다중 리전 액세스 포인트 및 다중 리전 액세스 포인트에 연결된 버킷은 같거나 다른 AWS에서 소유할 수 있습니다. 그러나 권한이 올바르게 구성된 경우 서로 다른 계정의 VPC는 다중 리전 액세스 포인트를 사용할 수 있습니다.

따라서 VPC 엔드포인트 정책은 다중 리전 액세스 포인트 및 요청을 이행할 수 있는 각 기본 버킷에 대한 액세스를 모두 허용해야 합니다. 예를 들어 별칭이 `mfzwi23gnjvgw.mrap`인 다중 리전 액세스 포인트가 있다고 가정해 보겠습니다. 이는 버킷 `amzn-s3-demo-bucket1` 및 `amzn-s3-demo-bucket2`에서 지원하며 모두 AWS 계정 `123456789012`에서 소유합니다. 이 경우 다음 VPC 엔드포인트트 정책은 `mfzwi23gnjvgw.mrap`에 대한 VPC의 `GetObject` 요청을 어느 것이든 하나의 백업 버킷에서 이행하도록 허용합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Sid": "Read-buckets-and-MRAP-VPCE-policy",
        "Principal": "*",
        "Action": [
            "s3:GetObject"
        ],
        "Effect": "Allow",
        "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket1/*",
            "arn:aws:s3:::amzn-s3-demo-bucket2/*",
            "arn:aws:s3::111122223333:accesspoint/mfzwi23gnjvgw.mrap/object/*"
        ]
    }]
}
```

------

앞서 언급했듯이 다중 리전 액세스 포인트 정책이 VPC 엔드포인트를 통한 액세스를 지원하도록 구성되어 있는지 확인해야 합니다. 액세스를 요청하는 VPC 엔드포인트는 지정할 필요가 없습니다. 다음 샘플 정책은 `GetObject` 요청에 다중 리전 액세스 포인트를 사용하려는 모든 요청자에게 액세스 권한을 부여합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Sid": "Open-read-MRAP-policy",
        "Effect": "Allow",
        "Principal": "*",
        "Action": [
            "s3:GetObject"
          ],
        "Resource": "arn:aws:s3::111122223333:accesspoint/mfzwi23gnjvgw.mrap/object/*"
    }]
}
```

------

물론 개별 버킷에는 각각 VPC 엔드포인트를 통해 제출된 요청의 액세스를 지원하는 정책이 필요합니다. 다음 예제 정책은 모든 익명 사용자에게 읽기 액세스 권한을 부여하며, 여기에는 VPC 엔드포인트를 통한 요청이 포함됩니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
   "Statement": [
   {
       "Sid": "Public-read",
       "Effect": "Allow",
       "Principal": "*",
       "Action": "s3:GetObject",
       "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket1",
           "arn:aws:s3:::amzn-s3-demo-bucket2/*"]
    }]
}
```

------

 VPC 엔드포인트트 정책 편집에 대한 자세한 내용은 VPC 사용 설명서**의 [Control access to services with VPC endpoints(VPC 엔드포인트를 통해 서비스에 대한 액세스 제어)](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)를 참조하세요.

# VPC 엔드포인트에서 다중 리전 액세스 포인트에 대한 액세스 제거
<a name="RemovingMultiRegionAccessPointAccess"></a>

다중 리전 액세스 포인트를 소유하고 있고 인터페이스 엔드포인트에서 액세스 권한을 제거하려면 VPC 엔드포인트를 통해 들어오는 요청에 대한 액세스를 차단하는 다중 리전 액세스 포인트에 새 액세스 정책을 제공해야 합니다. 그러나 다중 리전 액세스 포인트의 버킷이 VPC 엔드포인트를 통한 요청을 지원할 경우 이러한 요청을 계속 지원합니다. 이러한 지원을 방지하려면 버킷에 대한 정책도 업데이트해야 합니다. 다중 리전 액세스 포인트에 새 액세스 정책을 제공하면 기본 버킷이 아닌 다중 리전 액세스 포인트에 대한 액세스만 차단됩니다.

**참고**  
다중 리전 액세스 포인트에 대한 액세스 정책은 삭제할 수 없습니다. 다중 리전 액세스 포인트에 대한 액세스를 제거하려면 원하는 수정된 액세스를 포함하는 새 액세스 정책을 제공해야 합니다.

다중 리전 액세스 포인트의 액세스 정책을 업데이트하는 대신 버킷 정책을 업데이트하여 VPC 엔드포인트를 통한 요청을 방지할 수 있습니다. 이 경우에도 사용자는 여전히 VPC 엔드포인트를 통해 다중 리전 액세스 포인트에 액세스할 수 있습니다. 그러나 버킷 정책에서 액세스를 차단하는 버킷으로 다중 리전 액세스 포인트 요청이 라우팅되면 오류 메시지가 생성됩니다.