Подключение к Cloud SQL: общедоступный IP-адрес и авторизованные сети

1. Введение

Последнее обновление: 04.05.2020 г.

Думая о связи

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

Иногда это необходимо сделать в рабочей среде, но если вы можете избежать этого, вам следует выбрать более безопасную альтернативу (например, использование Cloud SQL Proxy ). Эта установка наиболее идеально подходит для разработки и тестирования.

Что ты построишь

Эта кодовая лаборатория очень минималистична. Идея состоит в том, чтобы показать вам все тонкости соединительного элемента, не слишком задумываясь о самом приложении. В идеальном мире подключение к Cloud SQL аналогично подключению к любому другому экземпляру базы данных SQL, поэтому вы сможете взять то, что вы создадите в этой кодовой лаборатории, и применить его к любому рабочему приложению.

Инструкции будут включать как пошаговое руководство по выполнению действий в консоли GCP, так и эквиваленты команд gcloud для использования в CLI или автоматизации.

Отдельные шаги:

  • Создайте экземпляр Cloud SQL (в этом руководстве используется Postgres, но работает аналогично для MySQL или SQL Server) и авторизуйте определенные IP-адреса, которым разрешено подключение к нему.

Что вам понадобится

  • Учетная запись GCP, в которой у вас есть разрешения на включение API и создание сервисов.
  • Клиент Postgres, установленный для проверки подключения (или клиент MySQL, если вы хотите использовать MySQL вместо Postgres)

2. Создание экземпляра Cloud SQL

Cloud SQL – это наше предложение по управляемым реляционным базам данных. Он поддерживает MySQL, PostgreSQL и SQL Server. Для этой лаборатории кода мы создадим базу данных Postgres, но инструкции для всех трех одинаковы.

На консоли

Перейдите на страницу Cloud SQL и нажмите кнопку 241836b315e11bf5.png кнопка.

Как я уже упоминал, большая часть этой лаборатории кода является общей для любого варианта SQL, но для этой лаборатории кода выберите PostgreSQL.

  1. Дайте вашему экземпляру идентификатор
  2. Выберите регион, близкий к вашему местоположению.
  3. Введите пароль для пользователя по умолчанию (имя пользователя будет использоваться по умолчанию для выбранной базы данных, например root для MySQL или postgres для PostgreSQL).
  4. Прокрутите вниз и нажмите « show configuration options
  5. Разверните раздел Connectivity
  6. Убедитесь, что Public IP установлен, а флажок Private IP снят.
  7. Нажмите кнопку 883b32ec2734de01.png кнопка
  8. Получите IP-адрес того места, откуда вы подключаетесь. Проще всего просто выполнить поиск в Google по запросу «Какой у меня IP», и в результатах поиска будет указан ваш общедоступный IP-адрес.
  1. Введите спецификацию IP в поле сети, при необходимости дайте ей имя и нажмите «Готово» в поле New Network .
  2. Прокрутите вниз и нажмите «Создать».

Обычно запуск экземпляра занимает пару минут.

После завершения создания экземпляра щелкните его в списке и на странице обзора под заголовком Connect to this instance скопируйте указанный там public IP address . Его не будет до тех пор, пока экземпляр не будет полностью создан, хотя вы можете просмотреть детали до того, как он будет полностью создан.

Использование gcloud

Сначала вам нужно получить IP-адрес, который вы хотите авторизовать для подключения к экземпляру Cloud SQL. Самый простой способ сделать это — открыть браузер и выполнить поиск по запросу «Какой у меня IP», и в результатах поиска будет указан ваш общедоступный IP-адрес. Если у вас нет возможности открыть браузер из того места, где вы это делаете, вы можете использовать такую ​​утилиту, как dig .

dig @resolver1.opendns.com ANY myip.opendns.com +short -4

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

gcloud sql tiers list

Каждый уровень доступен только в определенных регионах. В части руководства, посвященной gcloud, мы просто создаем микроэкземпляр, чтобы вы могли найти доступные регионы для этого уровня, выполнив специально (если у вас установлен grep):

gcloud sql tiers list | grep db-f1-micro

Сама команда создания экземпляра тогда выглядит так (не забудьте заменить <AUTHORIZED_IP> на IP, который вы получили из браузера или копать, а <REGION> на близкий к вам, и пароль для пользователя root 'postgres '):

gcloud sql instances create sql-codelab-00 --database-version=POSTGRES_11 --tier=db-f1-micro --region=<REGION> --authorized-networks=<AUTHORIZED_IP> --root-password=<PASSWORD>

Это займет несколько минут.

После завершения в выходных данных CLI будет указан PRIMARY_ADDRESS экземпляра. Скопируйте это для следующего шага.

3. Проверка соединения и накрутка

Чтобы убедиться, что экземпляр настроен правильно, с компьютера, IP-адрес которого вы ввели, вы можете запустить в командной строке:

psql "host=<IP-адрес, скопированный с предыдущего шага> port=5432 sslmode=disable user=postgres"

Затем укажите пароль пользователя по умолчанию, который вы установили при создании экземпляра Cloud SQL.

Поздравляем! Если все прошло хорошо, у вас должно появиться приглашение Postgres, и вы сможете запускать команды в своей базе данных.

Что дальше?

Посмотрите некоторые из этих кодовых лабораторий...

Справочная документация