配置 Cloud SQL 实例访问权限
本文档详细介绍了如何设置虚拟私有云对等互连、安装 Cloud SQL 代理以及跨不同 Google Cloud 项目连接到内部 Cloud SQL IP 地址。 这种设置可确保 Cloud SQL 实例与以下连接器之间进行安全增强且高效的通信:
本文档还介绍了如何在 BigQuery Data Transfer Service 连接器项目中创建网络连接。
准备工作
确保您具有以下各项:
- 访问包含 BigQuery Data Transfer Service 连接器的 Google Cloud 项目,以及另一个包含 Cloud SQL 实例的 Google Cloud 项目。
- Google Cloud 项目中现有的 MySQL 或 PostgreSQL 数据库。
- 具有创建 VPC、创建防火墙规则和安装软件的适当权限。
- 虚拟机 (VM) 实例。
设置 VPC 对等互连
如需设置 VPC 对等互连,您必须从 BigQuery Data Transfer Service 连接器项目创建 VPC 对等互连,在 Cloud SQL 数据库项目中创建 VPC 对等互连以连接到 BigQuery Data Transfer Service 项目,并配置路由和防火墙规则。
从 BigQuery Data Transfer Service 连接器项目创建 VPC 对等互连
- 在 Google Cloud 控制台中,前往 BigQuery Data Transfer Service 连接器项目的 VPC 网络对等互连页面。 
- 点击 创建对等互连连接。 
- 在名称字段中,输入对等互连配置的名称。 
- 对于您的 VPC 网络,请选择您要在 BigQuery Data Transfer Service 连接器项目中进行对等互连的 VPC 网络。 
- 对于对等互连 VPC 网络,选择在另一个项目中选项。 
- 对于项目 ID,请输入 Cloud SQL 项目的项目 ID。 
- 对于 VPC 网络名称,请输入 Cloud SQL 项目中的 VPC 网络名称。 
- 点击创建。 
在 Cloud SQL 数据库项目中创建 VPC 对等互连
如需在 Cloud SQL 数据库项目中创建与 BigQuery Data Transfer Service 项目的 VPC 对等互连,请执行以下操作:
- 在 Google Cloud 控制台中,前往 BigQuery Data Transfer Service 连接器项目的 VPC 网络对等互连页面。 
- 点击 创建对等互连连接。 
- 在名称字段中,输入对等互连配置的名称。 
- 在 Cloud SQL 数据库项目中,选择您要对等互连的 VPC 网络。 
- 对于对等互连项目 ID,请输入 BigQuery Data Transfer Service 项目的项目 ID。 
- 对于对等互连的 VPC 网络,请输入 BigQuery Data Transfer Service 连接器项目中的 VPC 网络的名称。 
- 点击创建。 
配置路由和防火墙规则
如果您之前在配置对等互连连接时未选择导入/导出路由,请按照以下步骤操作:
- 前往 BigQuery Data Transfer Service 连接器项目的路由页面。 
- 确保存在路由以允许对等互连的 VPC 环境之间的流量。 
- 前往防火墙政策页面。 
- 创建防火墙规则,以允许在对等互连网络之间通过必要端口(例如,MySQL 的端口 3306 和 PostgreSQL 的端口 5432)传输流量。 
- 将 BigQuery Data Transfer Service 连接器项目所需的自定义防火墙规则添加到 Cloud SQL 数据库托管的项目。 
- 使用 Cloud SQL 实例为您的项目配置路由和防火墙规则,如前面的步骤中所述。 
设置 Cloud SQL 代理
- 使用 SSH 连接到 BigQuery Data Transfer Service 连接器项目中的虚拟机 (VM) 实例。 
- 在终端中,下载 Cloud SQL 代理: - wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
- 更新下载的文件的权限: - chmod +x cloud_sql_proxy
- 运行 Cloud SQL 代理: - ./cloud_sql_proxy -instances=NAME=tcp:3306 or 5432 &- 将 - NAME替换为您的 Cloud SQL 实例连接的名称。
连接到内部 Cloud SQL IP 地址
- 使用 Cloud SQL 实例的内部 IP 地址进行连接。
- 将您的应用或工具配置为连接到内部 IP 地址,并指定适当的凭证和数据库详细信息。
如果要从其他 Google Cloud 项目连接,请使用您之前部署的代理虚拟机的内部 IP 地址。此解决方案可解决传递性对等互连问题。
创建网络连接
如需在 BigQuery Data Transfer Service 连接器项目中创建网络连接,请按以下步骤操作:
- 在 Google Cloud 控制台中,前往网络连接页面。 
- 点击 创建网络连接。 
- 为网络连接提供名称。 
- 选择适当的 VPC 网络。 
- 对于区域,请指定 BigQuery Data Transfer Service 连接器所在的区域。 
- 对于子网,请选择与您的设置相符的选项。 
- 点击创建网络连接。 
测试连接
- 验证包含 Cloud SQL 代理的虚拟机是否可以连接到 Cloud SQL 实例: - mysql -u USERNAME -p -h IP_ADDRESS- 替换以下内容: - USERNAME:数据库用户的用户名。
- IP_ADDRESS:Cloud SQL 实例的 IP 地址
 
- 确保 BigQuery Data Transfer Service 连接器项目中的应用可以使用内部 IP 连接到 Cloud SQL 实例。 
问题排查
如果您在设置网络配置时遇到问题,请执行以下操作:
- 确保已建立 VPC 对等互连,并且已正确配置路由。
- 验证防火墙规则是否允许在所需端口上传输流量。
- 检查 Cloud SQL 代理日志是否存在错误,并确保其运行正常。
- 确保网络连接已正确配置并已连接。