S3 벡터용 VPC 엔드포인트 - Amazon Simple Storage Service

S3 벡터용 VPC 엔드포인트

가상 프라이빗 클라우드(VPC)에서 S3 벡터에 액세스하기 위해 Amazon S3는 AWS PrivateLink(PrivateLink)를 사용하여 인터페이스 VPC 엔드포인트를 지원합니다. PrivateLink는 인터넷 게이트웨이 또는 NAT 디바이스 없이 VPC와 S3 벡터 간에 프라이빗 연결을 제공합니다. 인터페이스 엔드포인트는 VPC의 서브넷에서 프라이빗 IP 주소가 할당된 하나 이상의 탄력적 네트워크 인터페이스(ENI)로 표시됩니다. 인터페이스 엔드포인트를 통해 S3 벡터로 보내는 요청은 AWS 네트워크에 유지됩니다.

또한 AWS Direct Connect 또는 AWS 가상 프라이빗 네트워크(AWS VPN)를 통해 온프레미스 애플리케이션에서 VPC의 인터페이스 엔드포인트에 액세스할 수 있습니다. VPC를 온프레미스 네트워크에 연결하는 방법에 대한 자세한 내용은 AWS Direct Connect 사용 설명서AWS Site-to-Site VPN 사용 설명서를 참조하세요. 인터페이스 엔드포인트에 대한 일반적인 내용은 AWS PrivateLink 사용 설명서인터페이스 VPC 엔드포인트를 사용하여 AWS 서비스에 액세스를 참조하세요.

S3 벡터와 함께 PrivateLink를 사용하면 다음과 같은 몇 가지 보안 및 운영 이점을 얻을 수 있습니다.

  • 보안 강화: VPC와 S3 벡터 간의 트래픽은 AWS 네트워크 내에 유지되며 인터넷을 통과하지 않습니다.

  • 간소화된 네트워크 아키텍처: 인터넷 게이트웨이, NAT 디바이스 또는 VPN 연결을 구성하지 않고 S3 벡터에 액세스합니다.

  • 세분화된 액세스 제어: VPC 엔드포인트 정책을 사용하여 엔드포인트를 통해 액세스할 수 있는 벡터 버킷 및 벡터 인덱스를 제어합니다.

  • 규정 준수 지원: 민감한 데이터에 대한 프라이빗 네트워크 연결을 요구하는 규제 요구 사항을 충족합니다.

VPC 엔드포인트를 생성할 때 S3 Vectors에서는 두 가지 유형의 엔드포인트별 DNS 이름, 즉 리전용과 영역용 DNS 이름을 생성합니다.

S3 Vectors에 대한 인터페이스 VPC 엔드포인트의 리전 및 영역 DNS 이름은 다음과 같습니다.

  • 리전 DNS 이름: vpce-1a2b3c4d-5e6f.s3vectors.region.vpce.amazonaws.com - 리전 VPC 엔드포인트 DNS 이름입니다. 항상 프라이빗 IP 주소로 확인합니다.

  • 영역 DNS 이름: vpce-1a2b3c4d-5e6f-availability_zone_code.s3vectors.region.vpce.amazonaws.com - 영역별 VPC 엔드포인트 DNS 이름입니다. 항상 프라이빗 IP 주소로 확인합니다.

VPC 엔드포인트에 대해 s3vectors.region.api.aws 프라이빗 DNS를 활성화한 경우 퍼블릭 엔드포인트의 DNS 이름을 엔드포인트 서비스의 프라이빗 DNS 이름으로 사용할 수도 있습니다.

S3 Vectors 리전, 영역 및 프라이빗 DNS 엔드포인트는 AWS PrivateLink에 대해 IPv4, IPv6 및 듀얼 스택 IP 유형을 지원합니다. 자세한 내용은 AWS PrivateLink 가이드IP 주소 유형AWS 서비스에 대한 DNS 레코드 IP 유형을 참조하세요.

