Configuración de la salida de VPC de Amazon Bedrock AgentCore Gateway para los destinos de la puerta de enlace
El servicio AgentCore Gateway proporciona una gestión del tráfico de salida segura y controlada para sus aplicaciones, lo que permite una comunicación fluida con los recursos de su Virtual Private Cloud (VPC). Este documento describe cómo fluye el tráfico de salida a través de la AgentCore puerta de enlace para llegar a los recursos de la VPC. Conocerá los tipos de destino de puerta de enlace compatibles (servidores Lambda, API Gateway y MCP mediante AgentCore Runtime), sus requisitos de configuración y los métodos de autenticación compatibles con cada tipo de destino. En esta guía, se describen las consideraciones de seguridad, los mecanismos de enrutamiento y las prácticas recomendadas necesarios para permitir un flujo de tráfico de salida adecuado y, al mismo tiempo, mantener el aislamiento de la red y seguir el principio del mínimo privilegio en toda la arquitectura.
MCP
AgentCore Gateway es compatible con los servidores del Model Context Protocol (MCP) como puntos finales de destino, lo que proporciona opciones de implementación flexibles para cumplir con los diversos requisitos de los clientes. Los servidores MCP se pueden configurar de varias formas en función de las necesidades de infraestructura y los requisitos de seguridad.
Los objetivos de MCP pueden ser de dos tipos: no estar alojados en AgentCore Runtime o AgentCore Gateway, o estar alojados en ellos. Analizamos ambos a continuación.
Los MCP no están alojados en AgentCore
AgentCore Gateway admite la conexión a servidores MCP autohospedados que se ejecutan dentro de su VPC mediante puntos de enlace privados con tecnología Amazon VPC Lattice. Puede configurar un destino privateEndpoint en su puerta de enlace para enrutar el tráfico de forma privada a su servidor MCP sin exponerlo a la Internet pública.
En el siguiente ejemplo, se crea un destino de servidor MCP privado mediante Lattice gestionado:
{ "name": "my-private-mcp-target", "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0abc123def456", "subnetIds": ["subnet-0abc123", "subnet-0def456"], "endpointIpAddressType": "IPV4", "securityGroupIds": ["sg-0abc123def"] } }, "targetConfiguration": { "mcp": { "mcpServer": { "endpoint": "https://my-mcp-server.internal.example.com/mcp" } } } }
Si desea enrutar el tráfico a través de un componente intermedio, como un punto final de VPC o un balanceador de cargas interno, puede especificar un. routingDomain Para obtener más información, consulta Redirigir el tráfico a través de un dominio intermedio.
Si su servidor MCP utiliza un certificado TLS emitido por una entidad de certificación privada, puede colocar un Application Load Balancer interno con un certificado ACM público delante. Para obtener más información, consulte Solución alternativa para los certificados privados: ALB.
Para obtener información sobre Lattice autogestionado, configuraciones multicuenta y configuraciones avanzadas, consulte Conectarse a recursos privados de su VPC mediante VPC Lattice.
AgentCore Runtime o Gateway
AgentCore Runtime proporciona soporte nativo para la comunicación con los recursos de su VPC mediante un enfoque de infraestructura gestionada. Toda la comunicación entre AgentCore Gateway y AgentCore Runtime se mantiene en la AWS red troncal, lo que garantiza que sus datos nunca pasen por la Internet pública (excepto en el caso de las llamadas entre regiones a centros de datos de China). Para obtener más información, consulte la sección Conectividad
Para la autorización saliente de AgentCore Gateway a AgentCore Runtime, se admiten dos métodos de autenticación: sin autorización (no se recomienda para uso en producción) y OAuth con concesión de credenciales de cliente (para la autenticación de máquina a máquina). Cuando no se configura ninguna autorización, la solicitud de AgentCore Gateway a AgentCore Runtime no contiene ningún token de autenticación. Esta arquitectura proporciona una ruta de conexión perfecta y, al mismo tiempo, mantiene el aislamiento de seguridad. Como práctica recomendada de seguridad, configure permisos de autenticación y autorización restrictivos tanto para AgentCore Runtime como para AgentCore Gateway, limitando el acceso únicamente a los recursos y operaciones necesarios para su caso de uso específico. Para configurar una identidad de OAuth para que AgentCore Gateway la utilice para la salida y la entrada en tiempo de AgentCore ejecución, utilice los siguientes documentos:
Ejemplo CreateGatewayTarget con AgentCore Runtime como objetivo
El siguiente ejemplo muestra cómo crear un destino de puerta de enlace con AgentCore Runtime:
POST /gateways/gatewayIdentifier/targets/ HTTP/1.1 Content-type: application/json { "clientToken": "string", "credentialProviderConfigurations": [ { "credentialProvider": { "oauthCredentialProvider": { "providerArn": "string", "scopes": [ "string" ], ... } }, "credentialProviderType": "OAUTH" } ], "description": "string", "metadataConfiguration": { "allowedQueryParameters": [ "string" ], "allowedRequestHeaders": [ "string" ], "allowedResponseHeaders": [ "string" ] }, "name": "string", "targetConfiguration": { "mcp": { "mcpServer": { "endpoint": "https://bedrock-agentcore.<region>.amazonaws.com/runtimes/<runtime-id>/invocations?qualifier=DEFAULT&accountId=<account-id>" } } } }
nota
Evite utilizar una URL de punto final de VPC (VPCE) privateEndpoint para evitar un salto de red adicional innecesario. En su lugar, utilice el punto final AgentCore de ejecución directo, con el que el tráfico permanece en la AWS red troncal.
Abra el objetivo de la API
Punto final de API Gateway mediante Open API Target
Si tu API Gateway no se puede añadir directamente como destino, siempre puedes exportar el recurso como una especificación de OpenAPI e importar la especificación a Gateway AgentCore como un destino de OpenAPI.
Si tienes API REST privadas en API Gateway, sigue estas instrucciones: API REST privadas en API Gateway.
Otros puntos de conexión
Puede configurar los destinos de Open API para que lleguen a puntos de enlace privados dentro de su VPC mediante privateEndpoint la configuración. AgentCore Gateway utiliza Amazon VPC Lattice para establecer una conectividad privada con su punto final sin exponerlo a la Internet pública.
El siguiente ejemplo crea un destino OpenAPI privado mediante Lattice gestionado:
{ "name": "my-private-openapi-target", "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0abc123def456", "subnetIds": ["subnet-0abc123", "subnet-0def456"], "endpointIpAddressType": "IPV4", "securityGroupIds": ["sg-0abc123def"] } }, "targetConfiguration": { "mcp": { "openApiSchema": { "inlinePayload": "<your OpenAPI spec JSON with server URL pointing to your private endpoint>" } } } }
Si desea enrutar el tráfico a través de un componente intermedio, como un punto final de VPC o un balanceador de cargas interno, puede especificar un. routingDomain Para obtener más información, consulta Redirigir el tráfico a través de un dominio intermedio.
Si su terminal utiliza un certificado TLS emitido por una entidad de certificación privada, puede colocar un Application Load Balancer interno con un certificado ACM público delante. Para obtener más información, consulte Solución alternativa para los certificados privados: ALB.
Para obtener información sobre Lattice autogestionado, configuraciones multicuenta y configuraciones avanzadas, consulte Conectarse a recursos privados de su VPC mediante VPC Lattice.
nota
La privateEndpoint configuración se aplica a un único dominio del esquema de OpenAPI. Si su esquema hace referencia a varios puntos finales de servidor con dominios diferentes, abra un caso de AWS SupportprivateEndpointOverrides solicitar asistencia.
Smith, objetivo
Actualmente, los objetivos de Smithy no admiten la configuración de puntos finales privados (privateEndpoint). Si tu objetivo de Smithy requiere conectividad privada, abre un caso de AWS Support
API Gateway
AgentCore Gateway admite API Gateway como tipo de destino, que puede servir como capa intermedia para acceder a los recursos de la VPC. AgentCore Gateway admite específicamente las puertas de enlace API REST configuradas únicamente con puntos de enlace regionales. Si bien la comunicación VPC directa desde la puerta de enlace no está disponible actualmente (esta función está prevista para una versión futura), la puerta de enlace se comunica con la API Gateway a través de la AWS red troncal, lo que garantiza que el tráfico nunca atraviese la Internet pública (excepto en el caso de las llamadas entre regiones a los centros de datos de China). Luego, la API Gateway puede comunicarse con los recursos mediante VPC Link, lo que crea una vía segura para que la AgentCore puerta de enlace llegue a los servicios internos y, al mismo tiempo, mantenga el aislamiento de la red.
Para implementar las mejores prácticas de seguridad, configure su API Gateway para restringir el tráfico entrante exclusivamente al servidor principal de AgentCore Gateway o a la clave de API configurada, evitando así el acceso no autorizado desde otras fuentes. Para la autorización saliente de AgentCore Gateway a API Gateway, solo se admiten dos métodos de autenticación: la IAM-based autenticación (mediante el rol de servicio de puerta de enlace para autenticarse con la versión 4 de AWS Signature) y la autenticación con clave API (gestionada por AgentCore Gateway); la OAuth-based autorización y las pasarelas API entre cuentas no son compatibles con los objetivos de API Gateway; utilice el punto final de API Gateway a través de Open API Target para ellos. Limite los permisos de la función de ejecución de API AgentCore Gateway para invocar solo el punto final de API Gateway específico requerido, en lugar de conceder un acceso amplio a API Gateway, garantizando que la puerta de enlace no pueda interactuar con recursos de API no deseados y manteniendo el principio de privilegios mínimos en toda su arquitectura.
Las etapas de la API REST de Amazon API Gateway como objetivos
Permisos para la integración de API Gateway mediante IAM Auth
La política de recursos de API Gateway está restringida a AgentCore Gateway
La siguiente política de recursos restringe el acceso de API Gateway a AgentCore Gateway:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "execute-api:Invoke", "Resource": [ "arn:aws:execute-api:us-west-2:111122223333:rest-api-id/api-stage/*/*" ], "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-west-2:111122223333:gateway/my-gateway-d4jrgkaske" } } } ] }
AgentCore Política de funciones de ejecución de Gateway
La siguiente política otorga permiso a la puerta de enlace para invocar la API Gateway:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-west-2:111122223333:abcd123/prod/*/*" ] } ] }
AgentCore Política de confianza de Gateway Execution Role
La siguiente política de confianza permite a AgentCore Gateway asumir la función de ejecución:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-west-2:111122223333:gateway/*" } } } ] }
API de REST privadas en API Gateway
Los destinos de API Gateway con puntos de conexión privados no se admiten de forma nativa. Sin embargo, puedes exportar tu API Gateway privada como un esquema de OpenAPI y usar un destino de API abierta con ese esquema, configurado con un. privateEndpoint Configure el routingDomain nombre DNS de su punto de conexión de VPC (VPCE) de API Gateway y asegúrese de que la URL del servidor de esquemas OpenAPI utilice el dominio que coincide con su certificado TLS público.
{ "name": "my-private-apigw-target", "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0123456789abcdef0", "subnetIds": ["subnet-0123456789abcdef0", "subnet-0abcdef1234567890"], "endpointIpAddressType": "IPV4", "routingDomain": "<vpce-id>.execute-api.<region>.vpce.amazonaws.com" } }, "targetConfiguration": { "mcp": { "openApiSchema": { "inlinePayload": "<OpenAPI spec JSON with server URL matching the public certificate domain for your API Gateway, for example https://<api-id>.execute-api.<region>.amazonaws.com>" } } } }
Para obtener más información sobre la configuración de los terminales privados, consulte Conectarse a recursos privados de su VPC mediante VPC Lattice.
Lambda
AgentCore Gateway admite los objetivos de Lambda como uno de sus tipos de destino, lo que permite invocar sin problemas las funciones de Lambda que pueden comunicarse con los recursos de la VPC. Esta funcionalidad está disponible de forma inmediata y no requiere ninguna configuración adicional por parte de los clientes: la puerta de enlace puede invocar inmediatamente las funciones de Lambda que se hayan configurado con acceso a la VPC para que lleguen a sus recursos internos, como bases de datos, API u otros servicios. Para mantener las mejores prácticas de seguridad, se recomienda encarecidamente configurar la función de ejecución de AgentCore Gateway con permisos mínimos, limitándola específicamente a invocar solo la función de Lambda prevista en lugar de conceder amplios permisos de ejecución de Lambda. Este principio de privilegios mínimos garantiza que la puerta de enlace, o cualquier otra persona que llame y utilice la misma función, no pueda invocar inadvertidamente funciones Lambda no deseadas, lo que reduce la superficie de ataque a la seguridad y mantiene estrictos controles de acceso en su entorno. AWS
Proveedores de identidad privados
AgentCore ahora admite la conexión a proveedores de identidad OAuth privados tanto para los proveedores de autorizaciones JWT entrantes como para los proveedores de credenciales OAuth salientes. Esto le permite usar servidores autohospedados, IdPs como Keycloak PingFederate, u otros servidores de OIDC-compliant autorización que se ejecuten dentro de su VPC sin exponerlos a la Internet pública.
Para obtener instrucciones de configuración detalladas, consulte Conectarse a proveedores de identidad privados en su VPC.
Como alternativa, puedes usar una función Lambda del interceptor para la autenticación entrante y anular el encabezado de autorización en la Lambda del interceptor para usarla con la autenticación saliente:
Limitaciones y consideraciones
-
Se requiere autorización de entrada: los destinos de puerta de enlace configurados con a
privateEndpointno se pueden utilizarNO_AUTHcomo tipo de autorizador de entrada a menos que se configure un interceptor Lambda en la puerta de enlace.
Para conocer las limitaciones adicionales relacionadas con la conectividad entre cuentas y la configuración de DNS TTL, consulte Limitaciones y consideraciones en Conectarse a recursos privados de su VPC mediante VPC Lattice.