View a markdown version of this page

데이터 소스에 대한 VPC 연결 구성 - Amazon Bedrock

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

데이터 소스에 대한 VPC 연결 구성

일부 데이터 소스는 VPC의 내부 로드 밸런서가 있는 온프레미스 Confluence Data Center 인스턴스와 같이 퍼블릭 인터넷을 통해 연결할 수 없는 프라이빗 리소스에서 실행됩니다. 이러한 데이터 소스를 크롤링하려면 VPC 구성을 생성합니다. Amazon Bedrock은 구성을 사용하여 프라이빗 네트워크 경로를 VPC에 프로비저닝하고 리소스에 도달합니다.

VPC 구성은 지식 기반에서 재사용 가능한 리소스입니다. 한 번 생성한 다음 하나 이상의 데이터 소스에서 ID로 참조합니다. 프라이빗 연결이 필요한 데이터 소스를 생성할 때 기존 VPC 구성을 선택하거나 새 VPC 구성을 생성합니다.

참고

Amazon Bedrock은 VPC 구성을 프로비저닝할 때 지식 기반과 연결된 AWS Identity and Access Management (IAM) 역할을 수임하여 계정에 작은 네트워킹 리소스 세트를 생성합니다. Amazon Bedrock이 생성하는 모든 리소스에는 태그가 지정ManagedBy=VPCProxyService되며 역할은 해당 태그를 전달하는 리소스에서만 작업할 수 있습니다. 지식 기반 IAM 역할 권한을(를) 참조하세요.

제공하는 내용

VPC 구성을 생성하려면 다음을 제공합니다.

VPC 구성 입력
Input 필요한 이유
VPC 및 하나 이상의 서브넷 Amazon Bedrock이 네트워크 진입점(프라이빗 게이트웨이)을 VPC에 배치합니다. 선택한 VPC에서 1~6개의 서브넷을 제공합니다.
리소스 대상 및 포트 연결할 리소스의 프라이빗 IP 주소 또는 DNS 이름(및 포트)입니다.
지식 기반 IAM 역할 Amazon Bedrock은이 역할을 수임하여 계정의 네트워킹 리소스를 프로비저닝합니다. 지식 기반 IAM 역할 권한을(를) 참조하세요.

보안 그룹은 제공하지 않습니다. Amazon Bedrock은 게이트웨이에 VPC의 기본 보안 그룹을 사용합니다. 기본 보안 그룹의 아웃바운드(송신) 규칙이 요청된 포트에서 대상에 도달하도록 허용하는지 확인합니다. 기본 보안 그룹에서 송신을(를) 참조하세요.

네트워크 요구 사항

Amazon Bedrock은 프라이빗 네트워크 인터페이스(퍼블릭 IP 주소 없음)로만 생성된 프라이빗 게이트웨이를 통해 리소스에 도달합니다. 게이트웨이는 VPC의 프라이빗(로컬) 네트워크를 통해 대상에 도달하며 퍼블릭 IP 주소에 도달할 수 없습니다. 리소스 대상은 VPC 내부에서 비공개로 연결할 수 있어야 합니다.

  • DNS 이름이 프라이빗 주소(예: , 10.x 172.x또는 scheme: internal)로 확인되는 내부 로드 밸런서(192.168.x).

  • 프라이빗 IP 주소 또는 프라이빗 VPC 내 주소로 확인되는 프라이빗 DNS 이름입니다.

인터넷 경계 로드 밸런서는 지원되지 않습니다. 인터넷 경계 로드 밸런서는 VPC 내 DNS 쿼리에도 퍼블릭 IP 주소를 반환하며 프라이빗 게이트웨이는 해당 주소에 도달할 수 없습니다. 리소스가 현재 인터넷 경계 로드 밸런서를 통해서만 노출되는 경우 동일한 VPC에서 내부 로드 밸런서를 생성(또는 가리키기)하고 해당 DNS 이름을 리소스 대상으로 사용합니다.

VPC 구성 생성

