View a markdown version of this page

VPC Lattice를 사용하여 VPC의 프라이빗 리소스에 연결 - Amazon Bedrock AgentCore

VPC Lattice를 사용하여 VPC의 프라이빗 리소스에 연결

Amazon Bedrock AgentCore는 AWS VPC 내에서 호스팅되는 리소스 또는 프라이빗 MCP 서버, 내부 REST APIs 또는 데이터베이스와 같이 VPC에 연결된 온프레미스 환경에 대한 프라이빗 연결을 지원하며, 이러한 서비스는 퍼블릭 인터넷에 노출되지 않습니다.

프라이빗 연결은 Amazon VPC Lattice 리소스 게이트웨이 및 리소스 구성을 사용하여 설정됩니다. 지원되는 두 가지 모드(관리형 및 자체 관리형 Lattice)에 대한 자세한 내용은 지원되는 VPC 송신 모드를 참조하세요.

주요 개념

리소스 게이트웨이

Amazon VPC Lattice 리소스 게이트웨이는 VPC로 들어오는 지점입니다. VPC의 하나 이상의 서브넷 및 보안 그룹과 연결되며 AgentCore의 트래픽에 대한 네트워크 진입점 역할을 합니다. 관리형 Lattice를 사용하면 AgentCore가 사용자를 대신하여이 리소스를 생성하고 관리합니다.

리소스 구성

리소스 구성은 VPC 내의 특정 프라이빗 엔드포인트인 IP 주소 또는 DNS 이름을 나타냅니다. 리소스 게이트웨이에 연결되며 AgentCore가 연결할 수 있는 리소스를 정의합니다. 관리형 Lattice를 사용하는 경우 AgentCore는 사용자를 대신하여 AgentCore 서비스 계정에이 리소스를 생성합니다.

서비스 네트워크 리소스 연결

서비스 네트워크 리소스 연결은 리소스 구성을 AgentCore 서비스 네트워크에 연결하여 AgentCore 서비스가 프라이빗 엔드포인트를 호출할 수 있도록 합니다. AgentCore는 관리형 Lattice를 사용하든 자체 관리형 Lattice를 사용하든 관계없이 항상 사용자를 대신하여이 연결을 생성하고 관리합니다.

라우팅 도메인

AgentCore가 실제 대상 도메인 대신 리소스 구성 도메인으로 사용하는 중간 도메인을 지정하는 선택적 필드입니다. 이는 VPC 엔드포인트 또는 내부 로드 밸런서와 같은 중간 구성 요소를 통해 트래픽을 라우팅할 때 유용합니다. 예를 들어 단일 VPC 엔드포인트 뒤에 여러 프라이빗 API Gateway를 통합하여 리소스 구성 수와 관련 비용을 줄입니다. AgentCore 서비스는 SNI 재정의를 사용하여 실제 대상 도메인을 계속 호출합니다. 자세한 내용은 중간 도메인을 통해 트래픽 라우팅을 참조하세요.

지원되는 Amazon Bedrock AgentCore 서비스

다음 Amazon Bedrock AgentCore 서비스는 VPC Lattice에서 VPC 송신을 지원합니다.

AgentCore 게이트웨이

AgentCore Gateway는 MCP 서버 및 OpenAPI 대상 유형에 대한 프라이빗 엔드포인트를 지원합니다. 각 대상 유형에 대해 VPC 송신을 구성하는 방법에 대한 자세한 내용은 Configure Amazon Bedrock AgentCore Gateway VPC Egress for Gateway Targets를 참조하세요.

AgentCore 자격 증명

AgentCore Identity는 인바운드 JWT 권한 부여 및 아웃바운드 OAuth 자격 증명 공급자 모두에 대해 VPC 호스팅 OAuth 2.0 자격 증명 공급자에 연결하기 위한 프라이빗 엔드포인트를 지원합니다. 자세한 내용은 프라이빗 자격 증명 공급자에 연결을 참조하세요.

지원되는 VPC 송신 모드

