通过笔记本电脑连接

本页面介绍了如何使用 AlloyDB Auth Proxy 通过公共 IP 地址从笔记本电脑或本地机器与 AlloyDB for PostgreSQL 实例建立安全连接。

当您探索 AlloyDB 或想要设置开发环境时,从笔记本电脑进行连接非常有用。

准备工作

在通过笔记本电脑进行连接之前,请确保您已执行以下操作:

所需的角色

如需从笔记本电脑进行连接,请确保您的 Identity and Access Management (IAM) 主账号(用户账号或服务账号)具有所需的预定义角色:

  • AlloyDB Client (roles/alloydb.client)
  • Service Usage Consumer (roles/serviceusage.serviceUsageConsumer)

在 AlloyDB 实例上启用公共 IP

从笔记本电脑进行连接的最直接方法是在 AlloyDB 实例上启用公共 IP。您可以在创建实例时启用公共 IP,也可以更新现有实例以启用公共 IP。

控制台

  1. 前往 Google Cloud 控制台中的集群页面。

    转到集群

  2. 如需查看集群详细信息,请点击资源名称中的集群。

  3. 集群中的实例中,找到要连接的实例。

  4. 点击 实例操作,然后点击修改

  5. 连接中,选择启用公共 IP

  6. 如需保存更改,请点击更新实例

gcloud

使用 gcloud alloydb instances update 命令在实例上启用公共 IP:

gcloud alloydb instances update INSTANCE_ID \
    --cluster=CLUSTER_ID \
    --region=REGION_ID \
    --assign-inbound-public-ip=ASSIGN_IPV4

替换以下内容:

  • INSTANCE_ID:AlloyDB 实例的 ID。
  • CLUSTER_ID:集群的 ID。
  • REGION_ID:集群所在的区域。

检索实例连接 URI

启动 Auth Proxy 客户端时,您必须使用实例的唯一连接 URI 来标识实例。在笔记本电脑终端上使用 gcloud CLI alloydb instances describe 命令检索连接 URI。

gcloud alloydb instances describe INSTANCE_ID \
    --cluster=CLUSTER_ID \
    --region=REGION_ID \
    --format="value(name)"

该命令会返回连接 URI,其格式类似于以下内容:

projects/myproject/locations/us-central1/clusters/mycluster/instances/myprimary

使用公共 IP 启动 AlloyDB Auth Proxy

现在您已获得实例连接 URI,接下来请使用笔记本电脑终端启动 Auth Proxy 客户端。使用 --public-ip 标志指示 AlloyDB Auth 代理通过公共 IP 网络路径进行连接。

./alloydb-auth-proxy CONNECTION_URI --public-ip

CONNECTION_URI 替换为您在检索实例连接 URI 中获得的实例连接 URI。

AlloyDB Auth 代理成功启动后,终端会显示 AlloyDB Auth 代理正在端口 5432 上监听本地 TCP 连接:

Authorizing with Application Default Credentials
Listening on 127.0.0.1:5432
The proxy has started successfully and is ready for new connections!

使用 psql 连接到数据库

在 AlloyDB Auth Proxy 运行期间,在笔记本电脑上打开一个单独的终端窗口,以连接到数据库。

运行 psql 客户端工具,以本地监听器地址 127.0.0.1 和端口 5432 为目标:

psql -h 127.0.0.1 -U postgres -d postgres

出现提示时,输入 postgres 数据库用户的密码。

psql 命令会连接到 Auth Proxy 客户端,该客户端会通过安全隧道将您的连接转发到 AlloyDB 实例。psql 命令会显示一个提示,确认笔记本电脑已安全连接到 AlloyDB 实例:

psql (18.2 (Debian 18.2-1), server 16.11)
Type "help" for help.

postgres=>

后续步骤