Amazon S3 on Outposts 액세스 - Amazon Simple Storage Service

Amazon S3 on Outposts 액세스

S3 on Outposts를 사용하여 로컬 데이터 액세스, 데이터 처리, 데이터 레지던시를 필요로 하는 애플리케이션을 위해 온프레미스에서 객체를 저장하고 검색할 수 있습니다. 이 단원에서는 S3 on Outposts에서 버킷 관리 API 작업을 사용하는 방법과 S3 on Outposts에 대한 액세스 요구 사항에 대해 설명합니다.

ARN을 사용하여 S3 on Outposts 리소스 액세스

Amazon S3는 글로벌 버킷을 지원합니다. 즉, 각 버킷 이름은 파티션 내 모든 AWS 리전의 AWS 계정에서 고유해야 합니다. 파티션은 리전 그룹입니다. AWS에는 aws(표준 리전), aws-cn(중국 리전) 및 aws-us-gov(AWS GovCloud (US) 리전), 이렇게 세 가지 파티션이 있습니다. Amazon S3에서는 버킷의 이름만 사용하여 버킷에 액세스할 수 있습니다. 그러나 S3 on Outposts에서 버킷 이름은 Outpost에 고유하며 식별을 위해 버킷 이름과 함께 Outpost-id가 필요합니다.

액세스 포인트는 Amazon S3의 공유 데이터 세트에 대한 대규모 데이터 액세스 관리를 간소화합니다. 액세스 포인트는 GetObjectPutObject 같은 Amazon S3 객체 작업을 수행하는 데 사용할 수 있는 버킷에 연결된 네트워크 엔드포인트입니다. S3 on Outposts를 사용하면 버킷 엔드포인트와 객체 API 엔드포인트가 다릅니다. 따라서 직접 액세스할 수 있는 Amazon S3의 버킷과 달리, 액세스 포인트를 사용하여 Outposts 버킷의 객체에 액세스해야 합니다. 액세스 포인트는 가상 호스트 스타일의 주소 지정만 지원합니다.

다음의 예시는 S3 on Outposts 버킷에 대한 Amazon 리소스 이름(ARN) 형식을 보여줍니다.

arn:aws:s3-outposts:region:account-id:outpost/outpost-id/bucket/bucket-name

다음의 예시는 S3 on Outposts 액세스 포인트에 대한 ARN 형식을 보여줍니다.

arn:aws:s3-outposts:region:account-id:outpost/outpost-id/accesspoint/accesspoint-name

기존 버킷 관리 API 작업은 리전 이외의 위치 개념을 지원하지 않습니다. 따라서 이러한 API 작업을 사용하여 계정, Outpost, 리전으로 범위가 지정된 버킷을 생성하고 관리할 수 없습니다. Outposts 버킷 API 작업을 관리하기 위해 S3 on Outposts는 Amazon S3 엔드포인트와 별도의 엔드포인트를 호스팅합니다. 이 엔드포인트는 s3-outposts.region.amazonaws.com입니다.

요청을 S3 on Outposts 액세스 포인트로 라우팅하려면 S3 on Outposts 엔드포인트를 생성하고 구성해야 합니다. AWS Outposts에 있는 각 Virtual Private Cloud(VPC)에는 연결된 엔드포인트가 하나씩 있을 수 있으며, Outpost당 엔드포인트를 최대 100개 보유할 수 있습니다. Outposts 버킷에 액세스하고 객체 작업을 수행하려면 이러한 엔드포인트를 생성해야 합니다. 이런 엔드포인트를 생성할 때 S3와 S3 on Outposts에서 동일한 작업이 작동하여 API 모델 및 동작을 동일하게 유지할 수 있습니다. 동일한 API 작업을 사용하려면 버킷 및 객체에 서명할 때 올바른 ARN 형식을 사용해야 합니다.

요청이 Amazon S3(s3-control.region.amazonaws.com)에 대한 것인지 S3 on Outposts(s3-outposts.region.amazonaws.com)에 대한 것인지를 Amazon S3가 결정할 수 있도록 API에 대한 ARN을 전달해야 합니다. ARN 형식에 따라, S3가 요청에 적절하게 서명하고 요청을 라우팅할 수 있습니다.

