Я настраиваю экземпляр GCP Cloud SQL с postgreSQL и хочу подключиться к нему со своего ноутбука с помощью Python и программного обеспечения под названием QGIS. Я много путешествую, и мой IP-адрес все время меняется, поэтому использование белого списка IP-адресов - проблема. Есть ли способ завязать что-нибудь к устройству? Например с помощью сертификатов?
Установите Google Cloud SDK. CLI gcloud
может настроить TCP-туннель IAP, использующий имя экземпляра. Затем вы можете подключиться к любому программному обеспечению, которое использует адресацию TCP / IP.
gcloud compute start-iap-tunnel INSTANCE_NAME INSTANCE_PORT --local-host-port=localhost:LOCAL_PORT
Для получения дополнительной информации обратитесь к этому документу:
Ответ от Джон Хэнли идеально подходит и рекомендуется для экземпляра GCE VM.
Однако, поскольку OP упоминает о подключении к экземпляру Cloud SQL из программного обеспечения QGIS, я бы сказал, что мы не можем сделать это таким образом.
Я бы порекомендовал решение, которое я еще не пробовал, но вполне возможное.
Мы разрешим только частное IP-соединение с экземпляром Cloud SQL из консоли. Затем мы можем развернуть прокси Cloud SQL на виртуальной машине в той же сети и подключиться к CloudSQL с помощью учетной записи службы.
В любое время, когда ОП захочет использовать QGIS, ему просто нужно:
запустите прокси CloudSQL на виртуальной машине, например:
./cloud_sql_proxy -instances=myProject:us-central1:cloudSQLInstance=tcp:5432 &
затем создайте Общее TCP-туннелирование для подключения со своей машины к порту прокси CloudSQL.
gcloud compute start-iap-tunnel vmInstance 5432 \
--local-host-port=localhost:ANY_PORT
psql -h localhost -p ANY_PORT