У вашего инстанса Cloud SQL нет публичного IP.
Доберитесь до него по имени, без бастион-хоста.
AgentsRoom запускает Cloud SQL Auth Proxy, когда вы открываете подключение, и направляет на него свой клиент баз данных. Вы указываете имя подключения к инстансу, project:region:instance, или выбираете его из списка, который видит ваш собственный вход в gcloud.
Прокси авторизуется вашими Application Default Credentials, поэтому AgentsRoom не хранит ключ сервисного аккаунта. С аутентификацией в базе данных через IAM пароля к базе тоже нет. А ИИ-агент для кодинга может делать запросы к тому же инстансу, только на чтение.
Как AgentsRoom добирается до инстанса Cloud SQL по приватному IP через Cloud SQL Auth Proxy, ничего не храня на стороне приложения.
Инстанс Cloud SQL только с приватным IP: настройка правильная и при этом неудобная. База живёт в вашем VPC, её публичный IP выключен, и достучаться до неё могут только машины внутри этой сети. А потом нужно посмотреть три строки, чтобы разобраться с багом, причём с ноутбука.
Google уже даёт ответ: Cloud SQL Auth Proxy. Он открывает зашифрованное соединение с инстансом, авторизованное вашей учётной записью Google, а не списком разрешённых IP-адресов, и отдаёт его как локальный порт. Неудобно всё, что вокруг: установить его, помнить имя подключения к инстансу, запускать в терминале перед открытием клиента и потом забывать, что он всё ещё работает.
AgentsRoom берёт это на себя. В поле «Подключаться через» подключения к базе вы выбираете Google Cloud SQL, указываете инстанс, при необходимости отмечаете «Приватный IP» или «Аутентификация в базе данных через IAM», и дальше открыть эту базу можно одним кликом. Прокси стартует вместе с подключением и останавливается вместе с ним.
Обычные обходные пути всегда чего-то стоят
Три ответа на одну и ту же проблему и цена, которую приходится платить за каждый.
Бастион-хост только ради этого
ВМ Compute Engine с портом SSH, которую держат в VPC лишь для того, чтобы время от времени пробросить туннель к базе. Её нужно обновлять, она стоит денег каждый час, а её SSH-ключи и правила файрвола расходятся с реальностью по мере смены команды.
Публичный IP и список разрешённых адресов
Включить публичный IP и добавить домашний адрес в авторизованные сети можно, и это работает, пока адрес не сменится, а всё это время база слушает интернет. Это исключение, которое никто никогда не убирает.
Ключ сервисного аккаунта на ноутбуке
Скачать JSON-ключ, чтобы запустить прокси, это короткий путь, о котором жалеют все: долгоживущие учётные данные в папке «Загрузки», скопированные в скрипты и промпты, которые никто не ротирует и не может проследить.
От приватного инстанса Cloud SQL до набора результатов
Четыре шага, сделанных один раз, а потом всё в один клик.
Войдите через gcloud, один раз
Выполните на своей машине gcloud auth application-default login. Созданные при этом Application Default Credentials прокси использует, чтобы добраться до инстанса. AgentsRoom ничего из этого не читает и не хранит.
Выберите инстанс в поле «Подключаться через»
Создайте подключение MySQL или PostgreSQL и выберите Google Cloud SQL в поле «Подключаться через». Введите имя подключения к инстансу, project:region:instance, или нажмите «Показать мои инстансы», чтобы выбрать его из тех, что видит ваш вход в gcloud. Хост и порт исчезают: адресом служит сам инстанс.
Выберите приватный IP и аутентификацию IAM
Отметьте «Приватный IP», если у инстанса нет публичного адреса, а ваша машина попадает в его VPC через VPN или Interconnect. Отметьте «Аутентификация в базе данных через IAM», чтобы входить своей учётной записью Google: поле пароля исчезает, а пользователем становится ваш пользователь базы IAM.
Делайте запросы сами или поручите это агенту
Открытие подключения резервирует свободный порт loopback, запускает на нём cloud-sql-proxy и ждёт, пока тот начнёт принимать TCP-соединения. Консоль подключается к 127.0.0.1 как к любому другому подключению, а ИИ-агент может делать запросы через MCP, только на чтение. Закрытие подключения останавливает прокси.
Команда, которую запускает AgentsRoom
Ничего не переписано заново. AgentsRoom запускает как дочерний процесс собственный бинарник cloud-sql-proxy от Google (версия 2), передавая аргументы напрямую, а не через оболочку. Если вы когда-нибудь запускали прокси вручную, это та самая строка, которую вы уже знаете.
cloud-sql-proxy acme-prod:europe-west1:orders \
--address 127.0.0.1 --port 54321 \
--private-ip \
--auto-iam-authnИнстанс и две опции берутся из сохранённого вами подключения. Локальный порт операционная система выбирает в момент открытия.
Прокси принимает локальное соединение до всяких проверок, а потом разрывает его и пишет в лог, что не так. AgentsRoom читает этот лог и называет реальную причину: прокси не установлен, ваш вход в gcloud истёк (с командой, которую нужно выполнить), у вашей учётной записи нет роли Cloud SQL Client, у инстанса нет приватного IP или имя инстанса указано неверно.
Что должно быть выполнено, чтобы всё заработало
AgentsRoom работает с вашей настройкой Google Cloud и не заменяет её. Это те же условия, которых требует сам прокси.
cloud-sql-proxy на вашей машине
Версия 2 Cloud SQL Auth Proxy, доступная в PATH. Быстрее всего установить её командой gcloud components install cloud-sql-proxy; Google также выпускает её как отдельную загрузку. Если прокси нет, AgentsRoom так и говорит и называет команду.
Application Default Credentials
gcloud auth application-default login, выполненный один раз. Когда этот вход истечёт, ошибка подскажет выполнить его снова, а не покажет закрытый сокет.
Роль Cloud SQL Client
Вашему аккаунту Google нужна роль Cloud SQL Client в проекте инстанса, и там должен быть включён Cloud SQL Admin API. Для аутентификации в базе данных через IAM дополнительно нужны роль Cloud SQL Instance User и пользователь IAM на инстансе.
gcloud для списка выбора
«Показать мои инстансы» выполняет gcloud sql instances list в вашем активном проекте или в проекте, который вы начали вводить. Без gcloud имя подключения по-прежнему можно ввести вручную.
Маршрут до VPC для приватного IP
Приватный IP означает, что сама ваша машина должна достучаться до VPC инстанса через VPN, Interconnect или машину внутри сети. Без такого маршрута оставьте «Приватный IP» выключенным и используйте публичный IP с шифрованием прокси.
Что прокси делает и от чего отказывается
Свойства, от которых зависит, безопасно ли оставлять его настроенным на ноутбуке.
Только loopback
Прокси слушает 127.0.0.1 и больше ничего. База никогда не публикуется заново в локальной сети, так что Wi-Fi в кафе не становится дорогой к продакшену.
Порт выбирает ОС
AgentsRoom просит у операционной системы свободный порт и передаёт его прокси. Никакого фиксированного порта, который надо помнить, и никаких конфликтов с другим прокси, запущенным вручную.
Готово значит готово
Подключение открывается, только когда локальный порт принимает TCP, а прокси, который сразу завершился, сообщает причину, которую сам вывел. Никаких произвольных пауз, никакого клиента, подключившегося слишком рано.
Ключ не хранится
Прокси авторизуется вашими Application Default Credentials. AgentsRoom хранит имя подключения к инстансу и две опции, ни одна из которых не является учётными данными, а ключ сервисного аккаунта в приложение не попадает никогда.
База остаётся только для чтения
Подключение к базе создаётся только для чтения. Для записи нужно сделать подключение доступным для записи и явно подтвердить действие, причём строже для подключения, помеченного как продакшен.
Одна команда на вызов
Каждый вызов несёт ровно одну команду, поэтому за точкой с запятой ничего не спрячется, а наборы результатов ограничены, чтобы широкий запрос не завалил окно или контекст агента.
Почему это меньше доступа, а не больше
Со стороны инстанса ничего не открывается. Публичный IP может оставаться выключенным, ни одна сеть не добавляется в список авторизованных, и не нужно держать ВМ с портом SSH ради редкого запроса. Прокси шифрует соединение с инстансом от начала до конца.
Авторизация остаётся там, где ею управляет ваша организация: в вашей учётной записи Google и её ролях IAM. Доступ, выданный этой учётной записи, фиксируется в логах как любое другое подключение к Cloud SQL и заканчивается в день, когда роль отозвана. AgentsRoom хранит имя инстанса, выбор «Приватный IP» и выбор IAM, и ничего, что мог бы воспроизвести тот, кто это прочитал.
Со стороны базы действуют те же ограничения, что и у любого подключения AgentsRoom: по умолчанию только чтение, одна команда на вызов, ограниченные наборы результатов и флаг продакшена, ужесточающий подтверждение записи. ИИ-агент, делающий запросы через MCP, получает набор результатов, но не учётные данные, и не может писать, пока вы не сделали подключение доступным для записи и не включили для него «Разрешить агентам запись».
MySQL и PostgreSQL, SQL Server пока нет
В Cloud SQL работают MySQL, PostgreSQL и SQL Server. AgentsRoom добирается через прокси до первых двух, а клиента SQL Server у него сегодня нет. AlloyDB, у которого свой прокси, тоже не поддерживается.
Какой движок или сервис появится следующим, решают запросы пользователей. Если вашего не хватает, напишите, какого именно, в публичном бэклоге, и он будет учтён.
Запросить свой движок баз данныхАгент тоже может делать запросы, только на чтение
Когда подключение создано, ИИ-агент для кодинга использует его через AgentsRoom MCP, называя по имени: db_list, db_schema, чтобы обойти таблицы и столбцы, db_query для одной команды с ограничением числа строк. Агент также может сам зарегистрировать подключение к Cloud SQL через db_connection_new или db_connection_save, указав имя подключения к инстансу.
AgentsRoom сам запускает прокси, когда его просит агент, поэтому агент никогда не работает с учётными данными Google, паролем базы или номером порта. Назад возвращается только набор результатов. Для записи нужны подключение, доступное для записи, и настройка «Разрешить агентам запись», по умолчанию выключенная.
Агент, отлаживающий проблему на продакшен-реплике, читает строки, которые объясняют баг, без учётных данных, которые могли бы утечь в его контекст, и без пути к базе после закрытия приложения.
FAQ
Как подключиться к инстансу Cloud SQL, у которого есть только приватный IP?
Создайте подключение MySQL или PostgreSQL, выберите Google Cloud SQL в поле «Подключаться через», укажите имя подключения к инстансу и отметьте «Приватный IP». AgentsRoom запускает Cloud SQL Auth Proxy с --private-ip на порту loopback и подключает к нему свой клиент. Ваша машина должна доставать до VPC инстанса, например через VPN или Interconnect.
Хранит ли AgentsRoom ключ сервисного аккаунта?
Нет. Прокси авторизуется теми Application Default Credentials, которые создал на вашей машине gcloud auth application-default login. AgentsRoom хранит имя подключения к инстансу и две опции, ни одна из которых не является учётными данными.
Можно ли подключиться без пароля к базе?
Да, с аутентификацией в базе данных через IAM. Отметьте её в подключении, и прокси запустится с --auto-iam-authn: он войдёт вашей учётной записью Google, поле пароля исчезнет, а пользователем станет ваш пользователь базы IAM. На инстансе должна быть включена аутентификация IAM, а этот пользователь создан.
Что нужно установить?
Cloud SQL Auth Proxy версии 2 (gcloud components install cloud-sql-proxy или отдельная загрузка от Google) и вход в gcloud для Application Default Credentials. Сам gcloud нужен только для кнопки «Показать мои инстансы».
Что будет, когда мой вход в gcloud истечёт?
Прокси отклоняет соединение и пишет причину в лог. AgentsRoom читает этот лог и показывает понятное сообщение с просьбой выполнить gcloud auth application-default login вместо голой ошибки подключения. После этого вы повторяете попытку.
Какой локальный порт используется и кто может до него достучаться?
Свободный порт выбирает операционная система при открытии подключения, а прокси слушает только 127.0.0.1. Ничто в локальной сети до него не доберётся, и прокси останавливается, когда подключение закрывается или приложение завершается.
Какие движки Cloud SQL поддерживаются?
Cloud SQL for MySQL и Cloud SQL for PostgreSQL. Cloud SQL for SQL Server не поддерживается, потому что у AgentsRoom пока нет клиента SQL Server; запросите его в публичном бэклоге, и он будет учтён.
Работает ли это на Windows и Linux?
Да. cloud-sql-proxy это нативный бинарник для macOS, Windows и Linux, и AgentsRoom запускает его одинаково на всех трёх. Мобильное приложение показывает те же подключения и делает запросы к ним только на чтение через ваш компьютер.
Может ли ИИ-агент делать запросы к базе через прокси?
Да, по умолчанию только на чтение. Агент называет сохранённое подключение через AgentsRoom MCP, приложение само запускает прокси и выполняет команду, а назад возвращается только набор результатов. Агент никогда не получает учётные данные Google или пароль базы, а db_query отклоняет всё, кроме чтения, если подключение не доступно для записи и вы не включили для него «Разрешить агентам запись».
Вам также может понравиться
Подключения к базам данных
Сохраняйте подключения к MySQL, PostgreSQL и MongoDB, добирайтесь до базы в приватной подсети через SSH-туннель или сессию AWS SSM и дайте ИИ-агентам делать запросы через MCP. По умолчанию только чтение, один запрос за вызов, ограниченная выдача, и пароль до агента не доходит. Экспорт, импорт и копирование базы прямо в другую базу тоже входят в набор.
RDS через AWS SSM
Доберитесь до инстанса Amazon RDS без публичного адреса прямо со своей машины, через aws ssm start-session и документ AWS-StartPortForwardingSessionToRemoteHost. Ни бастиона, который надо обслуживать, ни VPN, ни входящего правила для SSH. AgentsRoom открывает сессию на порту loopback и подключает через неё свой клиент баз данных. MySQL, PostgreSQL и MongoDB, то есть RDS MySQL, RDS PostgreSQL, Aurora и DocumentDB.
Менеджер секретов
Храните API-ключи, токены и пароли в связке ключей операционной системы, ссылайтесь на них через {{secret:NAME}} в dev-командах и окружениях агентов, а AgentsRoom подставит значение при запуске. Агенты видят имена, но не значения, и ничего не уходит на сервер.
SSH-подключения
Сохраняй свои SSH-подключения, открывай встроенный терминал по SSH и запускай Claude Code, Codex или Antigravity CLI прямо на удалённом сервере или VPS. Авторизация по SSH-ключу или паролю, профили подключений для каждого проекта, отдельный SSH-клиент не нужен.
Делайте запросы к приватному инстансу Cloud SQL
Скачайте AgentsRoom, выберите инстанс Cloud SQL и делайте к нему запросы через Cloud SQL Auth Proxy с вашим собственным входом в gcloud: без бастион-хоста, без публичного IP, без ключа на диске.
Приложение-компаньон: следите за агентами на ходу
Используйте Claude, Codex, Antigravity CLI или другого поставщика AI.
Отправляйте баги и запросы прямо в ваш публичный бэклог.