Amazon Bedrock AgentCore Gateway: безопасный доступ к приватным ресурсам в Amazon VPC
AI-агентам в продуктивных средах часто нужно обращаться к внутренним API, базам данных и другим приватным ресурсам, которые находятся за границами Amazon Virtual Private Cloud (Amazon VPC). Управление приватной связностью для каждого пути «агент — инструмент» увеличивает операционные издержки и замедляет внедрение. Возможности Amazon Bedrock AgentCore VPC connectivity предназначены для развертывания AI-агентов и серверов Model Context Protocol (MCP) без необходимости выводить сетевой трафик в публичный интернет. Эта возможность распространяется и на управляемый исходящий трафик Amazon VPC для Amazon Bedrock AgentCore Gateway, так что вы можете подключаться к конечным точкам внутри приватных сетей во всей вашей AWS-среде.
В этой статье вы настроите Amazon Bedrock AgentCore Gateway для доступа к приватным конечным точкам с помощью Resource Gateway — управляемого компонента, который создает Elastic Network Interfaces (ENI) прямо внутри вашего Amazon VPC, по одному на каждую подсеть. Вы рассмотрите два режима реализации — managed и self-managed — и пройдете три практических сценария: подключение к приватной конечной точке Amazon API Gateway, интеграцию с MCP-сервером на Amazon Elastic Kubernetes Service (Amazon EKS) и доступ к приватному REST API.
Ключевые термины
Ниже приведены термины, которые используются в статье. Ознакомьтесь с ними перед тем, как двигаться дальше, чтобы понять, как каждый компонент вписывается в архитектуру исходящего VPC-трафика AgentCore Gateway.
Resource VPC: Amazon VPC, в котором находится ваш приватный ресурс. Например, VPC, содержащий ваш приватно размещенный MCP-сервер или конечную точку API. Это Amazon VPC, к которому AgentCore Gateway должен получить доступ. Resource VPC может находиться как в той же учетной записи AWS, что и учетная запись AgentCore Gateway, так и в другой.
AgentCore Gateway account: учетная запись AWS, в которой вы создаете и управляете ресурсами AgentCore Gateway. Эта учетная запись может совпадать с учетной записью Resource VPC, а может и отличаться.
Resource Gateway: Resource Gateway выступает как приватная точка входа в ваш Resource VPC. При создании он выделяет по одному ENI на каждую указанную подсеть, и каждый из них находится внутри вашего VPC. Трафик от AgentCore Gateway к вашему приватному ресурсу поступает через эти ENI.
Resource Configuration: Resource configuration for VPC resources определяет конкретный ресурс, к которому AgentCore Gateway может обращаться через Resource Gateway, с идентификацией по доменному имени или IP-адресу. Вместо предоставления доступа ко всему Amazon VPC, Resource Configuration ограничивает связность одним конечным пунктом.
Service Network Resource Association: ассоциация service network resource association связывает Resource Configuration с сервисной сетью AgentCore, что позволяет службе AgentCore Gateway вызывать ваш приватный endpoint. AgentCore создает и управляет этой ассоциацией от вашего имени независимо от выбранного режима.
Как работает исходящий VPC-трафик AgentCore Gateway?
Исходящий VPC-трафик AgentCore Gateway поддерживает два режима в зависимости от того, какой уровень контроля над сетевой инфраструктурой вам нужен и как вы строите меж-VPC-связность.
Managed VPC resource
В этом режиме AgentCore Gateway берет все на себя. Вы указываете идентификатор VPC, идентификаторы подсетей и security groups в конфигурации target, а AgentCore автоматически создает и управляет VPC Resource Gateway в вашей учетной записи. Этот режим хорошо сочетается с уже существующими сетевыми архитектурами — будь то VPC peering для связности в одном или разных регионах либо hub-and-spoke-модель с AWS Transit Gateway для многовиртуальных и гибридных сред.
Следующая архитектура показывает, как AgentCore Gateway подключается к приватному Amazon API Gateway в режиме managed VPC resource.

