Amazon Bedrock AgentCore runtime дає кожній сесії агента автентифікований URL, через який можна відкрити dev-сервер, запущений усередині ізольованої microVM.
Для білдера це скорочує цикл рев'ю. Агент зберігає файл, а зміна з'являється в браузері за секунди, без окремого деплою. Але URL живе лише до кінця сесії й вимагає облікові дані в кожному запиті, тому це інструмент перегляду, а не хостингу.
Чим session endpoint відрізняється від runtime endpoint?
Runtime endpoint (наприклад, DEFAULT) веде до самого агента й визначає, яку його версію викликають, а session endpoint веде до того, що агент запустив у сесії, за даними Amazon Web Services.
Запити до агента далі йдуть через InvokeAgentRuntime. У відповіді приходить заголовок X-Amzn-Bedrock-AgentCore-Runtime-Session-Endpoint-Url, а в SDK він доступний як sessionEndpointUrl. Заголовок необовʼязковий: runtime не повертає його, якщо session endpoints не ввімкнено.
Як відкрити прев'ю з браузера, якщо запити підписані?
Браузер сам не додасть підпис SigV4 чи bearer-токен до запитів сторінки, тому клієнт Session endpoint в SDK bedrock-agentcore піднімає локальний endpoint на вашій машині. У прикладі, за даними AWS ML, це http://localhost:8088: він додає облікові дані до кожного запиту й WebSocket-рукостискання та пересилає їх далі.
У прикладі агент працює на порту 8080 і редагує файли чотирма інструментами: list, read, write, edit. Dev-сервер Vite стоїть на порту 8090 й надсилає зміни в браузер через свій hot-reload WebSocket. Для runtime з IAM викликачу потрібен дозвіл bedrock-agentcore:InvokeAgentRuntimeProxy на runtime та його endpoint. Для runtime з JWT-авторизатором у кожному запиті йде bearer-токен. Знання URL доступу не дає.
Що налаштувати на dev-сервері, щоб прев'ю відкрилося?
Якщо dev-сервер перевіряє заголовок Host, його треба налаштувати на запити від runtime. Проксі не передає hostname session endpoint, застосунок бачить внутрішній hostname runtime, а заголовка X-Forwarded-Host немає. Для Vite потрібно виставити server.allowedHosts у true, для webpack-dev-server devServer.allowedHosts у 'all', для Django налаштувати ALLOWED_HOSTS.
З абсолютними URL те саме: якщо застосунок будує їх із Host, вони вказують на внутрішню адресу, недоступну клієнту. Посилання, ресурси й редиректи мають бути відносними.
Є й обмеження платформи. Session endpoints підтримують microVM-runtime, але не Instances with capacity providers, а ingress іде через публічний HTTPS, тому AWS PrivateLink не підтримується.
Що це означає для України?
У наведених джерелах немає списку регіонів чи країн для Session endpoints, і Україна там не згадана, тож доступність в Україні офіційно не вказана. Ціни в джерелах теж немає.
Що робити зараз
- Задайте allowedPorts у CreateAgentRuntime: від 1 до 5 записів, кожен з одного порту або діапазону в межах від 8000 до 12000, без зарезервованих портів (зокрема 8443). Діапазони не повинні перетинатися.
- Запускайте dev-сервер на 0.0.0.0. Додавання порту в allowedPorts сервер не стартує.
- Налаштуйте перевірку Host: server.allowedHosts: true у Vite.
- Видайте ролям, які відкривають прев'ю, дозвіл bedrock-agentcore:InvokeAgentRuntimeProxy.
- Готовий застосунок для користувачів деплойте окремо, наприклад в AWS Amplify Hosting: так радить сам AWS.