요청이 Amazon S3 제어 플레인으로 전송될 때마다 SDK는 ARN에서 구성 요소를 추출하고 ARN에서 추출한 outpost-id 값을 가진 추가 헤더 x-amz-outpost-id를 포함합니다. ARN의 서비스 이름은 S3 on Outposts 엔드포인트로 라우팅되기 전에 요청에 서명하는 데 사용됩니다. 이 동작은 s3control 클라이언트에 의해 처리된 전체 API 작업에 적용됩니다.

S3 on Outposts에 대한 API 작업

다음 표에는 Amazon S3 on Outposts에 대한 확장 API 작업과 Amazon S3에 대한 변경 사항이 나와 있습니다.

API Amazon S3 파라미터 값 S3 on Outposts 파라미터 값

CreateBucket

Bucket name

버킷 이름을 ARN, Outposts ID로

ListRegionalBuckets(새 API)

NA

Outpost ID

DeleteBucket

Bucket name

버킷 이름을 ARN으로

DeleteBucketLifecycleConfiguration

Bucket name

버킷 이름을 ARN으로

GetBucketLifecycleConfiguration

Bucket name

버킷 이름을 ARN으로

PutBucketLifecycleConfiguration

Bucket name

버킷 이름을 ARN으로

GetBucketPolicy

Bucket name

버킷 이름을 ARN으로

PutBucketPolicy

Bucket name

버킷 이름을 ARN으로

DeleteBucketPolicy

Bucket name

버킷 이름을 ARN으로

GetBucketTagging

Bucket name

버킷 이름을 ARN으로

PutBucketTagging

Bucket name

버킷 이름을 ARN으로

DeleteBucketTagging

Bucket name

버킷 이름을 ARN으로

CreateAccessPoint

액세스 포인트 이름

액세스 포인트 이름을 ARN으로

DeleteAccessPoint

액세스 포인트 이름

액세스 포인트 이름을 ARN으로

GetAccessPoint

액세스 포인트 이름

액세스 포인트 이름을 ARN으로

GetAccessPoint

액세스 포인트 이름

액세스 포인트 이름을 ARN으로

ListAccessPoints

액세스 포인트 이름

액세스 포인트 이름을 ARN으로

PutAccessPointPolicy

액세스 포인트 이름

액세스 포인트 이름을 ARN으로

GetAccessPointPolicy

액세스 포인트 이름

액세스 포인트 이름을 ARN으로

DeleteAccessPointPolicy

액세스 포인트 이름

액세스 포인트 이름을 ARN으로

VPC 전용 액세스 포인트를 사용하여 Amazon S3 on Outposts 액세스

Amazon S3 on Outposts는 Outposts 버킷에 액세스할 수 있는 유일한 수단으로 Virtual Private Cloud(VPC) 전용 액세스 포인트를 지원합니다. S3 on Outposts 엔드포인트를 사용하면 VPC를 Outposts 버킷에 비공개로 연결할 수 있습니다. S3 on Outposts 엔드포인트는 S3 on Outposts 버킷에 대한 진입점의 가상 통합 자원 식별자(URI)입니다. 수평으로 확장된 고가용성 중복 VPC 구성 요소입니다.

VPC의 인스턴스는 Outposts의 리소스와 통신하는 데 퍼블릭 IP 주소를 필요로 하지 않습니다. 이렇게 하면 AWS 네트워크 내에서 VPC와 S3 on Outposts 버킷 간의 트래픽이 유지됩니다.

중요

S3 on Outposts 버킷과 객체에 액세스하려면 다음 항목이 있어야 합니다.

  • VPC에 대한 액세스 포인트

  • 동일 VPC에 대한 엔드포인트

  • Outpost와 AWS 리전 사이의 활성 연결 Outposts를 리전에 연결하는 방법에 대한 자세한 내용은 AWS Outpost 사용 설명서AWS 리전에 Outpost 연결을 참조하세요.

VPC 내부 또는 온프레미스 네트워크에서 S3 on Outposts에 액세스할 수 있습니다. S3 on Outposts 엔드포인트에 대한 액세스 유형은 두 가지가 있습니다.

  • 프라이빗 - 이 액세스 유형을 사용하여 VPC 내부에서 S3 on Outposts로 작업할 수 있습니다. 온프레미스 네트워크에서는 이 유형의 엔드포인트로 액세스할 수 없습니다.

  • 고객 소유 IP 주소 풀(CoIP 풀) - 이 액세스 유형을 사용하여 온프레미스 네트워크에서 및 VPC 내에서 S3 on Outposts로 작업할 수 있습니다. VPC 내에서 S3 on Outposts에 액세스할 때 트래픽이 로컬 게이트웨이의 대역폭으로 제한됩니다.

