Подключение Cloud Run к экземпляру Cloud SQL Server на C #

Если я понимаю, что вкладка «Подключения Cloud SQL» в Cloud Run должна создать экземпляр прокси-сервера Cloud SQL.

Какую строку подключения к серверу sql я должен использовать для этой работы?

Настройка: (Все в одном проекте GCP): 1. Создайте экземпляр SQL Server в Cloud Sql. 2. Загрузите образ докера в реестр контейнеров Google. Написано с использованием .netcore с кодом для подключения к SQL Server, созданным на шаге 1. 2. Создайте экземпляр службы в Google Cloud Run. 3. Укажите Подключения Cloud SQL, выберите из списка свой экземпляр сервера sql и разверните его.


person Ralph    schedule 20.03.2020    source источник
comment
Привет, @Daemon, почему тебе кажется, что он такой широкий? Вы пробовали работать со средой Google Clound Run, облачным прокси-сервером sql и облачным SQL-сервером? Я записал предысторию, что не сработало и что я уже знаю и работает правильно.   -  person Ralph    schedule 20.03.2020
comment
Привет, Ральф, ты следишь за гидом? Если вы можете предоставить инструкции по его воспроизведению, возможно, мы сможем вам помочь. У меня есть опыт работы с Cloud SQL и C # :)   -  person Mario    schedule 21.03.2020
comment
Привет, Марио, поехали. cloud.google.com/sql/docs/mysql/connect-run Моя база данных - это облачный sql-сервер. Я знаю, что облачный прокси-сервер sql работает, поскольку я могу подключить SSMS. Ссылка на облачный прокси: cloud.google.com/sql/docs/sqlserver/sql- прокси   -  person Ralph    schedule 21.03.2020
comment
1) Подключение к прокси-серверу Cloud SQL, запущенному в вашей системе разработки, не означает, что вы правильно настроили прокси-сервер в Cloud Run. 2) Имя экземпляра указано на странице Cloud SQL для вашего экземпляра. 3) Cloud Run не поддерживает доступ к Cloud SQL через прокси с использованием IP-адресации. Вы должны использовать сокеты Unix. 4) Отредактируйте свой вопрос и покажите исходный код, Dockerfile и командную строку развертывания. Делайте ссылку на внешние ссылки, все должно быть в вашем вопросе. 5) Нам не нужно читать руководство, нам нужны ваши файлы и команды сборки, чтобы помочь вам. Это требование переполнения стека.   -  person John Hanley    schedule 23.03.2020
comment
stackoverflow.com/help/minimal-reproducible-example   -  person John Hanley    schedule 23.03.2020


Ответы (2)


Я не думаю, что это пока поддерживается. Для Cloud SQL Server нет документации.

Согласно официальной документации:

После правильной настройки вы можете подключить свою службу к сокету домена unix вашего экземпляра Cloud SQL, используя формат: / cloudsql / INSTANCE_CONNECTION_NAME.

Примечание. Cloud Run (полностью управляемый) не поддерживает подключение к экземпляру Cloud SQL с помощью TCP. Ваш код не должен пытаться получить доступ к экземпляру, используя IP-адрес, например 127.0.0.1 или 172.17.0.1.

Также:

Примечание. Прокси-сервер Cloud SQL не поддерживает сокеты Unix в Windows.

Я попытался сделать это с помощью Cloud SQL Proxy с tcp и получил:

 System.Net.Internals.SocketExceptionFactory+ExtendedSocketException (111): Connection refused 127.0.0.1:1433
person marian.vladoi    schedule 22.03.2020

Я не пробовал это с помощью Cloud Run и SQL Server, но ...

  • Прокси-сервер должен сделать соединение доступным для вашего .NET-клиента на 127.0.0.1:1443 (ссылка)

  • Предполагая, что вы используете клиент базы данных, похожий на Google пример, ваша строка подключения будет:

"ConnectionString": "User Id=[[USER]];Password=[[PASS]];Server=127.0.0.1;Database=[[DB]];"

Если я правильно понял, порт по умолчанию - 1443.

NB По мнению других комментаторов, ваш вопрос был бы улучшен с более подробной информацией. Когда вы напишете, что выполняете шаги, включите ссылки. Когда вы ссылаетесь на свою конфигурацию, пожалуйста, включайте фрагменты. Люди, отвечающие на ваши вопросы, выигрывают от того, что из вопросов требуется как можно меньше информации.

person DazWilkin    schedule 22.03.2020