Подключите Google Cloud SQL из Google Instance - PullRequest
0 голосов
/ 21 сентября 2018

У меня Cloud SQL и Instance в том же проекте Google Cloud.

Я хочу подключиться к Mysql (из Google Cloud SQL) из экземпляра с помощью командной строки.

Я подключаюсь с помощью команды:

gcloud sql connect cloud-sql-name --user=username

что дает:

 ERROR: (gcloud.sql.connect) There was no instance found  or you are not authorized to connect to it.

Как мне установить соединение.

Ответы [ 2 ]

0 голосов
/ 22 сентября 2018

Вы пытаетесь подключиться к своему экземпляру Cloud SQL из своего экземпляра виртуальной машины Compute Engine?

В этом случае я могу предложить сначала предоставить вашу учетную запись службы (учетная запись службы по умолчанию Compute Engine илиновый) соответствующая роль / разрешение IAM для Cloud SQL [1].

Затем аутентифицируйте / активируйте [2] свою учетную запись службы в командной строке экземпляра виртуальной машины (вместо этого рекомендуется создать файл ключа JSON).файла ключа P12 для вашей учетной записи службы):

~$ gcloud auth activate-service-account [ACCOUNT] --key-file=KEY_FILE

Чтобы создать файл ключа для своей учетной записи службы, вы можете перейти в меню «Продукты и услуги»> IAM & admin> «Учетные записи служб».Нажмите на кнопку с тремя точками справа от соответствующей учетной записи службы и выберите «Создать ключ».

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

Возможно, вам также потребуется предоставить доступ к экземпляру виртуальной машины для Cloud SQL на панели областей доступа к API Cloud.Перейдите в меню «Продукты и услуги»> «Compute Engine»> «Экземпляры виртуальных машин».Выберите экземпляр виртуальной машины и отредактируйте его.

Имейте в виду, что вам необходимо остановить экземпляр виртуальной машины перед редактированием областей доступа к Cloud API.Перейдите в «Области доступа»> «Установить доступ для каждого API».Включите и сохраните.

Вам также нужно будет включить API-интерфейс Cloud SQL Admin.Перейдите в меню «Продукты и услуги»> «API и услуги».Найдите SQL Admin и включите его (подождите несколько минут)

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

Ваш экземпляр Cloud SQLдля MySQL создает «root» пользователя.Просто убедитесь, что вы используете его в качестве имени пользователя или любого другого, который вы создали (если есть).

Примите во внимание, что, поскольку вы будете подключаться из экземпляра виртуальной машины Compute Engine, возможно, что у вас будетзапросил MySQL Client.

[1] https://cloud.google.com/sql/docs/mysql/project-access-control

[2] https://cloud.google.com/sdk/gcloud/reference/auth/activate-service-account

0 голосов
/ 21 сентября 2018

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

Чтобы увидеть пошаговое руководство по подключению экземпляра Compute Engine к Cloud SQL (с клиентом mysql), проверьте эта страница документации .

...