Когда вы создаете AgentCore Gateway Target с конфигурацией managed VPC resource, AgentCore Gateway инициирует запрос и направляет его в Resource Gateway внутри вашего Resource Owner VPC. Resource Gateway передает трафик через ENI, развернутый в вашей подсети, под управлением security groups, которые вы настроили. Затем запрос с ENI достигает execute-api VPC endpoint. В режиме managed VPC Resource именно AgentCore создает и управляет Resource Gateway, а у вас есть только режим чтения для наблюдения за ним.
Self-managed Lattice resource
В этом режиме вы создаете и управляете VPC Lattice Resource Gateway и Resource Configuration до того, как ссылаетесь на них при создании target в AgentCore Gateway. Это дает вам видимость и контроль над Resource Configuration, включая количество IPv4-адресов на ENI, размещение по подсетям и правила security group. Что еще важнее, вы получаете видимость самого Resource Configuration с возможностью просматривать его, делиться им через AWS Resource Access Manager (AWS RAM) (это требуется для межаккаунтной связности), видеть связанные с ним ассоциации и при необходимости отзывать эти ассоциации.
Следующая архитектура показывает, как AgentCore Gateway подключается к приватным REST API endpoints с использованием режима self-managed lattice resource.

В режиме self-managed lattice resource вы заранее создаете Resource Gateway и Resource Configuration, а затем настраиваете AgentCore Gateway Target. При вызове CreateGatewayTarget вы передаете идентификатор Resource Configuration, чтобы связать target AgentCore Gateway с вашим приватным endpoint. Во время вызова Resource Gateway передает запрос через ENI, развернутый в вашей подсети, под управлением security groups, которые вы настроили. Затем запрос с ENI достигает execute-api VPC endpoint. В отличие от режима managed VPC Resource, именно вы владеете Resource Gateway и Resource Configuration и управляете ими.
Используйте следующую таблицу, чтобы определить, какой режим подходит вашей архитектуре. Выбирайте managed VPC resource для более простой настройки, а self-managed Lattice resource — если вам нужен контроль над жизненным циклом Resource Gateway, межаккаунтной связностью и видимостью ассоциаций.
| Параметр | AgentCore Managed VPC Resource | Self-Managed Lattice Resource |
| Сложность настройки | Просто: укажите VPC ID, subnet IDs и security group IDs. Остальное сделает AgentCore | Продвинутый вариант: вы сами создаете и управляете Amazon VPC Lattice Resource Gateway и Resource Configurations, а затем передаете идентификатор Resource Configuration каждому target |
| Потребление IPv4 | Каждый managed resource gateway использует 1 IP-адрес на ENI. Это нельзя настраивать | При использовании с Amazon Bedrock AgentCore он потребляет один IP-адрес на подсеть. Если также подключен к другим VPC Lattice service networks, потребляется больше IP-адресов в зависимости от значения ipv4AddressesPerEni в resource gateway |
| Межаккаунтная связность | Нативно не поддерживается; для межаккаунтных/меж-VPC сценариев используйте hub-and-spoke-архитектуры (VPC peering или AWS Transit Gateway). | Поддерживается с AWS Resource Access Manager (AWS RAM). Позволяет напрямую подключаться между аккаунтами без необходимости использовать VPC peering или Transit Gateway. |
| Повторное использование существующих ENI | AgentCore автоматически повторно использует один Resource Gateway и его ENI для target-ов в аккаунте, если их managedVpcResource совпадает по Amazon VPC, набору подсетей, набору security group, тегам и типу IP-адреса | Вы подключаете несколько Resource Configurations к одному принадлежащему вам Resource Gateway; target, у которого resourceConfigurationIdentifier указывает на этот Resource Gateway, использует его ENI совместно с другими |
| Управление жизненным циклом Resource Gateway | Amazon Bedrock AgentCore создает, повторно использует и удаляет Resource Gateway от вашего имени | Вы полностью управляете жизненным циклом resource gateways и resource configurations |
| Управление и видимость | Resource Configurations управляются в сервисной учетной записи Amazon Bedrock AgentCore и не видны в консоли Amazon VPC. Базовый Resource Gateway виден в вашей учетной записи только в режиме чтения | Полная видимость Resource Configurations, Service Network associations и подключенных доменов в консоли Amazon VPC Lattice. Вы можете аудитировать подключения и отзывать доступ на детальном уровне |
| Ценообразование | Только плата за обработку данных в расчете на ГБ (для данных, проходящих через Resource Gateway) | 1) почасовая плата за Service Network association; 2) плата за обработку данных в расчете на ГБ |
Начало работы с исходящим VPC-трафиком AgentCore Gateway
В этой статье вы сосредоточитесь на режиме managed VPC resource. Если хотите изучить предложение self-managed lattice resource, воспользуйтесь примерами кода. Прежде чем начать, предполагается базовое знакомство с Amazon VPC, AWS Command Line Interface (AWS CLI), Amazon Bedrock AgentCore и Amazon Bedrock AgentCore Gateway. Убедитесь, что у вас есть следующее.
- AWS Command Line Interface (AWS CLI)
- AWS Credentials
- Публичный Certificate Authority
В настоящее время AgentCore Gateway доверяет только TLS-сертификатам, подписанным публичным центром сертификации; сертификаты, подписанные частным CA, он не доверяет, поэтому рукопожатие с вашим backend завершается ошибкой. Если ваш endpoint защищен частным или самоподписанным сертификатом, рабочий пример решения можно найти на GitHub.
- AWS Identity and Access Management (IAM) permissions
Вашему IAM-принципалу нужна привилегия iam:CreateServiceLinkedRole для bedrock-agentcore.amazonaws.com, чтобы AgentCore мог создать service-linked role от вашего имени, если она еще не существует. Требуемую IAM policy см. в разделе Gateway service-linked role.
- Настройте security groups
Security group Resource Gateway контролирует, какой исходящий трафик ENI Resource Gateway могут отправлять к ресурсам внутри вашего Amazon VPC. Если вы не укажете security group при вызове API CreateGatewayTarget, будет использована группа безопасности по умолчанию.
- AgentCore Gateway
Это пошаговое руководство предполагает, что у вас уже есть AgentCore Gateway. Если вы еще не создали его, выполните:
aws bedrock-agentcore create-gateway \
--name my-gateway \
--role-arn arn:aws:iam::<account-=id>:role/AgentCoreGatewayRole
Сохраните значение gatewayId из ответа. Оно понадобится при создании AgentCore Gateway Targets в следующих шагах.
- Для подробных примеров см. репозиторий GitHub.
Приватный Amazon API Gateway
В этом разделе вы создадите target AgentCore Gateway, который направляет запросы в приватный Amazon API Gateway. Вызовите API CreateGatewayTarget со следующими параметрами. В поле openApiSchema укажите URL вашей приватной конечной точки Amazon API Gateway (https://{api-id}-{vpce-id}.execute-api.{region}.amazonaws.com/{stage}). В блоке managedVpcResource укажите идентификатор VPC, идентификаторы подсетей и идентификатор security group.
aws bedrock-agentcore-control create-gateway-target \
--region us-west-2 \
--cli-input-json '{
"gatewayIdentifier": "<GATEWAY_ID>",
"name": "private-apigw",
"description": "Private API Gateway",
"targetConfiguration": {
"mcp": {
"openApiSchema": {
"inlinePayload": "..."
}
}
},
"credentialProviderConfigurations": [...],
"privateEndpoint": {
"managedVpcResource": {
"vpcIdentifier": "<VPC_ID>",
"subnetIds": ["<SUBNET_ID_1>", "<SUBNET_ID_2>"],
"endpointIpAddressType": "IPV4",
"securityGroupIds": ["<VPCE_SG_ID>"]
}
}
}'
После выполнения команды AgentCore Gateway использует связанную с сервисом роль, чтобы развернуть Resource Gateway в вашем VPC, создавая по одному ENI на каждую указанную подсеть.
Следующая архитектурная схема показывает поток трафика.