Amazon Bedrock AgentCore는 VPC Lattice 연결을 구성하기 위한 두 가지 모드를 지원합니다.

  • 관리형 VPC 리소스 - Amazon Bedrock AgentCore는 사용자를 대신하여 VPC Lattice 리소스 게이트웨이 및 리소스 구성을 생성하고 관리합니다. VPC, 서브넷 및 선택적 보안 그룹을 제공합니다. 이는 hub-and-spoke크와 같은 기존 네트워크 아키텍처에 연결되는 계정 내 VPC 연결을 위한 보다 간단한 접근 방식입니다.

    참고

    이 옵션을 사용하려면 VPC Lattice IAM 권한, SCP 변경 또는 추가 승인 프로세스가 필요하지 않습니다. Amazon Bedrock AgentCore는 사용자를 대신하여 모든 VPC Lattice 리소스를 관리합니다.

  • 자체 관리형 Lattice 리소스 - VPC Lattice 리소스 게이트웨이 및 리소스 구성을 직접 생성하고 관리합니다. 이 접근 방식은 향상된 거버넌스와 가시성을 제공합니다. 어떤 서비스가 어떤 도메인에 연결되어 있는지, 누가 액세스 권한을 가지고 있는지, 어떤 서비스가 세분화된 수준에서 연결을 취소하는지 정확히 확인할 수 있습니다. 또한 VPC 피어링 또는 전송 게이트웨이 없이 AWS RAM을 통한 직접 교차 계정 연결을 지원합니다.

다음 표에는 주요 차이점이 요약되어 있습니다.

측정 기준 관리형 VPC 리소스 자체 관리형 Lattice 리소스

추가 서비스 종속성

VPC Lattice 온보딩 또는 허용 목록 작성이 필요하지 않습니다. VPC Lattice는 Amazon Bedrock AgentCore에서 구현 세부 정보로 내부적으로 사용됩니다. VPC Lattice IAM 정책, SCP 변경 사항 또는 추가 승인 프로세스가 필요하지 않습니다. 표준 Amazon EC2 권한과 서비스 연결 역할을 생성할 수 있는 기능만 필요합니다.

예. VPC Lattice IAM 권한(예: , 및 vpc-lattice:CreateResourceGateway vpc-lattice:CreateResourceConfiguration)이 필요한 VPC Lattice 리소스를 직접 생성하고 관리합니다vpc-lattice:CreateServiceNetworkResourceAssociation. 조직에서 VPC Lattice 액세스를 제한하는 경우 SCPs 업데이트하거나 승인을 요청해야 할 수 있습니다.

거버넌스 및 가시성

계정의 유일한 리소스는 VPC의 네트워크 인터페이스(ENI)인 리소스 게이트웨이입니다. Amazon Bedrock AgentCore에서 완전히 관리하는 읽기 전용 리소스이므로 수정, 구성 또는 상호 작용할 수 없습니다.

리소스 게이트웨이, 리소스 구성, 서비스 네트워크 연결 및 연결된 도메인에 대한 전체 가시성. 모든 리소스를 소유하고 관리하며 연결을 감사하고 세분화된 수준에서 액세스를 취소할 수 있습니다.

복잡성

단순 - VPC, 서브넷 및 보안 그룹을 제공합니다. Amazon Bedrock AgentCore가 나머지를 관리합니다.

고급 - VPC Lattice 리소스 게이트웨이 및 리소스 구성을 직접 생성하고 관리합니다.

교차 계정 연결

지원되지 않음. 교차 계정 또는 교차 VPC 시나리오를 위해 hub-and-spoke(VPC 피어링 또는 AWS Transit Gateway)와 같은 기존 네트워크 아키텍처와 함께 사용합니다.

AWS RAM을 통해 지원됩니다. VPC 피어링 또는 전송 게이트웨이 없이 직접 교차 계정 연결을 활성화합니다.

VPC Lattice 요금

데이터 처리 요금만 부과됩니다(리소스 게이트웨이를 통해 처리된 GB당).

서비스 네트워크에 추가된 VPC 리소스당 시간당 요금과 데이터 처리 요금(GB당).

리소스 수명 주기

Amazon Bedrock AgentCore는 사용자를 대신하여 리소스 게이트웨이를 생성, 재사용 및 삭제합니다.

리소스 게이트웨이 및 리소스 구성의 전체 수명 주기를 소유합니다.

IP 소비 및 처리량

각 관리형 리소스 게이트웨이는 서브넷당 1개의 IP 주소를 사용합니다. 이는 구성할 수 없습니다.

Amazon Bedrock AgentCore와 함께 사용할 경우는 서브넷당 1개의 IP 주소를 사용합니다. 다른 VPC Lattice 서비스 네트워크에도 연결된 경우는 리소스 게이트웨이의 ipv4AddressesPerEni 값에 따라 추가 IPs를 사용합니다. 포트 범위와 IP 주소의 조합에 따라 해당 서비스 네트워크 리소스 연결의 최대 동시 연결 수가 결정됩니다. 포트 재사용 전에 연결이 종료된 후 350초의 포트 휴지 기간이 있습니다.

