使用 Auth Proxy 从 Cloud Shell 连接到 AlloyDB
了解如何使用 AlloyDB Auth Proxy 从 Cloud Shell 终端与 AlloyDB for PostgreSQL 实例建立安全连接。本快速入门非常适合希望使用简单、预配置的环境连接到实例并测试基本 SQL 查询的新用户。
准备工作
在 Google Cloud 控制台的项目选择器页面上,选择或创建一个 Google Cloud 项目。
确保您的 Google Cloud 项目已启用结算功能。 验证结算功能可确保启用所有必需的服务。
确保您的 AlloyDB 实例已配置公共 IP。Cloud Shell 无法连接到专用 IP 地址。
所需的角色
如需使用 Auth Proxy,您的用户账号必须具有以下 Identity and Access Management (IAM) 角色:
AlloyDB Client(roles/alloydb.client)Service Usage Consumer(roles/serviceusage.serviceUsageConsumer)
如果您没有所需角色,请让管理员授予这些角色,或按照以下步骤将这些角色授予您的用户账号。
在 Google Cloud 控制台中,前往 IAM 页面。
在主账号列表中找到您的用户账号。
点击修改主账号。
点击添加其他角色。
搜索并选择 AlloyDB Client 角色。
点击应用。
点击添加其他角色。
搜索并选择 Service Usage Consumer 角色。
点击应用。
点击保存。
连接到 AlloyDB 实例
Cloud Shell 环境包含 Auth Proxy (alloydb-auth-proxy) 和 psql(PostgreSQL 交互式终端)。
激活 Cloud Shell。
点击为 Cloud Shell 提供授权。您只需在首次使用 Cloud Shell 时执行此操作。
在 Cloud Shell 编辑器中确认您的用户身份。验证您已使用具有所需 IAM 角色的用户账号登录。
gcloud config list获取实例的连接 URI。
在 Google Cloud 控制台中,前往集群页面。
选择集群,然后找到主实例。
点击查看连接配置。
复制连接 URI。
启动 Auth Proxy。在 Cloud Shell 终端中,使用复制的 URI 并指定
--public-ip标志。alloydb-auth-proxy CONNECTION_URI --public-ip替换以下内容:
CONNECTION_URI:您从 Google Cloud 控制台复制的连接 URI。
Auth Proxy 会启动并显示一条消息,确认它正在监听
127.0.0.1:5432。打开新的 Cloud Shell 标签页,然后使用 psql 连接到数据库。
psql "host=localhost user=POSTGRES_USERNAME dbname=POSTGRES_DATABASE port=5432"如需在现有的 Cloud Shell 窗口中打开新的终端窗格,请按 Control+b+" 或点击
添加。这样,您就可以在一个窗格中保持 Auth Proxy 运行,同时在第二个窗格中运行连接命令。如需在窗格之间切换,请按 Ctrl+b+keyboard_arrow_up 或 Ctrl+b+keyboard_arrow_down。
替换以下内容:
POSTGRES_USERNAME:您的 AlloyDB 用户,通常为postgres。POSTGRES_DATABASE:您的 AlloyDB 数据库名称,通常为postgres。
出现提示时,输入 PostgreSQL 用户的密码。
通过运行 SQL 查询来验证连接。
SELECT now();如需停止 psql,请输入
\q。如需停止 Cloud Shell,请输入
exit。如需停止 Auth Proxy,请输入 Control+c。
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
在 Google Cloud 控制台中,前往集群页面。
点击您创建的集群。
点击删除集群。
在确认对话框中,输入集群的 ID,然后点击删除以删除集群及其实例。
后续步骤
- 了解其他连接到 AlloyDB 的方式。