Console
VPC 구성을 추가하려면
  1. 데이터 소스 구성의 VPC 구성에서 VPC 구성 추가를 선택합니다. 적절한 구성이 이미 있는 경우 데이터 소스에서 재사용하려면 해당 구성을 선택합니다.

  2. (선택 사항) 구성의 이름과 설명을 입력합니다.

  3. VPC ID에서 연결에 사용할 VPC를 선택합니다.

  4. 서브넷 IDs 선택한 VPC에서 하나 이상의 서브넷을 선택합니다.

  5. 리소스 대상에 리소스의 호스트 이름 또는 IP 주소(예: 10.0.1.50 또는 confluence.internal.example.com)를 입력합니다.

  6. 포트에 연결할 포트 번호(예: 443 또는 8090)를 입력합니다.

  7. 프로토콜에서 HTTPS 또는 HTTP를 선택합니다.

  8. 해결 모드에서 리소스 대상 주소의 해결 방법을 선택합니다.

    • 퍼블릭 - 리소스 대상은 공개적으로 확인 가능한 호스트 이름 또는 IP 주소입니다.

    • VPC - 리소스 대상은 VPC 내에서만 확인할 수 있습니다. 이는 내부 리소스의 일반적인 사례입니다.

  9. (선택 사항) 호스트 헤더에 요청과 함께 전송할 Host 헤더 값을 입력합니다. 리소스(또는 업스트림 라우터)가 HTTP Host 헤더를 통해 라우팅하는 경우에만 이를 설정합니다.

  10. (HTTPS의 경우 필수) TLS 서버 이름에 리소스에 대해 예상되는 TLS 인증서 자격 증명(주제 대체 이름)을 입력합니다. 맨 왼쪽 와일드카드 하나가 허용됩니다(예: *.example.com).

  11. 생성(Create)을 선택합니다.

API

VPC 구성을 생성하려면 CreateVpcConfiguration 요청을 보냅니다. 모든 작업은 knowledgeBaseId 경로 파라미터를 통해 지식 기반까지 범위가 지정됩니다. Amazon Bedrock은 지식 기반에서 계정 ID 또는 역할 ARN을 해결하기 때문에 요청 본문에는 계정 ID 또는 역할 ARN이 포함되지 않습니다.

POST /knowledgebases/knowledgeBaseId/vpcconfigurations/

요청 본문은 다음 필드를 사용합니다.

CreateVpcConfiguration 필드
Field 필수 설명
vpcId VPC의 ID입니다. 일치, ^vpc-[a-zA-Z0-9]+$최대 64자.
subnetIds 지정된 VPC의 서브넷 IDs 1~6개. 각는와 일치합니다^subnet-[a-zA-Z0-9]+$.
resourceTarget 리소스의 IPv4 주소 또는 DNS 이름(1~255자). 리소스 대상 제한을(를) 참조하세요.
port 연결할 포트(1~65535).
protocol HTTP 또는 HTTPS
resolutionMode PUBLIC 또는 IN_VPC 대상이 VPC 내에서만 확인될 IN_VPC 때 사용합니다.
tlsServerName 조건부 protocol가 일 때 필요합니다HTTPS. 호스트 이름이 리소스의 TLS 인증서와 일치합니다(최대 253자). 맨 왼쪽 와일드카드는 하나만 허용됩니다. 포트를 포함하지 않아야 합니다.
hostHeader 아니요 전송할 HTTP Host 헤더 값입니다(최대 255자). 리소스가 Host 헤더를 기준으로 라우팅되는 경우에만를 설정합니다.
name 아니요 사람이 읽을 수 있는 이름(1~128자).
description 아니요 설명(최대 512자).
clientToken 아니요 멱등성 토큰입니다.

생성은 비동기식입니다.는 vpcConfigurationId 및 상태의 202 응답을 CreateVpcConfiguration 반환합니다CREATING. 상태가 CREATED (또는가 될 GetVpcConfiguration 때까지 폴링합니다. CREATE_FAILED이 경우는 원인의 statusMessage 이름을 지정합니다.) ListVpcConfigurations를 사용하여 구성을 나열하고 DeleteVpcConfiguration를 사용하여 구성을 제거합니다.

참고

동일한 서브넷 세트를 사용하여 동일한 VPC에서 여러 구성을 생성하는 경우 하나의 게이트웨이를 공유합니다. 다른 서브넷 세트는 별도의 게이트웨이를 프로비저닝합니다.

프로토콜, TLS 서버 이름 및 호스트 헤더

이 세 가지 설정이 가장 일반적으로 잘못 구성되어 있습니다. 다음 지침에 따라 올바른 값을 선택합니다.

protocol

일반 텍스트 HTTP를 통해 리소스를 HTTP 호출하거나 TLS를 통해 리소스를 호출HTTPS하도록 선택합니다.

tlsServerName

protocol가 일 때 필요합니다HTTPS. 호출 중에 리소스의 TLS 인증서 주체 대체 이름과 일치하는 서버 이름입니다. 인증서가 발급된 호스트 이름으로 설정합니다(예: app.internal.example.com). 맨 왼쪽 와일드카드 하나가 허용됩니다(예: *.example.com). IP 주소에서 리소스에 도달했지만 이름에 대한 인증서를 제공하는 경우 tlsServerName를 해당 이름으로 설정합니다. 인증서가 일치하지 않으면 호출은 TLS 자격 증명 검사에 실패합니다. 이 값은 포트가 없는 호스트 이름이어야 합니다.

