Подключение к GCP Cloud SQL с использованием облачного SQL-прокси - PullRequest
2 голосов
/ 01 апреля 2019

Я следую этому руководству , чтобы подключиться к моему GCP Cloud Postgresql - у меня есть только частный IP-адрес. Когда я бегу

./cloud_sql_proxy -instances=<Instance connection name>=tcp:5432

Я получаю следующее (фактические ссылки заменены на <Instance connection name>)

2019/04/01 11:46:45 failed to setup file descriptor limits: failed to set rlimit {&{8500 4096}} for max file descriptors: invalid argument
2019/04/01 11:46:45 Listening on 127.0.0.1:5432 for <Instance connection name>
2019/04/01 11:46:45 Ready for new connections
2019/04/01 11:47:28 New connection for <Instance connection name>
2019/04/01 11:49:38 couldn't connect to <Instance connection name>: dial tcp 172.27.160.3:3307: connect: connection timed out

Если я бегу

psql "host=127.0.0.1 sslmode=disable dbname=<db> user=<user> password=<password>"

тогда я получаю следующее

psql: FATAL:  password authentication failed for user "prodigy"

Если запустить ту же команду psql из экземпляра виртуальной машины в той же сети, что и мой облачный SQL, соединение будет просто нормальным.

1 Ответ

0 голосов
/ 25 апреля 2019

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

Невозможно подключить Cloud SQL (как есть) через частный IP-адрес за пределами сети Google Cloud Platform. В таком случае вы можете попробовать Cloud Interconnect [2], чтобы расширить локальную сеть до сети Google, чтобы вы могли попробовать свои соединения и посмотреть, подходит ли вам это.

С другой стороны, при использовании Cloud SQL Proxy вам необходимо указать, что вы используете частный IP [3]. Если не указан, прокси будет искать общедоступный IP-адрес по умолчанию.

Дайте мне знать, как это происходит.


[1] https://cloud.google.com/sql/docs/mysql/private-ip

[2] https://cloud.google.com/interconnect/docs/

[3] https://cloud.google.com/sql/docs/postgres/sql-proxy#private-ip

...