AgentCore Gateway инициирует запрос и направляет его в Resource Gateway, развернутый внутри Resource Owner VPC. Трафик проходит через ENI внутри вашей приватной подсети, где правила security group определяют, что может пройти к следующему узлу. Затем запрос достигает execute-api VPC endpoint, который обеспечивает приватную связность с внутренней конечной точкой Amazon API Gateway. Формат URL https://{api-id}-{vpce-id}.execute-api.{region}.amazonaws.com/{stage} — это именно тот адрес, который вы указали в поле openApiSchema при вызове CreateGatewayTarget.
Приватный MCP-сервер на Amazon EKS
В этом разделе вы создадите target AgentCore Gateway, который направляет запросы к приватному MCP-серверу, работающему на Amazon EKS. Вызовите API CreateGatewayTarget со следующими параметрами. В блоке mcpServer укажите URL внутреннего endpoint MCP-сервера. В блоке managedVpcResource укажите идентификатор VPC, идентификаторы подсетей и идентификатор security group.
aws bedrock-agentcore-control create-gateway-target \
--region us-west-2 \
--cli-input-json '{
"gatewayIdentifier": "<GATEWAY_ID>",
"name": "private-apigw",
"description": "Private API Gateway",
"targetConfiguration": {
"mcp": {
"mcpServer": {
"endpoint": "https://internal.example.com/csm/mcp"
}
}
},
"credentialProviderConfigurations": [...],
"privateEndpoint": {
"managedVpcResource": {
"vpcIdentifier": "<VPC_ID>",
"subnetIds": ["<SUBNET_ID_1>", "<SUBNET_ID_2>"],
"endpointIpAddressType": "IPV4",
"securityGroupIds": ["<VPCE_SG_ID>"]
}
}
}'
После выполнения этой команды AgentCore развернет Resource Gateway в вашем VPC, создав по одному ENI на каждую указанную подсеть. Следующая архитектурная схема показывает полный путь трафика от начала до конца.

