【问题标题】:Access Google Cloud SQL from SDK Shell从 SDK Shell 访问 Google Cloud SQL
【发布时间】:2018-08-31 10:35:14
【问题描述】:

我在 Google Cloud 中创建了一个 PostgreSQL 实例。 我可以使用 Cloud Shell 访问实例并执行 SQL 操作。

当我尝试使用“Google Cloud SDK Shell”从本地访问相同的内容时,它无法连接到实例,

C:\Program Files (x86)\Google\Cloud SDK>gcloud sql connect [my-instance] --user==user-name
Whitelisting your IP for incoming connection for 5 minutes...done.
ERROR: (gcloud.sql.connect) Could not whitelist client IP. Server did not reply with the whitelisted IP.

我已将我的实例和用户名替换为正确的条目 有人可以指导我如何从我的本地 SDK shell 访问这个数据库而不是使用 Cloud shell 吗?

【问题讨论】:

  • 显然您需要 Cloud SQL Editor 角色。我不知道这是否是这种情况下的相关信息。
  • 我将为您进行调查,因为这对我也不起作用(尽管我有不同的错误)。 gcloud sql connect 似乎是一些“糖”,它暂时将您机器的 IP 列入白名单,然后配置例如psql 即时为您服务。本质上是:cloud.google.com/sql/docs/postgres/connect-admin-ip#connect。请亲自尝试该链接中的说明。它应该工作。我会尽快回复你为什么gcloud sql connect 没有。
  • 我鼓励您也考虑使用 Cloud SQL 代理。代理为与 Cloud SQL 实例交互提供一致且安全的机制并保存白名单 IP:cloud.google.com/sql/docs/postgres/sql-proxy
  • @DazWailkin ,感谢您的链接。如果那是我的问题,我会通过它们并更新。
  • Engineering 确认 gcloud sql connect 可能存在问题,并支持使用 Cloud SQL 代理手动执行此操作的建议。带来不便敬请谅解!正在努力解决gcloud sql connect 的问题;它也将使用 Cloud SQL 代理。

标签: sql postgresql gcloud


【解决方案1】:

有一些 options to connect to your SQL instance 取决于您使用的客户端,其中一些是:Compute Engine、App Engine、mysql 客户端、外部应用程序。

我认为你的机器可以被认为是一个外部应用程序,所以你必须follow this guide 来授权你的 Windows 客户端机器。但是,推荐的方法是使用the cloudsqlproxy,因为它可以让您免于将所有连接列入白名单。

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 2018-11-21
    • 1970-01-01
    • 2020-11-05
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    相关资源
    最近更新 更多