다음은 VPC에서 IPv6을 통해 S3 Vectors 벡터 인덱스 및 벡터 버킷에 액세스하기 전에 알아야 할 몇 가지 사항입니다.

  • 벡터에 액세스하는 데 사용하는 클라이언트와 S3 Vectors 클라이언트 모두 듀얼 스택이 활성화되어 있어야 합니다.

  • VPC 보안 그룹에 IPv6가 설정되어 있지 않은 경우 IPv6 트래픽을 허용하도록 규칙을 구성해야 합니다. 자세한 내용은 VPC 사용 설명서3단계: 보안 그룹 규칙 업데이트Amazon EC2 사용 설명서보안 그룹 규칙 구성을 참조하세요.

  • VPC에 IPv6 CIDR이 할당되지 않은 경우 VPC에 IPv6 CIDR 블록을 수동으로 추가해야 합니다. 자세한 내용은 AWS PrivateLink 가이드VPC에 대한 IPv6 지원 추가 섹션을 참조하세요.

  • IP 주소 필터링 IAM 정책을 사용하는 경우 IPv6 주소를 처리하도록 업데이트해야 합니다. IAM으로 액세스 권한을 관리하는 방법에 대한 자세한 내용은 S3 Vectors의 Identity and Access Management 단원을 참조하세요.

VPC 콘솔, AWS CLI, AWS SDK 또는 AWS API를 사용하여 S3 Vectors를 위한 VPC 인터페이스 엔드포인트를 생성할 수 있습니다.

  1. https://console.aws.amazon.com/vpc/에서 VPC 콘솔을 엽니다.

  2. 탐색 창에서 엔드포인트를 선택합니다.

  3. 엔드포인트 생성을 선택합니다.

  4. 서비스 범주(Service category)에서 AWS 서비스를 선택합니다.

  5. 서비스에서 s3vectors를 검색하고 com.amazonaws.region.s3vectors를 선택합니다.

  6. VPC에서 엔드포인트를 만들 VPC를 선택합니다.

  7. (선택 사항) 추가 설정DNS 이름 활성화에서 프라이빗 DNS 기능을 활성화할지 여부를 선택합니다. 활성화되면 AWS SDK를 통한 요청과 같이 퍼블릭 서비스 엔드포인트(s3vectors.region.api.aws)를 사용하는 요청은 퍼블릭 엔드포인트 대신 VPC 엔드포인트로 확인됩니다.

  8. 서브넷에서 엔드포인트 네트워크 인터페이스를 생성하려는 서브넷을 선택합니다.

  9. IP 주소 유형에서 엔드포인트의 IP 주소 유형을 선택합니다.

    • IPv4: 엔드포인트 네트워크 인터페이스에 IPv4 주소를 할당합니다. 이 옵션은 선택한 모든 서브넷에 IPv4 주소 범위가 있는 경우에만 지원됩니다.

    • IPv6: 엔드포인트 네트워크 인터페이스에 IPv6 주소를 할당합니다. 이 옵션은 선택한 모든 서브넷이 IPv6 전용 서브넷인 경우에만 지원됩니다.

    • 듀얼 스택: 엔드포인트 네트워크 인터페이스에 IPv4 및 IPv6 주소를 모두 할당합니다. 이 옵션은 선택한 모든 서브넷에 IPv4 및 IPv6 주소 범위가 모두 있는 경우에만 지원됩니다.

  10. 보안 그룹에서 엔드포인트 네트워크 인터페이스에 연결할 보안 그룹을 선택합니다.

  11. (선택 사항) 정책의 경우 VPC 엔드포인트 정책을 연결하여 엔드포인트를 통해 S3 Vectors에 대한 액세스를 제어할 수 있습니다. 인터페이스 엔드포인트를 통해 모든 보안 주체가 모든 S3 Vectors 리소스에 대해 모든 작업을 수행할 수 있도록 허용하려면 전체 액세스를 선택합니다. 액세스를 제한하려면 사용자 지정을 선택하고 정책을 입력합니다. 자세한 정보는 AWS PrivateLink 가이드의 엔드포인트 정책을 사용하여 VPC 엔드포인트에 대한 액세스 제어를 참조하세요. 정책을 연결하지 않으면 기본 정책에서 전체 액세스를 허용합니다.

  12. 엔드포인트 생성을 선택합니다.

S3 Vectors용 IPv4 및 IPv6를 모두 반환하는 새 VPC 엔드포인트를 생성하려면 다음 예제 CLI 명령을 사용합니다. 자세한 내용은 vpc-endpoint 생성을 참조하세요.

aws ec2 create-vpc-endpoint \ --vpc-id vpc-12345678 \ --service-name com.amazonaws.region.s3vectors \ --vpc-endpoint-type Interface \ --subnet-ids subnet-12345678 subnet-87654321 \ --security-group-ids sg-12345678 \ --ip-address-type dualstack \ --private-dns-enabled

