使用 gcloud CLI 进行连接

借助 gcloud beta alloydb connect 命令,您可以与 AlloyDB for PostgreSQL 实例建立经过授权的加密连接。它会自动启动 AlloyDB Auth Proxy 并运行 psql 客户端工具。

在本地机器或 Cloud Shell 等环境中,使用此命令进行手动数据库管理和开发。

如需了解详情,请参阅连接概览。

准备工作

  1. 安装 Google Cloud CLI。
  2. 安装 psql 客户端工具。
  3. 确保您的 Identity and Access Management (IAM) 主账号具有 AlloyDB Client (roles/alloydb.client) 角色。如需了解详情,请参阅管理 IAM 身份验证。

连接到实例

如需使用默认 postgres 用户和数据库通过专用 IP 连接到实例,请运行以下命令:

gcloud beta alloydb connect INSTANCE_ID \
    --cluster=CLUSTER_ID \
    --region=REGION_ID

通过公共 IP 连接

如果您的实例启用了公共 IP 地址,您可以通过添加 --public-ip 标志来连接到该实例:

gcloud beta alloydb connect INSTANCE_ID \
    --cluster=CLUSTER_ID \
    --region=REGION_ID \
    --public-ip

使用 IAM 进行身份验证

gcloud beta alloydb connect 命令支持自动 IAM 身份验证。使用 --auto-iam-authn 标志以已登录的 gcloud CLI 用户或服务账号身份进行身份验证。

gcloud beta alloydb connect INSTANCE_ID \
    --cluster=CLUSTER_ID \
    --region=REGION_ID \
    --auto-iam-authn

如需详细了解 IAM 身份验证,请参阅 IAM 数据库身份验证。

通过 Private Service Connect 连接

如果您使用的是 Private Service Connect,请添加 --psc 标志:

gcloud beta alloydb connect INSTANCE_ID \
    --cluster=CLUSTER_ID \
    --region=REGION_ID \
    --psc

使用特定用户和数据库进行连接

如需以特定数据库用户的身份连接到特定数据库,请使用 --user 和 --database 标志:

gcloud beta alloydb connect INSTANCE_ID \
    --cluster=CLUSTER_ID \
    --region=REGION_ID \
    --user=USER_NAME \
    --database=DATABASE_NAME

服务账号模拟

您可以使用模拟的服务账号来授权连接。使用模拟时,Auth 代理会使用指定服务账号的凭据来检索连接信息。

如需使用模拟的服务账号进行连接,请添加 --impersonate-service-account 标志:

gcloud beta alloydb connect INSTANCE_ID \
    --cluster=CLUSTER_ID \
    --region=REGION_ID \
    --impersonate-service-account=SERVICE_ACCOUNT_EMAIL

Auth 代理使用模拟的服务账号检索连接信息。但是,它不会自动向数据库进行身份验证。 如需同时以模拟服务账号身份向数据库进行身份验证,请添加 --auto-iam-authn 标志。模拟服务账号必须是数据库中的用户。

gcloud beta alloydb connect INSTANCE_ID \
    --cluster=CLUSTER_ID \
    --region=REGION_ID \
    --impersonate-service-account=SERVICE_ACCOUNT_EMAIL \
    --auto-iam-authn

后续步骤