hostHeader

선택 사항이며와 독립적인 애플리케이션 계층 문제입니다tlsServerName. 리소스, 업스트림 라우터 또는 수신이 HTTP Host 헤더를 기준으로 라우팅되고 해당 호스트가 그렇지 않으면 전송할 호스트와 다른 경우에만 설정합니다. 리소스가 단일 사이트를 제공하고에 의해 라우팅되지 않는 경우 설정되지 않은 상태로 Host둡니다.

resolutionMode

PUBLIC 리소스 대상이 공개적으로 확인 가능한 이름인지 아니면 퍼블릭 IP 주소인지 선택합니다. 리소스 대상이 VPC(프라이빗 DNS 또는 프라이빗 IP 주소) 내에서만 확인IN_VPC되는 경우를 선택합니다. 이는 내부 리소스의 일반적인 사례입니다. 리터럴 프라이빗 IP 대상(예: 10.0.5.20)은 확인할 DNS 이름이 없기 때문에 두 모드 중 하나에서 작동합니다.

리소스 대상 제한

Amazon Bedrock은 구성을 생성할 resourceTarget 때 서비스가 자체 또는 내부 인프라로 전달되지 않도록 유효성을 검사합니다. 다음 대상은 거부됩니다.

  • 루프백 주소(127.0.0.0/8, ::1) 및 localhost.

  • 인스턴스 메타데이터 엔드포인트를 포함한 링크-로컬 주소(169.254.0.0/16, fe80::/10). 169.254.169.254

  • 와일드카드 또는 임의의 로컬 주소(0.0.0.0, ::) 및 0.0.0.0/8 블록.

  • 멀티캐스트 주소.

  • IPv6 리터럴. 게이트웨이는 IPv4-only으로 프로비저닝되므로 IP 대상은 점선 쿼드 IPv4 주소여야 합니다.

DNS 이름은 허용됩니다. 검증은 이를 해결하지 않으므로 게이트웨이 서브넷에서 대상에 계속 연결할 수 있어야 합니다.

기본 보안 그룹에서 송신

Amazon Bedrock은 게이트웨이에 VPC의 기본 보안 그룹을 사용하기 때문에 해당 보안 그룹의 송신 규칙은 resourceTarget에 대한 액세스를 허용해야 합니다port. 기본 보안 그룹이 잠긴 경우 나중에 시간이 초과되는 대신 명확한 메시지와 함께 생성이 빠르게 실패합니다. 구성을 생성하기 전에 송신 규칙이 게이트웨이 서브넷에서 대상 및 포트로의 트래픽을 허용하는지 확인합니다.

지식 기반 IAM 역할 권한

Amazon Bedrock은 지식 기반과 연결된 IAM 역할을 수임하여 계정의 네트워킹 리소스를 프로비저닝하고 나중에 해제합니다. 역할은 아래의 생성 및 삭제 권한과 재시도된 삭제를 멱등적으로 만드는 읽기 권한을 부여해야 합니다. Amazon Bedrock이 생성하는 모든 리소스에는 태그가 지정ManagedBy=VPCProxyService되고 파괴적 권한은 해당 태그에 게이트 처리되므로 역할은이 기능이 생성한 리소스에서만 작업할 수 있습니다.

  • 생성 - vpc-lattice:CreateResourceGateway, vpc-lattice:CreateResourceConfiguration, vpc-lattice:TagResource, vpc-lattice:PutResourcePolicy, ram:TagResource, ram:CreateResourceShareram:AssociateResourceShare, 및 iam:CreateServiceLinkedRole (VPC Lattice 서비스 연결 역할의 경우 일회성).

  • 삭제 - vpc-lattice:DeleteResourceGateway, vpc-lattice:DeleteResourceConfigurationram:DeleteResourceShare.

  • 읽기(검증 및 멱등성) - vpc-lattice:GetResourceGateway, vpc-lattice:GetResourceConfiguration, ram:GetResourceShares, ec2:DescribeSubnets, 및 ec2:DescribeSecurityGroupsec2:DescribeVpcs.

중요

vpc-lattice:GetResourceGateway 및를 모두 부여합니다vpc-lattice:GetResourceConfiguration. 삭제 권한은 태그 범위이므로 이미 삭제된 리소스를 삭제하면 찾을 수 없는 오류가 아닌 액세스 거부 오류가 반환됩니다. Amazon Bedrock은 태그가 지정되지 않은 이러한 읽기 권한을 사용하여 이미 삭제된 리소스(성공으로 처리됨)에 실제 권한 문제를 알립니다. 그렇지 않으면 부분 실패 후 재시도된 삭제가 중단될 수 있습니다.