AgentCore Gateway отправляет HTTPS-запрос к вашему внутреннему endpoint. Частная hosted zone Amazon Route 53 разрешает это доменное имя во внутренний Network Load Balancer (NLB). Запрос входит в Resource Owner VPC через Resource Gateway, проходит через ENI, управляемый вашими security groups, и достигает NLB. NLB завершает TLS на порту 443 с использованием публичного сертификата AWS Certificate Manager (ACM), а затем пересылает запрос по HTTP на порт 80 в NGINX Ingress Controller, работающий на Amazon EKS, который направляет его в нужный pod.
Приватная цель REST API
В этом разделе вы создадите target AgentCore Gateway, который направляет запросы к приватной конечной точке REST API. Это подходит для любого REST API, работающего внутри вашего Amazon VPC, например для контейнеризованного микросервиса. Вызов API CreateGatewayTarget выполняется по той же схеме, что и в предыдущих разделах. В поле openApiSchema укажите вашу OpenAPI-схему, описывающую REST API. В блоке managedVpcResource укажите идентификатор VPC, идентификаторы подсетей и идентификатор security group. После того как AgentCore Gateway развернет Resource Gateway в вашем VPC, следующая архитектурная схема показывает полный путь трафика от начала до конца.

AgentCore Gateway отправляет HTTPS-запрос к вашему внутреннему endpoint. Частная hosted zone Amazon Route 53 разрешает это доменное имя во внутренний Application Load Balancer (ALB). Запрос входит в Resource Owner VPC через Resource Gateway, проходит через ENI, управляемый вашими security groups, и достигает внутреннего ALB. ALB завершает TLS на порту 443 с использованием публичного сертификата AWS Certificate Manager (ACM), а затем пересылает запрос по HTTP на порт 8000 в target group, содержащую ваши backend-серверы.
Очистка ресурсов
Чтобы избежать дальнейших начислений, удалите все ресурсы, созданные в ходе этого руководства. Для справки см. страницу ценообразования AgentCore Gateway VPC egress. Кроме того, кластеры Amazon EKS, load balancer-ы и endpoints API Gateway продолжают тарифицироваться, пока работают. Убедитесь, что ресурсы удалены, чтобы остановить списания. Если вы использовали пример из GitHub, обязательно выполните раздел очистки в конце каждого Jupyter Notebook.
Если вы использовали режим managed VPC resource, удаление Gateway Target удаляет и связанный с ним Amazon VPC Resource Gateway.
aws bedrock-agentcore delete-gateway-target \
--gateway-identifier <gateway-id> \
--target-id <target-id>
Заключение
По мере того как AI-агенты берут на себя все более сложные задачи, им нужен безопасный доступ к инструментам и сервисам, которые поддерживают ваш бизнес, и многие из них находятся внутри приватных сетей. Исходящий VPC-трафик AgentCore Gateway позволяет вашим агентам обращаться к приватным MCP-серверам, внутренним API, базам данных и локальным системам без вывода их в публичный интернет. Режим managed VPC resource напрямую интегрируется с вашим существующим VPC и требует минимальной настройки. Режим self-managed lattice resource дает более точный контроль, но требует дополнительной подготовки. Оба режима направляют трафик через Resource Gateway, который не покидает сеть AWS.
Следующие шаги
- Определите один внутренний API или MCP-сервер в вашей среде, которому поможет доступ AI-агента
- Изучите текущую архитектуру Amazon VPC, чтобы понять, какой режим — Managed VPC Resource или Self-Managed Lattice Resource — лучше соответствует вашим требованиям
- Изучите документацию Amazon Bedrock AgentCore Gateway для дополнительных вариантов настройки
- Изучите документацию Amazon VPC Lattice Resource Gateway для межаккаунтных сценариев
- Чтобы познакомиться с дополнительными схемами интеграции и расширенными конфигурациями, см. примеры на GitHub.
Материал — перевод статьи с английского.
Оригинал: Configuring Amazon Bedrock AgentCore Gateway for secure access to private resources