Как авторизовать Google App Engine в Cloud SQL (PostgreSQL)?

avatar
gcp
8 апреля 2018 в 07:10
1683
2
0

Я пытаюсь авторизовать проект Google App Engine в Cloud SQL (PostgreSQL). Я не могу найти способ сделать это на вкладке «Авторизация» в экземпляре Cloud SQL. Он только просит меня предоставить IP-адрес, но я не уверен, что мы действительно можем получить IP-адрес App Engine.

Есть предложения по авторизации проекта App Engine в Cloud SQL?

Вкладка "Авторизация" для Cloudsql

Источник

Ответы (2)

avatar
mkufel
18 сентября 2018 в 07:51
0

Предоставление IP-адреса App Engine действительно не лучший способ. Вы можете указать IP-адреса только текущих экземпляров вашего движка, которые могут быть уничтожены и заменены другими экземплярами с новыми адресами в любое время.

Постарайтесь с самого начала точно следовать указаниям руководства по настройке App Engine. Прилагаю ссылку на ресурс о Django, так как это было применимо в моем случае https://cloud.google.com/python/django/flexible-environment

Чтобы подключить App Engine к экземпляру Cloud SQL в рамках одного проекта, вам нужно всего лишь настроить файлы конфигурации в вашем приложении. В случае Django ваши файлы settings.py и app.yaml должны быть правильно настроены. Убедитесь, что хост базы данных в settings.py имеет следующий формат: ['HOST'] = '/cloudsql/{your-cloudsql-connection-string}' и что app.yaml включает "beta_settings: cloud_sql_instances: {ваша-cloudsql-строка-подключения}".

Вы можете посмотреть образец кода здесь. Обратите внимание, что платформа Google Cloud Git также содержит примеры для других сред.

ldam
18 сентября 2018 в 08:09
0

Добро пожаловать в Stack Overflow! Не могли бы вы предоставить выдержки из частей, которые, по вашему мнению, имеют отношение к ссылкам, которые вы предоставили в своем ответе? Если эти страницы когда-либо изменят ваш ответ, он потеряет свою полезность.

avatar
LundinCast
8 апреля 2018 в 08:11
0
  • Если вы используете App Engine Standard в том же проекте, что и ваш экземпляр CloudSQL, ваше приложение уже авторизовано для доступа к нему.
  • Если вы используете гибкую среду или ваше приложение находится в другом проекте, вам потребуется авторизовать учетную запись службы App Engine, добавив ее в IAM в проекте CloudSQL и предоставив ей соответствующие разрешения (клиент Cloud SQL или роль редактора).

Вы найдете подробную информацию здесь.

gcp
8 апреля 2018 в 20:54
0

Спасибо ЛундинКаст. Я думаю, что следил за этим документом ранее, поэтому в моем случае и приложение, и облачный sql были частью одного проекта GCP. Здесь я хотел бы подчеркнуть, что я подключаюсь к cloudsql, используя модуль узла «pg-promise» через строку подключения, а не «Knex», потому что мой проект уже был написан с использованием модуля pg-promise. это действительно имеет значение?

gcp
8 апреля 2018 в 21:28
0

Просто чтобы обновить этот поток, поэтому я перешел в раздел «Экземпляры» механизма приложения и указал IP-адреса этих экземпляров виртуальной машины в разделе авторизации облачного sql, и мое приложение, похоже, может подключиться к облачному sql, используя мой старый модуль узла pg-promise.