VPC Lattice 요금 세부 정보는 Amazon VPC Lattice 요금을 참조하세요.

옵션 1: 관리형 VPC 리소스

관리형 VPC 리소스를 사용하면 VPC, 서브넷 및 선택적 보안 그룹 정보를 제공할 수 있습니다. AgentCore는 사용자를 대신하여 VPC Lattice 리소스 게이트웨이 및 리소스 구성의 생성 및 수명 주기 관리를 처리합니다. 관리형 리소스 게이트웨이는 VPC의 ENIs를 둘러싼 래퍼입니다. 수정, 구성 또는 상호 작용할 수 없습니다. AgentCore는 생성, 재사용 및 삭제를 포함한 전체 수명 주기를 소유합니다.

참고

Amazon Bedrock AgentCore는 Lattice를 내부 종속성으로 사용하고 모든 Lattice 리소스 게이트웨이는 고객에게 읽기 전용이므로 관리형 VPC 리소스를 사용하기 위해 VPC Lattice IAM 권한, SCP 변경 또는 추가 승인 프로세스가 필요하지 않습니다.

AgentCore는 AWSServiceRoleForBedrockAgentCoreGatewayNetwork 서비스 연결 역할을 사용하여 계정에서 VPC Lattice 리소스 게이트웨이를 생성하고 관리합니다. 이 역할은 관리형 프라이빗 엔드포인트를 사용하여 게이트웨이 대상을 처음 생성할 때 자동으로 생성됩니다. 이 역할에 대한 자세한 내용은 게이트웨이 서비스 연결 역할을 참조하세요.

사전 조건

관리형 프라이빗 엔드포인트를 사용하여 게이트웨이 대상을 생성하기 전에 다음을 확인하세요.

  • 프라이빗 리소스(MCP 서버 또는 REST API)가 실행 중이며 VPC 내에서 액세스할 수 있습니다.

  • VPC에 프라이빗 리소스에 대한 네트워크 액세스 권한이 있는 서브넷이 하나 이상 있습니다.

  • 보안 그룹은 프라이빗 리소스에서 사용하는 포트(일반적으로 HTTPS용 포트 443)에서 인바운드 트래픽을 허용합니다.

  • IAM 보안 주체는 bedrock-agentcore.amazonaws.com에 대한 iam:CreateServiceLinkedRole 권한이 있으므로 AgentCore가 아직 존재하지 않는 경우 사용자를 대신하여 서비스 연결 역할을 생성할 수 있습니다. 필요한 IAM 정책은 게이트웨이 서비스 연결 역할을 참조하세요.

  • IAM 보안 주체에는 AgentCore가 VPC에서 VPC Lattice 리소스 게이트웨이를 설정하는 데 필요한 다음과 같은 Amazon EC2 권한이 있습니다.

    • ec2:CreateNetworkInterface

    • ec2:DescribeVpcs

    • ec2:DescribeSecurityGroups

    • ec2:DescribeSubnets

  • 프라이빗 리소스가 프라이빗 인증 기관에서 발급한 TLS 인증서를 사용하는 경우 그 앞에 퍼블릭 ACM 인증서가 있는 내부 Application Load Balancer를 배치할 수 있습니다. 자세한 내용은 프라이빗 인증서에 대한 해결 방법: ALB를 참조하세요.

관리형 프라이빗 엔드포인트를 사용하여 대상 생성

관리형 프라이빗 엔드포인트를 사용하여 리소스를 생성하려면 생성 요청에 privateEndpoint.managedVpcResource 블록을 포함합니다.

{ ... "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0abc123def456", "subnetIds": ["subnet-0abc123", "subnet-0def456"], "endpointIpAddressType": "IPV4", "securityGroupIds": ["sg-0abc123def"] } }, ... }

managedVpcResource 블록은 다음 필드를 허용합니다.

vpcIdentifier(필수)

프라이빗 리소스가 포함된 VPC의 ID입니다.

subnetIds(필수)

리소스 게이트웨이가 배치될 VPC 내의 서브넷 IDs.

endpointIpAddressType(필수)

리소스 구성의 IP 주소 유형입니다. 유효 값은 IPV4IPV6입니다.

securityGroupIds (선택 사항)

리소스 게이트웨이와 연결할 보안 그룹 IDs. 제공되지 않으면 VPC의 기본 보안 그룹이 사용됩니다.

