복제 규칙 생성을 위한 사전 조건
소스 및 대상 Outpost 서브넷 연결
복제 트래픽이 로컬 게이트웨이를 통해 소스 Outpost에서 대상 Outpost로 이동하도록 하려면 새 라우팅을 추가하여 네트워킹을 설정해야 합니다. 액세스 포인트의 Classless Inter-Domain Routing(CIDR) 네트워킹 범위를 함께 연결해야 합니다. 각 액세스 포인트 쌍에 대해 이 연결을 한 번만 설정하면 됩니다.
연결 설정을 위한 일부 단계는 액세스 포인트와 연결된 Outposts 엔드포인트의 액세스 유형에 따라 달라집니다. 엔드포인트의 액세스 유형은 프라이빗(AWS Outposts용 직접 Virtual Private Cloud(VPC) 라우팅) 또는 고객 소유 IP(온프레미스 네트워크 내의 고객 소유 IP 주소 풀(CoIP 풀))입니다.
1단계: 소스 Outposts 엔드포인트의 CIDR 범위 찾기
소스 액세스 포인트와 연결된 소스 엔드포인트의 CIDR 범위를 찾는 방법
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/
에서 Amazon S3 콘솔을 엽니다. -
왼쪽 탐색 창에서 Outposts 버킷을 선택합니다.
-
Outposts 버킷 목록에서 복제할 소스 버킷을 선택합니다.
-
Outposts 액세스 포인트 탭을 선택하고 복제 규칙의 소스 버킷에 사용할 Outposts 액세스 포인트를 선택합니다.
-
Outposts 엔드포인트를 선택합니다.
-
5단계에서 사용할 서브넷 ID를 복사합니다.
-
소스 Outposts 엔드포인트의 CIDR 범위를 찾는 데 사용하는 방법은 엔드포인트의 액세스 유형에 따라 달라집니다.
Outposts 엔드포인트 개요 섹션에서 액세스 유형을 참조하세요.
-
액세스 유형이 프라이빗인 경우 6단계에서 사용할 Classless Inter-Domain Routing(CIDR) 값을 복사합니다.
-
액세스 유형이 고객 소유 IP인 경우 다음을 수행합니다.
-
고객 소유 IPv4 풀 값을 복사하여 나중에 주소 풀의 ID로 사용합니다.
https://console.aws.amazon.com/outposts/
에서 AWS Outposts 콘솔을 엽니다. -
탐색 창에서 로컬 게이트웨이 라우팅 테이블을 선택합니다.
-
소스 Outpost의 로컬 게이트웨이 라우팅 테이블 ID 값을 선택합니다.
-
세부 정보 창에서 CoIP 풀 탭을 선택합니다. 이전에 복사한 CoIP 풀 ID의 값을 검색 상자에 붙여 넣습니다.
-
일치하는 CoIP 풀의 경우 소스 Outposts 엔드포인트의 해당 CIDR 값을 복사하여 6단계에서 사용합니다.
-
-
2단계: 대상 Outposts 엔드포인트의 서브넷 ID 및 CIDR 범위 찾기
대상 액세스 포인트와 연결된 대상 엔드포인트의 서브넷 ID 및 CIDR 범위를 찾으려면 1단계의 하위 단계와 동일한 단계를 따르고 해당 하위 단계를 적용할 때 소스 Outposts 엔드포인트를 대상 Outposts 엔드포인트로 변경합니다. 6단계에서 사용할 대상 Outposts 엔드포인트의 서브넷 ID 값을 복사합니다. 5단계에서 사용할 대상 Outposts 엔드포인트의 CIDR 값을 복사합니다.
3단계: 소스 Outpost의 로컬 게이트웨이 ID 찾기
소스 Outpost의 로컬 게이트웨이 ID를 찾는 방법
https://console.aws.amazon.com/outposts/
에서 AWS Outposts 콘솔을 엽니다. -
왼쪽 탐색 창에서 로컬 게이트웨이를 선택합니다.
-
로컬 게이트웨이 페이지에서 복제에 사용할 소스 Outpost의 Outpost ID를 찾습니다.
-
5단계에서 사용할 소스 Outpost의 로컬 게이트웨이 ID 값을 복사합니다.
로컬 게이트웨이에 대한 자세한 내용은 AWS Outposts 사용 설명서의 로컬 게이트웨이를 참조하세요.
3단계: 대상 Outpost의 로컬 게이트웨이 ID 찾기
대상 Outpost의 로컬 게이트웨이 ID를 찾으려면 3단계의 하위 단계와 동일한 단계를 수행하되, 소스가 아닌 대상 Outpost의 Outpost ID를 찾습니다. 6단계에서 사용할 대상 Outpost의 로컬 게이트웨이 ID 값을 복사합니다.
5단계: 소스 Outpost 서브넷에서 대상 Outpost 서브넷으로의 연결 설정
소스 Outpost 서브넷에서 대상 Outpost 서브넷으로 연결하는 방법
AWS Management Console에 로그인하고 https://console.aws.amazon.com/vpc/
에서 Amazon VPC 콘솔을 엽니다. -
왼쪽 탐색 창에서 서브넷을 선택합니다.
-
검색 상자에 1단계에서 찾은 소스 Outposts 엔드포인트의 서브넷 ID를 입력합니다. 일치하는 서브넷 ID가 있는 서브넷을 선택합니다.
-
일치하는 서브넷 항목에 대해 이 서브넷의 라우팅 테이블 값을 선택합니다.
-
선택한 라우팅 테이블이 있는 페이지에서 작업을 선택한 다음 라우팅 편집을 선택합니다.
-
라우팅 편집 페이지에서 라우팅 추가를 선택합니다.
-
대상(Destination)에서 2단계에서 찾은 대상 Outposts 엔드포인트의 CIDR 범위를 입력합니다.
-
대상(Target)에서 Outpost 로컬 게이트웨이를 선택하고 3단계에서 찾은 소스 Outpost의 로컬 게이트웨이 ID를 입력합니다.
-
Save changes(변경 사항 저장)를 선택합니다.
-
라우팅의 상태가 활성이어야 합니다.
6단계: 대상 Outpost 서브넷에서 소스 Outpost 서브넷으로의 연결 설정
AWS Management Console에 로그인하고 https://console.aws.amazon.com/vpc/
에서 Amazon VPC 콘솔을 엽니다. -
왼쪽 탐색 창에서 서브넷을 선택합니다.
-
검색 상자에 2단계에서 찾은 대상 Outposts 엔드포인트의 서브넷 ID를 입력합니다. 일치하는 서브넷 ID가 있는 서브넷을 선택합니다.
-
일치하는 서브넷 항목에 대해 이 서브넷의 라우팅 테이블 값을 선택합니다.
-
선택한 라우팅 테이블이 있는 페이지에서 작업을 선택한 다음 라우팅 편집을 선택합니다.
-
라우팅 편집 페이지에서 라우팅 추가를 선택합니다.
-
대상(Destination)에서 1단계에서 찾은 소스 Outposts 엔드포인트의 CIDR 범위를 입력합니다.
-
대상(Target)에서 Outpost 로컬 게이트웨이를 선택하고 4단계에서 찾은 대상 Outpost의 로컬 게이트웨이 ID를 입력합니다.
-
Save changes(변경 사항 저장)를 선택합니다.
-
라우팅의 상태가 활성이어야 합니다.
소스 및 대상 액세스 포인트의 CIDR 네트워킹 범위를 연결한 후에는 AWS Identity and Access Management(IAM) 역할을 생성해야 합니다.
IAM 역할 생성
기본적으로 S3 on Outposts 리소스인 버킷, 객체 및 관련 하위 리소스는 모두 비공개이며 리소스 소유자만 리소스에 액세스할 수 있습니다. S3 on Outposts는 소스 Outposts 버킷에서 객체를 읽고 복제할 수 있는 권한이 필요합니다. IAM 서비스 역할을 생성하고 복제 구성에서 이 역할을 지정하여 이러한 권한을 부여합니다.
이 섹션에서는 신뢰 정책과 필요한 최소한의 권한 정책을 설명합니다. 연습 예제가 IAM 역할을 생성하는 단계별 지침을 제공합니다. 자세한 내용은 Outposts에서 복제 규칙 생성 단원을 참조하십시오. IAM 역할에 대한 자세한 내용은 IAM 사용 설명서의 IAM 역할 단원을 참조하세요.
-
다음 예시는 역할을 맡을 수 있는 서비스 보안 주체로서 S3 on Outposts를 식별하는 신뢰 정책을 보여줍니다.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3-outposts.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
-
다음 예제는 역할에 사용자 대신 복제 작업을 수행할 권한을 부여하는 액세스 정책을 보여줍니다. S3 on Outposts가 이 역할을 맡으면 이 정책에 지정된 권한을 보유하게 됩니다. 이 정책을 사용하려면
를 실제 정보로 대체합니다. 소스 및 대상 Outpost 버킷의 Outpost ID와 소스 및 대상 Outposts 버킷의 버킷 이름 및 액세스 포인트 이름으로 교체해야 합니다.user input placeholders
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3-outposts:GetObjectVersionForReplication", "s3-outposts:GetObjectVersionTagging" ], "Resource":[ "arn:aws:s3-outposts:
region
:123456789012
:outpost/SOURCE-OUTPOST-ID
/bucket/SOURCE-OUTPOSTS-BUCKET
/object/*", "arn:aws:s3-outposts:region
: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:region
:123456789012
:outpost/DESTINATION-OUTPOST-ID
/bucket/DESTINATION-OUTPOSTS-BUCKET
/object/*", "arn:aws:s3-outposts:region
:123456789012
:outpost/DESTINATION-OUTPOST-ID
/accesspoint/DESTINATION-OUTPOSTS-BUCKET-ACCESS-POINT
/object/*" ] } ] }액세스 정책은 다음 작업을 수행할 권한을 부여합니다.
-
s3-outposts:GetObjectVersionForReplication
- 모든 객체에 이 작업에 대한 권한이 부여되어 S3 on Outposts가 각 객체와 연결된 특정 객체 버전을 가져올 수 있습니다. -
s3-outposts:GetObjectVersionTagging
-
버킷(소스 버킷)의 객체에 이 작업 권한이 있으면 S3 on Outposts가 복제를 위해 객체 태그를 읽을 수 있습니다. 자세한 내용은 S3 on Outposts 버킷에 대한 태그 추가 단원을 참조하십시오. 이러한 권한이 없을 경우 S3 on Outposts는 객체를 복제하지만 객체 태그는 복제하지 않습니다.SOURCE-OUTPOSTS-BUCKET
-
s3-outposts:ReplicateObject
및s3-outposts:ReplicateDelete
-
버킷(대상 버킷)의 모든 객체에 이 작업 권한이 있으면 S3 on Outposts가 대상 버킷에 객체 또는 삭제 마커를 복제할 수 있습니다. 삭제 마커에 대한 자세한 내용은 삭제 작업이 복제에 미치는 영향을 참조하십시오.DESTINATION-OUTPOSTS-BUCKET
참고
버킷(대상 버킷)에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에서 정의한 작업을 참조하세요.
중요
IAM 역할을 소유한 AWS 계정은 해당 IAM 역할에 부여된 작업을 수행할 권한이 있어야 합니다.
예를 들어, 소스 Outposts 버킷에 다른 AWS 계정이 소유한 객체가 포함되어 있다고 가정하겠습니다. 객체 소유자는 버킷 정책 및 액세스 포인트 정책을 통해 IAM 역할을 소유한 AWS 계정에 필요한 권한을 명시적으로 부여해야 합니다. 그러지 않으면 S3 on Outposts는 객체에 액세스할 수 없으므로 객체의 복제가 실패합니다.
여기에서 설명하는 권한은 최소 복제 구성과 관련됩니다. 선택적 복제 구성을 추가하려면 S3 on Outposts에 추가 권한을 부여해야 합니다.
-
소스 및 대상 Outposts 버킷을 서로 다른 AWS 계정에서 소유할 경우 권한 부여
소스 및 대상 Outposts 버킷을 동일한 계정에서 소유하지 않는 경우, 대상 Outposts 버킷의 소유자가 대상 버킷에 대한 버킷과 액세스 포인트 정책을 업데이트해야 합니다. 이러한 정책은 다음 정책 예시와 같이 소스 Outposts 버킷의 소유자와 IAM 서비스 역할에 복제 작업을 수행할 수 있는 권한을 부여해야 합니다. 그러지 않으면 복제가 실패합니다. 이 정책에서는
가 대상 버킷입니다. 이러한 정책 예시를 사용하려면 DESTINATION-OUTPOSTS-BUCKET
를 실제 정보로 대체하세요.user input placeholders
IAM 서비스 역할을 수동으로 생성하는 경우 다음 정책 예시에 나온 것처럼 역할 경로를 role/service-role/
로 설정합니다. 자세한 내용을 알아보려면 IAM 사용 설명서의 IAM ARN을 참조하세요.
{ "Version":"2012-10-17", "Id":"PolicyForDestinationBucket", "Statement":[ { "Sid":"Permissions on objects", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::
SourceBucket-account-ID
:role/service-role/source-account-IAM-role
" }, "Action":[ "s3-outposts:ReplicateDelete", "s3-outposts:ReplicateObject" ], "Resource":[ "arn:aws:s3-outposts:region
:DestinationBucket-account-ID
:outpost/DESTINATION-OUTPOST-ID
/bucket/DESTINATION-OUTPOSTS-BUCKET
/object/*" ] } ] }
{ "Version":"2012-10-17", "Id":"PolicyForDestinationAccessPoint", "Statement":[ { "Sid":"Permissions on objects", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::
SourceBucket-account-ID
:role/service-role/source-account-IAM-role
" }, "Action":[ "s3-outposts:ReplicateDelete", "s3-outposts:ReplicateObject" ], "Resource" :[ "arn:aws:s3-outposts:region
:DestinationBucket-account-ID
: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 역할 생성 단원을 참조하십시오.