엔드포인트를 생성할 때 엔드포인트 액세스 유형을 Private(VPC 라우팅의 경우) 또는 CustomerOwnedIp(CoIP 풀의 경우) 중에서 지정해야 합니다. 액세스 유형을 지정하지 않으면 S3 on Outposts는 기본값으로 Private을 사용합니다.

교차 계정 탄력적 네트워크 인터페이스를 사용하여 S3 on Outposts에 대한 연결 관리

S3 on Outposts 엔드포인트는 적절한 Amazon 리소스 이름(ARN)을 가진 명명된 리소스입니다. 이러한 엔드포인트가 생성되면 AWS Outposts는 다수의 교차 계정 탄력적 네트워크 인터페이스를 설정합니다. S3 on Outposts 교차 계정 탄력적 네트워크 인터페이스는 다른 네트워크 인터페이스와 비슷하지만, S3 on Outposts가 교차 계정 탄력적 네트워크 인터페이스를 인스턴스에 연결한다는 한 가지 예외가 있습니다.

S3 on Outposts 도메인 이름 시스템(DNS)은 교차 계정 탄력적 네트워크 인터페이스를 통해 요청을 로드 밸런싱합니다. S3 on Outposts는 Amazon EC2 콘솔의 네트워크 인터페이스 창에서 볼 수 있는 AWS 계정에서 교차 계정 탄력적 네트워크 인터페이스를 생성합니다.

CoIP 풀 액세스 유형을 사용하는 엔드포인트의 경우, S3 on Outposts는 구성된 CoIP 풀의 교차 계정 탄력적 네트워크 인터페이스를 사용하여 IP 주소를 할당하고 연결합니다.

S3 on Outposts 엔드포인트에 필요한 권한

고객 소유 IP 주소 풀(CoIP 풀) 액세스 유형을 사용하는 엔드포인트의 경우, CoIP 풀에서 IP 주소를 할당하고 연결할 수 있는 권한도 있어야 합니다.

S3 on Outposts는 S3 on Outposts 엔드포인트 작업을 관리하기 위해 AWS Identity and Access Management(IAM)의 새로운 권한이 필요합니다.

S3 on Outposts 엔드포인트 관련 IAM 권한
작업 IAM 권한
CreateEndpoint

s3-outposts:CreateEndpoint

ec2:CreateNetworkInterface

ec2:DescribeNetworkInterfaces

ec2:DescribeVpcs

ec2:DescribeSecurityGroups

ec2:DescribeSubnets

ec2:CreateTags

온프레미스 고객 소유 IP 주소 풀(CoIP 풀) 액세스 유형을 사용하는 엔드포인트의 경우 다음과 같은 추가 권한이 필요합니다.

s3-outposts:CreateEndpoint

ec2:DescribeCoipPools

ec2:GetCoipPoolUsage

ec2:AllocateAddress

ec2:AssociateAddress

ec2:DescribeAddresses

ec2:DescribeLocalGatewayRouteTableVpcAssociations

DeleteEndpoint

s3-outposts:DeleteEndpoint

ec2:DeleteNetworkInterface

ec2:DescribeNetworkInterfaces

온프레미스 고객 소유 IP 주소 풀(CoIP 풀) 액세스 유형을 사용하는 엔드포인트의 경우 다음과 같은 추가 권한이 필요합니다.

s3-outposts:DeleteEndpoint

ec2:DisassociateAddress

ec2:DescribeAddresses

ec2:ReleaseAddress

ListEndpoints

s3-outposts:ListEndpoints

참고

IAM 정책에서 리소스 태그를 사용하여 권한을 관리할 수 있습니다.

Amazon S3 on Outposts를 사용한 암호화 옵션

기본적으로, S3 on Outposts에 저장된 모든 데이터는 Amazon S3 관리형 암호화 키(SSE-S3)가 있는 서버 측 암호화를 사용하여 암호화됩니다. 원하면 객체 API 요청의 일부로 암호화 키를 지정하여 고객 제공 암호화 키(SSE-C)와 함께 서버 측 암호화를 사용할 수도 있습니다. 서버 측 암호화는 객체 메타데이터가 아닌 객체 데이터만 암호화합니다.