我正在使用 postgreSQL 设置 GCP Cloud SQL 实例,并希望使用 Python 和一款名为 QGIS 的软件从我的笔记本电脑连接到它。我经常旅行,我的 IP 一直在变化,因此使用 IP 白名单很麻烦。有没有办法将某些东西绑定到设备?例如使用证书?
答案1
安装 Google Cloud SDK。CLIgcloud
可以设置使用实例名称的 IAP TCP 隧道。然后,您可以连接任何使用 TCP/IP 寻址的软件。
gcloud compute start-iap-tunnel INSTANCE_NAME INSTANCE_PORT --local-host-port=localhost:LOCAL_PORT
欲了解更多信息,请参阅此文档:
答案2
来自的回答約翰·漢利非常适合并推荐用于 GCE VM 实例。
但是,由于 OP 提到从 QGIS 软件连接到 Cloud SQL 实例,我想我们不能那样做。
我会推荐一个我还没有尝试过但相当可行的解决方案。
我们将仅允许从控制台通过私有 IP 连接到 Cloud SQL 实例。然后,我们可以在同一网络中的 VM 上部署 Cloud SQL 代理,并使用服务帐户连接到 CloudSQL。
任何时候 OP 想要使用 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