다음 예제 정책은 필요한 권한을 부여합니다. regionaccountId를 값으로 바꿉니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VpcProxyCreateTagged", "Effect": "Allow", "Action": [ "vpc-lattice:CreateResourceGateway", "vpc-lattice:CreateResourceConfiguration", "vpc-lattice:TagResource" ], "Resource": [ "arn:aws:vpc-lattice:region:accountId:resourcegateway/*", "arn:aws:vpc-lattice:region:accountId:resourceconfiguration/*" ], "Condition": { "StringEquals": { "aws:RequestTag/ManagedBy": "VPCProxyService", "aws:ResourceTag/ManagedBy": "VPCProxyService" }, "ForAllValues:StringEquals": { "aws:TagKeys": ["ManagedBy"] } } }, { "Sid": "VpcProxyPutResourcePolicy", "Effect": "Allow", "Action": "vpc-lattice:PutResourcePolicy", "Resource": [ "arn:aws:vpc-lattice:region:accountId:resourceconfiguration/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/ManagedBy": "VPCProxyService" } } }, { "Sid": "VpcProxyRamCreate", "Effect": "Allow", "Action": "ram:CreateResourceShare", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/ManagedBy": "VPCProxyService" }, "StringEqualsIfExists": { "ram:RequestedResourceType": "vpc-lattice:ResourceConfiguration" } } }, { "Sid": "VpcProxyRamAssociate", "Effect": "Allow", "Action": "ram:AssociateResourceShare", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/ManagedBy": "VPCProxyService" } } }, { "Sid": "VpcProxyRamTagOnCreate", "Effect": "Allow", "Action": "ram:TagResource", "Resource": [ "arn:aws:ram:region:accountId:resource-share/*" ], "Condition": { "StringEquals": { "aws:RequestTag/ManagedBy": "VPCProxyService", "aws:ResourceTag/ManagedBy": "VPCProxyService" }, "ForAllValues:StringEquals": { "aws:TagKeys": ["ManagedBy"] } } }, { "Sid": "VpcProxyDeleteTagged", "Effect": "Allow", "Action": [ "vpc-lattice:DeleteResourceConfiguration", "vpc-lattice:DeleteResourceGateway" ], "Resource": [ "arn:aws:vpc-lattice:region:accountId:resourcegateway/*", "arn:aws:vpc-lattice:region:accountId:resourceconfiguration/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/ManagedBy": "VPCProxyService" } } }, { "Sid": "VpcProxyRamDeleteTagged", "Effect": "Allow", "Action": "ram:DeleteResourceShare", "Resource": [ "arn:aws:ram:region:accountId:resource-share/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/ManagedBy": "VPCProxyService" }, "StringLike": { "ram:ResourceShareName": "vpc-proxy-share-*" } } }, { "Sid": "VpcProxyGetResource", "Effect": "Allow", "Action": [ "vpc-lattice:GetResourceConfiguration", "vpc-lattice:GetResourceGateway" ], "Resource": [ "arn:aws:vpc-lattice:region:accountId:resourcegateway/*", "arn:aws:vpc-lattice:region:accountId:resourceconfiguration/*" ] }, { "Sid": "VpcProxyRamGetResourceShares", "Effect": "Allow", "Action": "ram:GetResourceShares", "Resource": "*" }, { "Sid": "VpcProxyEc2Describe", "Effect": "Allow", "Action": [ "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs" ], "Resource": "*" }, { "Sid": "VpcProxyLatticeServiceLinkedRole", "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": [ "arn:aws:iam::accountId:role/aws-service-role/vpc-lattice.amazonaws.com/*" ], "Condition": { "StringEquals": { "iam:AWSServiceName": "vpc-lattice.amazonaws.com" } } } ] }

수명 주기

  • VPC 구성은 CREATING를 통해 또는 CREATED로 전환됩니다CREATE_FAILED. 삭제할 때 상태는 DELETING또는 입니다DELETE_FAILED.

  • 생성 및 삭제는 비동기식입니다. 진행 상황을 추적GetVpcConfiguration하기 위해 폴링합니다. 실패 시는 누락된 권한과 같은 실행 가능한 원인의 statusMessage 이름을 지정합니다.

  • 삭제는 멱등성입니다. 부분적으로 완료된 삭제는 다시 시도할 때 수렴됩니다.