--private-dns-enabled 파라미터는 프라이빗 DNS 기능을 활성화합니다. 활성화하면 s3vectors.region.api.aws에 대한 요청이 VPC 엔드포인트를 통해 라우팅됩니다.

VPC 엔드포인트 생성에 대한 자세한 내용은 VPC 사용 설명서VPC 엔드포인트 생성을 참조하세요.

리소스 기반 정책과 마찬가지로 벡터 인덱스 및 벡터 버킷에 대한 액세스를 제어하는 엔드포인트 정책을 VPC 엔드포인트에 연결할 수 있습니다. VPC 엔드포인트 정책에 대한 자세한 내용은 AWS PrivateLink 안내서의 엔드포인트 정책을 사용하여 VPC 엔드포인트에 대한 액세스 제어를 참조하세요.

다음 예제 VPC 엔드포인트 정책은 모든 보안 주체의 모든 S3 Vectors 작업에 대한 액세스를 허용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "s3vectors:*" ], "Resource": "*" } ] }

다음 예제 VPC 엔드포인트 정책은 특정 벡터 버킷에 대한 액세스를 제한합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "s3vectors:GetVectorBucket", "s3vectors:ListIndexes", "s3vectors:GetIndex", "s3vectors:QueryVectors", "s3vectors:GetVectors" ], "Resource": [ "arn:aws:s3vectors:us-west-2:111122223333:bucket/amzn-s3-demo-vector-bucket", "arn:aws:s3vectors:us-west-2:111122223333:bucket/amzn-s3-demo-vector-bucket/*" ] } ] }

다음 예제 VPC 엔드포인트 정책은 aws:CurrentTime 조건 키를 사용하여 업무 시간 중에만 액세스를 허용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3vectors:*", "Resource": "*", "Condition": { "DateGreaterThan": { "aws:CurrentTime": "08:00Z" }, "DateLessThan": { "aws:CurrentTime": "18:00Z" } } } ] }

S3 Vectors와 함께 VPC 엔드포인트를 사용하는 경우 서비스 DNS 이름 또는 VPC 엔드포인트 DNS 이름을 사용하도록 S3 Vectors 클라이언트를 구성할 수 있습니다.

SDK for Python

다음 예제에서는 VPC 엔드포인트를 사용하도록 SDK for Python(Boto3)에서 S3 Vectors 클라이언트를 구성하는 방법을 보여줍니다.

import boto3 # Using service DNS name (requires private DNS feature enabled on VPC endpoint) s3vectors_client = boto3.client( 's3vectors', region_name='us-west-2', endpoint_url='https://s3vectors.us-west-2.api.aws' ) # Using VPC endpoint DNS name s3vectors_client = boto3.client( 's3vectors', region_name='us-west-2', endpoint_url='https://vpce-12345678.s3vectors.us-west-2.vpce.amazonaws.com' )

인터페이스 VPC 엔드포인트에 문제가 있는 경우 다음 문제 해결 단계를 고려하세요.

  • DNS 확인: 프라이빗 DNS를 사용할 때 엔드포인트에 대한 DNS 쿼리가 VPC CIDR 범위 내의 프라이빗 IP 주소로 확인되는지 확인합니다.

  • 보안 그룹: VPC 엔드포인트와 연결된 보안 그룹이 VPC 리소스의 인바운드 HTTPS 트래픽(포트 443)을 허용하는지 확인합니다.

  • 라우팅 테이블: 서브넷 라우팅 테이블에 VPC 엔드포인트에서 트래픽을 리디렉션할 수 있는 충돌하는 경로가 없는지 확인합니다.

  • VPC 엔드포인트 정책: VPC 엔드포인트 정책이 필요한 S3 Vectors 작업 및 리소스를 허용하는지 확인합니다.

  • 클라이언트 구성: 프라이빗 DNS 기능이 비활성화된 경우 서비스 DNS 이름 대신 VPC 엔드포인트 DNS 이름을 사용하도록 S3 Vectors 클라이언트를 구성합니다.

CloudTrail NetworkActivity 이벤트 로그를 통해 S3 Vectors VPC 엔드포인트 사용량을 모니터링할 수 있습니다.

S3 Vectors 로깅에 대한 자세한 내용은 S3 Vectors용 AWS CloudTrail을 사용하여 로깅 섹션을 참조하세요.