routingDomain (선택 사항)

실제 대상 도메인 대신 리소스 구성 엔드포인트로 사용할 중간 도메인입니다. VPC 엔드포인트 또는 내부 로드 밸런서와 같은 중간 구성 요소를 통해 트래픽을 라우팅하려는 경우이 옵션을 사용합니다. 자세한 내용은 중간 도메인을 통해 트래픽 라우팅을 참조하세요.

tags (선택 사항)

관리형 VPC Lattice 리소스 게이트웨이에 적용할 태그입니다. 태그 키는 예약BedrockAgentCoreGatewayManaged되어 있으며 지정할 수 없습니다.

관리형 리소스 보기

리소스가 생성된 후 관련 Get API(예: GetGatewayTarget )를 호출하여 AgentCore가 사용자를 대신하여 생성한 관리형 VPC Lattice 리소스를 확인합니다. 이는 응답의 privateEndpointManagedResources 필드에 반환됩니다.

{ ... "status": "READY", "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0abc123def456", "subnetIds": ["subnet-0abc123", "subnet-0def456"], "endpointIpAddressType": "IPV4", "securityGroupIds": ["sg-0abc123def"] } }, "privateEndpointManagedResources": [ { "domain": "my-server.internal.example.com", "resourceGatewayArn": "arn:aws:vpc-lattice:us-east-1:123456789012:resourcegateway/rgw-abc123" } ] }

resourceGatewayArn는 AgentCore가 계정에서 생성한 VPC Lattice 리소스 게이트웨이의 ARN입니다. AgentCore는이 리소스의 전체 수명 주기를 관리합니다. 즉, VPC 및 서브넷 구성이 일치하는 대상에 동일한 리소스 게이트웨이를 재사용하고 대상에서 더 이상 사용하지 않을 때 삭제합니다.

옵션 2: 자체 관리형 Lattice 리소스

자체 관리형 Lattice를 사용하면 VPC Lattice 리소스 게이트웨이 및 리소스 구성을 직접 생성 및 관리하고 리소스 구성 식별자를 AgentCore에 제공합니다. 이미 VPC Lattice 리소스가 구성되어 있거나, 여러 서비스에서 리소스 구성을 공유해야 하거나, Lattice 리소스 수명 주기를 제어해야 하는 경우이 옵션을 사용합니다.

사전 조건

자체 관리형 프라이빗 엔드포인트로 게이트웨이 대상을 생성하기 전에 다음 단계를 완료하세요.

  • 프라이빗 리소스(MCP 서버 또는 REST API)가 실행 중이며 VPC 내에서 액세스할 수 있습니다.

  • VPC에 프라이빗 리소스에 대한 네트워크 액세스 권한이 있는 서브넷이 하나 이상 있습니다.

  • 보안 그룹은 프라이빗 리소스에서 사용하는 포트(일반적으로 HTTPS용 포트 443)에서 인바운드 트래픽을 허용합니다.

  • 프라이빗 리소스가 프라이빗 인증 기관에서 발급한 TLS 인증서를 사용하는 경우 그 앞에 퍼블릭 ACM 인증서가 있는 내부 Application Load Balancer를 배치할 수 있습니다. 자세한 내용은 프라이빗 인증서에 대한 해결 방법: ALB를 참조하세요.

자체 관리형 연결을 위한 VPC Lattice 리소스 설정

  1. VPC Lattice 콘솔 또는 CreateResourceGateway API를 사용하여 VPC에서 Resource Gateway를 생성합니다. 프라이빗 리소스에 액세스할 수 있는 서브넷 및 보안 그룹과 연결합니다.

    aws vpc-lattice create-resource-gateway \ --name my-resource-gateway \ --vpc-identifier vpc-0abc123def456 \ --subnet-ids subnet-0abc123 subnet-0def456 \ --security-group-ids sg-0abc123def \ --ip-address-type IPV4
  2. 프라이빗 엔드포인트를 가리키는 리소스 구성을 생성합니다. 이전 단계에서 생성한 리소스 게이트웨이의 ARN을 사용합니다.

    aws vpc-lattice create-resource-configuration \ --name my-resource-config \ --type SINGLE \ --resource-gateway-identifier <resource-gateway-arn> \ --resource-configuration-definition '{"dnsResource": {"domain": "my-service.internal.example.com", "ipAddressType": "IPV4"}}' \ --port-ranges 443
  3. 리소스가 AgentCore 소유자 계정과 다른 계정에 있는 경우 AWS RAM을 사용하여 AgentCore 소유자 계정과 리소스 구성을 공유합니다. AgentCore

    aws ram create-resource-share \ --name my-resource-config-share \ --resource-arns <resource-configuration-arn> \ --principals <gateway-owner-account-id>

    AgentCore 소유자 계정은 대상을 생성하기 전에 리소스 공유를 수락해야 합니다.

  4. 리소스 구성 ARN 또는 ID를 기록해 둡니다. 게이트웨이 대상을 생성할 resourceConfigurationIdentifier 때 이를 로 제공합니다.

