Django на Google App Engine подключение к Cloud SQL, не удается подключиться
У меня есть приложение Django, развернутое на App Engine.
Внутри того же проекта я настроил экземпляр MySQL с частным IP.
Примечание: Я использую эту БД для локальной разработки, и могу подключиться к ней через свой ноутбук, так как я внес IP-адрес в белый список, поэтому я знаю, что могу, по крайней мере, подключиться к ней.
В соответствии с инструкциями в руководстве по эксплуатации, найденном здесь: https://cloud.google.com/sql/docs/mysql/connect-app-engine-standard
Я сделал следующее:
- Установите мою облачную SQL инстанцию с частным IP
- Установите коннектор доступа к VPC без сервера (вот где, как мне кажется, я ошибаюсь) с диапазоном IP-адресов 10.8.0.0/20 .
- Задайте в settings.py словарь DATABASES, чтобы попытаться подключиться к каждому из следующих IP-адресов, но все попытки оказались безуспешными: Частный IP (x.x.x.x), указанный на странице SQL сервера, на порт 3306. 127.0.0.1 в соответствии с инструкциями на веб-странице google. Я попробовал 10.174.0.0, потому что он указан как "Внутренний диапазон IP" в области сетей VPC. И, наконец, от отчаяния, 10.8.0.0, потому что это пример, приведенный в качестве подсказки в текстовом поле. .
- В графическом интерфейсе Cloud SQL я установил "Network" на Default.
Все потерпели неудачу, но по-разному.
Частный IP по крайней мере дал мне ошибку Django Debug, говорящую "x.x.x.x.x не может быть подключен через MySQL"
На 127.0.0.1 у меня такая же ошибка.
10.8.0.0 выдал мне ошибку "502 Bad Gateway (nginx) error.
Я не знаю, что я делаю неправильно. Инструкции мне не ясны. Особенно смущает эта строка:
"Создайте коннектор Serverless VPC Access в той же сети VPC, что и ваш экземпляр Cloud SQL."
Как узнать, в какой сети VPC находится мой экземпляр Cloud SQL? Я перехожу к сетям VPC и вижу колонку "внутренние диапазоны IP", а регион, в котором я развернул ресурс Cloud SQL, - это что-то вроде 10.171.0.0. Это и есть сеть VPC?
Я только что протестировал документацию, с которой вы работаете, и я не получил никакого сообщения об ошибке с частным IP.
Важно помнить о требованиях к Private IP и, как вариант, вы можете указать диапазон выделенных IP-адресов для ваших экземпляров, которые будут использоваться для соединений, разверните опцию "show allocated IP range" и выберите диапазон IP-адресов из выпадающего меню.
Чтобы просмотреть, в какой сети VPC находится ваш экземпляр Cloud SQL, необходимо выбрать сеть VPC, а затем просмотреть столбец экземпляров.