또한 IAM 보안 주체는 AgentCore가 사용자를 대신하여 리소스 구성을 AgentCore 서비스 네트워크와 연결할 수 있도록 허용하는 다음 권한이 필요합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "vpc-lattice:GetResourceConfiguration", "vpc-lattice:CreateServiceNetworkResourceAssociation", "vpc-lattice:GetServiceNetworkResourceAssociation", "vpc-lattice:ListServiceNetworkResourceAssociations", "vpc-lattice:AssociateViaAWSService" ], "Resource": "*" } ] }

자체 관리형 프라이빗 엔드포인트를 사용하여 대상 생성

자체 관리형 프라이빗 엔드포인트로 리소스를 생성하려면 생성 요청에 privateEndpoint.selfManagedLatticeResource 블록을 포함합니다.

{ ... "privateEndpoint": { "selfManagedLatticeResource": { "resourceConfigurationIdentifier": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-abc123" } }, ... }

는 VPC Lattice 리소스 구성의 ARN 또는 ID일 resourceConfigurationIdentifier 수 있습니다. AgentCore는 자격 증명(전달 액세스 세션 를 통해)을 사용하여 리소스 구성을 AgentCore 서비스 네트워크와 연결합니다.

리소스가 생성된 후 API 가져오기 응답은 privateEndpointManagedResources 필드에 resourceAssociationArn를 포함합니다. 동일한 리소스 구성을 가리키는 여러 리소스를 생성하는 경우 AgentCore는 기존 서비스 네트워크 리소스 연결을 자동으로 재사용합니다.

교차 계정 프라이빗 리소스

게이트웨이를 소유한 AWS 계정과 다른 계정의 프라이빗 리소스에 AgentCore를 연결할 수 있습니다. 이는 개별 서비스 팀이 프라이빗 리소스를 소유하는 동안 중앙 집중식 게이트웨이를 관리하는 플랫폼 팀의 일반적인 패턴입니다.

리소스 소유자 계정은 AWS RAM을 사용하여 VPC Lattice 리소스 구성을 게이트웨이 소유자 계정과 공유해야 합니다. 그런 다음 게이트웨이 소유자 계정은 게이트웨이 대상을 생성할 때 공유 리소스 구성 식별자를 제공합니다.

다음 단계에서는 교차 계정 설정을 요약합니다.

교차 계정 프라이빗 연결 설정

  1. 리소스 소유자 계정에서 : 사전 조건에 설명된 대로 VPC Lattice 리소스 게이트웨이 및 리소스 구성을 생성합니다.

  2. 리소스 소유자 계정에서 : AWS RAM을 사용하여 게이트웨이 소유자 계정과 리소스 구성을 공유합니다.

    aws ram create-resource-share \ --name my-resource-config-share \ --resource-arns <resource-configuration-arn> \ --principals <gateway-owner-account-id>
  3. 게이트웨이 소유자 계정 : 리소스 공유 수락:

    aws ram accept-resource-share-invitation \ --resource-share-invitation-arn <invitation-arn>
  4. 게이트웨이 소유자 계정 : 자체 관리형 프라이빗 엔드포인트를 사용하여 대상 생성에 설명된 대로 공유 리소스 구성 식별자를 사용하여 게이트웨이 대상을 생성합니다.

중간 도메인을 통해 트래픽 라우팅

routingDomain 필드를 사용하여 대상 도메인으로 직접 라우팅하는 대신 VPC 엔드포인트, 내부 Application Load Balancer 또는 Network Load Balancer와 같은 중간 구성 요소를 통해 트래픽을 라우팅할 수 있습니다. 이는 단일 진입점 뒤에 여러 프라이빗 리소스를 통합하려는 경우(예: 리소스 구성 수 및 관련 비용을 줄이기 위해 단일 VPC 엔드포인트를 통해 여러 프라이빗 API Gateway 라우팅) 유용합니다.

라우팅 도메인을 사용할 때 대상에 지정하는 도메인(MCP 엔드포인트 URL 또는 OpenAPI 서버 URL)은 리소스의 실제 DNS 이름이어야 합니다. 는 AgentCore가 VPC Lattice 리소스 구성을 설정하는 데 사용하는 별도의 도메인routingDomain입니다. 호출 시 AgentCore는 라우팅 도메인을 통해 트래픽을 라우팅하지만 실제 대상 도메인이 TLS SNI 호스트 이름으로 포함된 요청을 전송하므로 리소스는 실제 도메인으로 전달된 요청을 수신합니다.

라우팅 도메인은 VPC 내의 프라이빗 리소스로 라우팅되는 모든 도메인일 수 있습니다. 일반적인 옵션은 다음과 같습니다.

  • 프라이빗 API Gateway의 VPC 엔드포인트(VPCE) 도메인 - VPCE DNS 이름을 <vpce-id>.execute-api.us-east-1.vpce.amazonaws.com와 같은 routingDomain 로 사용합니다. OpenAPI 사양의 대상 URL을 https://<api-id>.execute-api.us-east-1.amazonaws.com와 같은 프라이빗 API Gateway 호스트 이름으로 설정합니다. AgentCore는 VPCE 도메인을 통해 트래픽을 라우팅하지만 프라이빗 API 호스트 이름을 TLS SNI로 사용하여 요청을 전송하여 VPC 내에서 올바른 라우팅을 보장합니다.

  • 내부 Application Load Balancer(ALB) - 내부 ALB DNS 이름을 routingDomain 로 사용합니다. 예: internal-<alb-name>-<id>.us-west-2.elb.amazonaws.com . 대상 URL을 ALB 뒤의 리소스 DNS 이름으로 설정합니다.

  • 내부 Network Load Balancer(NLB) - 내부 NLB DNS 이름을 routingDomain 로 사용합니다. 예: internal-<nlb-name>-<id>.elb.us-west-2.amazonaws.com . 대상 URL을 NLB 뒤의 리소스 DNS 이름으로 설정합니다.

다음 단계에서는 라우팅 도메인 사용 시 트래픽 흐름을 설명합니다.

  1. AgentCore는 VPC Lattice에서 생성한 DNS 이름을 확인하여 리소스 게이트웨이에 도달합니다.

  2. 트래픽은 라우팅 도메인으로 전송되는 리소스 게이트웨이를 통해 VPC로 들어갑니다.

  3. 라우팅 도메인(VPCE 또는 ALB)은 요청을 프라이빗 리소스로 전달합니다. TLS SNI 헤더에는 실제 대상 도메인이 포함되어 있으므로 리소스가 올바른 호스트 이름으로 요청을 수신합니다.

예: VPCE 라우팅 도메인이 있는 프라이빗 API Gateway

다음 예제에서는 VPCE 도메인을 라우팅 도메인으로 사용하여 프라이빗 API Gateway의 게이트웨이 대상을 생성하는 방법을 보여줍니다. 대상 URL은 프라이빗 API Gateway 호스트 이름이고 routingDomain는 VPCE DNS 이름입니다.

{ "name": "my-private-apigw-target", "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0123456789abcdef0", "subnetIds": ["subnet-0123456789abcdef0", "subnet-0abcdef1234567890"], "endpointIpAddressType": "IPV4", "routingDomain": "<vpce-id>.execute-api.us-east-1.vpce.amazonaws.com" } }, "targetConfiguration": { "mcp": { "openApiSchema": { "inlinePayload": "<OpenAPI spec JSON with server URL matching the public certificate domain, for example https://<api-id>.execute-api.<region>.amazonaws.com>" } } } }
참고

routingDomain 필드는 managedVpcResource 옵션에만 사용할 수 있습니다. 자체 관리형 Lattice의 경우 생성할 때 리소스 구성에서 직접 라우팅 도메인을 구성합니다.

프라이빗 인증서에 대한 해결 방법: ALB

VPC 송신을 사용하려면 대상 엔드포인트에 공개적으로 신뢰할 수 있는 TLS 인증서가 있어야 합니다. 프라이빗 리소스가 프라이빗 인증 기관(CA)에서 발급한 인증서를 사용하는 경우 권장되는 해결 방법은 리소스 앞에 내부 Application Load Balancer(ALB)를 배치하는 것입니다.

다음 단계에서는 트래픽 흐름을 설명합니다.

  1. 대상 URL을 퍼블릭 ACM 인증서와 일치하는 도메인(예: https://my-server.my-company.com )으로 설정합니다.

  2. 를 내부 ALB DNS 이름(예: internal-my-alb-1234567890.us-west-2.elb.amazonaws.com )routingDomain으로 설정합니다.

  3. VPC Lattice는 라우팅 도메인을 통해 트래픽을 ALB로 라우팅합니다. TLS SNI는 my-server.my-company.com ALB의 퍼블릭 ACM 인증서와 일치하는 로 설정되므로 TLS 핸드셰이크가 성공합니다.

  4. ALB는 TLS를 종료하고 호스트 헤더 변환을 적용하여의 호스트 헤더를 프라이빗 리소스의 도메인(예: my-server.my-company.internal )my-server.my-company.com에 다시 씁니다.

  5. ALB는 프라이빗 인증서를 사용하여 HTTPS를 통해 백엔드 리소스에 요청을 전달합니다. 모든 트래픽은 VPC 내부에 유지됩니다.

1단계: 퍼블릭 ACM 인증서 요청

소유한 도메인에 대해 ACM에 퍼블릭 인증서를 요청합니다. 이 도메인은 대상 URL로 사용됩니다. 지침은 Certificate Manager 사용 설명서의 퍼블릭 인증서 요청을 참조하세요. AWS

2단계: 내부 ALB 생성

프라이빗 리소스와 동일한 VPC에 내부 Application Load Balancer를 생성합니다. 지침은 Elastic Load Balancing Load Balancing 사용 설명서의 Application Load Balancer 생성을 참조하세요. 스키마를 로 설정해야 합니다internal.

3단계: IP 기반 대상 그룹 생성

포트 443(HTTPS)에서 프라이빗 리소스의 IP 주소를 가리키ip는 대상 유형으로 대상 그룹을 생성하고 프라이빗 리소스를 대상으로 등록합니다. 지침은 Elastic Load Balancing 사용 설명서의 대상 그룹 생성을 참조하세요.

4단계: 호스트 헤더 변환을 사용하여 HTTPS 리스너 생성

퍼블릭 ACM 인증서를 사용하여 포트 443에서 HTTPS 리스너를 생성합니다. 전달하기 전에 호스트 헤더를 퍼블릭 도메인에서 프라이빗 리소스의 도메인으로 변환하는 리스너 규칙을 추가합니다.

aws elbv2 create-listener \ --load-balancer-arn <alb-arn> \ --protocol HTTPS \ --port 443 \ --certificates CertificateArn=<acm-certificate-arn> \ --default-actions '[{ "Type": "forward", "TargetGroupArn": "<target-group-arn>", "ForwardConfig": { "TargetGroups": [{"TargetGroupArn": "<target-group-arn>", "Weight": 1}] } }]'

그런 다음 리스너 규칙을 수정하여 호스트 헤더 변환을 추가합니다.

aws elbv2 modify-rule \ --rule-arn <default-rule-arn> \ --actions '[{ "Type": "forward", "TargetGroupArn": "<target-group-arn>", "ForwardConfig": { "TargetGroups": [{"TargetGroupArn": "<target-group-arn>", "Weight": 1}] } }]' \ --transforms '[{ "Type": "host-header", "HostHeaderConfig": { "Values": ["my-server.my-company.internal"] } }]'

5단계: 프라이빗 엔드포인트 구성

ALB DNS 이름을 로 routingDomain 사용하고 퍼블릭 인증서 도메인을 대상 URL로 사용합니다.

{ ... "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "<vpc-id>", "subnetIds": ["<subnet-id-1>", "<subnet-id-2>"], "endpointIpAddressType": "IPV4", "routingDomain": "internal-my-alb-1234567890.us-west-2.elb.amazonaws.com" } }, ... }

대상 구성의 대상 URL은 프라이빗 도메인이 아닌 https://my-server.my-company.com (퍼블릭 인증서 도메인)을 사용해야 합니다.

VPC 송신을 위한 서비스 연결 역할

관리형 프라이빗 엔드포인트(managedVpcResource)를 사용하여 게이트웨이 대상을 생성하면 AgentCore는 AWSServiceRoleForBedrockAgentCoreGatewayNetwork 서비스 연결 역할을 사용하여 계정에서 VPC Lattice 리소스 게이트웨이를 생성하고 관리합니다. 이 역할은 IAM 보안 주체에 필요한 iam:CreateServiceLinkedRole 권한이 있는 경우 관리형 프라이빗 엔드포인트 대상을 처음 생성할 때 자동으로 생성됩니다.

서비스 연결 역할에는 다음과 같은 주요 특성이 있습니다.

  • 로 태그가 지정된 VPC Lattice 리소스 게이트웨이만 생성하고 삭제할 수 있습니다BedrockAgentCoreGatewayManaged: true. 직접 생성하고 관리하는 리소스 게이트웨이는 수정할 수 없습니다.

  • AgentCore는 동일한 VPC, 서브넷, 보안 그룹 및 IP 주소 유형 구성을 공유하는 대상에 대해 동일한 관리형 리소스 게이트웨이를 재사용합니다. 리소스 게이트웨이는 사용 중인 게이트웨이 대상이 없는 경우에만 삭제됩니다.

  • 관리형 Lattice에 대한 리소스 구성은 계정이 아닌 AgentCore 서비스 계정에서 생성됩니다. VPC Lattice 콘솔에는 표시되지 않습니다.

이 역할 생성, 편집 및 삭제에 대한 전체 정책 문서 및 지침은 게이트웨이 서비스 연결 역할을 참조하세요.

대상 상태 및 문제 해결

프라이빗 엔드포인트로 리소스를 생성하면 AgentCore가 VPC Lattice 리소스를 설정하고 서비스 네트워크 연결을 설정하는 동안 리소스가 CREATING 상태를 거칩니다. 관련 Get API(예: GetGatewayTarget )를 호출하고 statusstatusReasons 필드를 확인하여 상태를 모니터링할 수 있습니다.

다음 표에서는 일반적인 상태 값과 그 의미를 설명합니다.

Status 설명

CREATING

AgentCore는 VPC Lattice 리소스를 설정하고 서비스 네트워크 연결을 설정하고 있습니다. 이 작업은 최대 몇 분 정도 걸릴 수 있습니다.

READY

프라이빗 엔드포인트가 구성되고 대상이 요청을 수신할 준비가 되었습니다.

FAILED

대상 생성에 실패했습니다. 자세한 내용은 statusReasons 필드를 확인하세요. 일반적인 원인에는 IAM 권한 누락 또는 잘못된 리소스 구성 식별자가 포함됩니다.

다음 표에서는 일반적인 문제와 해결 방법을 설명합니다.

문제 Solution

IAM 권한 오류와 함께 대상 생성 실패

IAM 보안 주체에 bedrock-agentcore.amazonaws.com에 대한 iam:CreateServiceLinkedRole 권한이 있는지 확인합니다. 자체 관리형 Lattice의 경우 사전 조건에 나열된 필수 VPC Lattice 권한이 있는지 확인합니다.

대상 생성 후 연결 오류와 함께 도구 호출 실패

리소스 게이트웨이와 연결된 보안 그룹이 프라이빗 리소스에서 사용하는 포트에서 인바운드 트래픽을 허용하는지 확인합니다. 또한 프라이빗 리소스가 실행 중이고 지정된 서브넷에서 액세스할 수 있는지 확인합니다.

TLS 오류와 함께 도구 호출 실패

프라이빗 리소스가 프라이빗 CA에서 발급한 인증서를 사용하는 경우 인증서의 주체 대체 이름(SAN)이 MCP 엔드포인트 또는 OpenAPI 서버 URL의 도메인과 일치하는지 확인합니다. 라우팅 도메인을 사용하는 경우 라우팅 도메인이 프라이빗 리소스에 TLS를 올바르게 전달하는지 확인합니다.

리소스 구성을 찾을 수 없음(자체 관리형)

교차 계정 시나리오의 경우 대상을 생성하기 전에 게이트웨이 소유자 계정에서 AWS RAM 리소스 공유가 수락되었는지 확인합니다.

제한 사항 및 고려 사항

AgentCore에 VPC 송신을 사용할 때 다음 제한 사항에 유의하세요.

  • 교차 계정 : 교차 계정 프라이빗 연결에는 자체 관리형 Lattice 리소스 옵션이 필요합니다. 관리형 VPC 리소스는 교차 계정 시나리오를 지원하지 않습니다.

  • DNS TTL 구성: VPC Lattice는 IP 기반 라우팅을 사용합니다. 롤링 배포 중 IP 주소 변경으로 인해 연결이 중단되지 않도록 리소스 구성 도메인의 DNS TTLs이 적절하게 구성되어 있는지 확인합니다.