概览
如果源数据库位于 VPN 内(例如在 AWS 中或您的本地 VPN 中),您还需要在目标端使用 VPN 来连接到源。
您可以使用许多 VPN 产品。配置 VPN 的步骤因产品而异,但从根本上来说都类似。本部分包含使用 AWS 和 Google Cloud VPN 的示例。
源数据库服务器的防火墙必须配置为允许为 Cloud SQL 目标实例将要使用的 VPC 网络的专用服务连接分配的整个内部 IP 地址范围。
如要在控制台中查找内部 IP 范围,请执行以下操作:
前往 Google Cloud 控制台中的 VPC 网络页面。
选择要使用的 VPC 网络。
依次选择专用服务访问通道 > 为服务分配的 IP 范围。
找到与 servicenetworking-googleapis-com 创建的连接关联的内部 IP 范围。
示例 1:AWS 与 Google Cloud 传统 VPN(使用静态路由)
如需查看更完整的分步文档,请访问以下链接:
总而言之,整个步骤序列如下所示:
- 在 Google Cloud 控制台 > VPC 网络 > 外部 IP 地址中,预留一个静态 IP 地址以用于 Cloud VPN。
- 在 AWS VPC 控制台中:
- 创建客户网关。
- 创建新的虚拟专用网关,或将现有虚拟专用网关添加到与数据库关联的 VPC。
- 在路由表中,添加路由传播:
- 点击修改,选中传播复选框,然后点击保存,以将 Google Cloud VPC 网络的 IP 地址范围添加为目标范围。
- 在 AWS VPC 控制台中,创建 VPN:
- 在 VPN 连接下,选择站点到站点 VPN 连接。
- 选择创建 VPN 连接。
- 输入 VPN 连接的名称。
- 在 Virtual Private Gateway 字段中,选择您之前在此过程中创建或选择的专用网关。
- 对于客户网关,请选择您在此过程之前创建的客户网关。
- 对于路由选项,请选择静态,然后指定您为 Cloud VPN 预留的静态 IP 地址(以 CIDR 格式添加 /32)。
- 下载配置以保存设置。
- 将该文件另存为 默认。
- 找到 IP Sec 隧道 #1 和 #2 部分。
- 记下每个隧道的 IKE 版本和预共享密钥。
- 记下每个隧道的虚拟专用网关的 IP 地址。
- 记下每个隧道的静态路由配置选项的 IP 地址。
- 在 Google Cloud中,使用静态路由创建传统 VPN。
- 在 Google Cloud 控制台 > 混合连接 > VPN 中:
- 点击创建 VPN 连接。
- 选择您的 VPC 网络和区域。
- 对于 Cloud VPN,请使用您在此过程前面部分中预留的静态 IP 地址。
- 使用您在此过程的先前步骤中下载的 AWS 配置中的
Pre-shared key和密钥类型。 - 选择基于路由的路由选项,并添加两个隧道;对于每个隧道的远程网络 IP 地址范围字段,请使用您在本过程前面下载的 AWS 配置文件中
IP Sec Tunnel部分的静态路由配置选项中的 IP 地址。 - 点击创建。远程网络 IP 范围
- 在 AWS RDS 控制台中:
- 选择一个安全群组。
- 添加入站防火墙规则,以允许来自 Cloud VPN 的所有协议和端口。
VPN 隧道应很快就会开始通信。在 AWS 端,VPC 信息中心内的隧道状态为 UP。在 GCP 端,在 Cloud VPN gateway 项目的 Cloud Logging 控制台中查看 VPN 之间的流量。
示例 2:AWS 与 Google Cloud 高可用性 VPN(采用动态路由)
如需通过高可用性 VPN(动态路由)与 AWS 建立 VPC 对等互联,您需要将 BGP 路由导出到 Cloud SQL 对等互联 VPC,并在 Cloud Router 中为 Cloud SQL 对等互联 VPC 导入的路由创建自定义通告路由。此时,Cloud Router 正在向 Cloud SQL VPC 通告 AWS 路由,反之亦然。两端的防火墙规则也需要与 Cloud SQL 对等互连路由 CIDR 匹配。在 AWS 端,您可以按照示例 1 中的前三个步骤操作,但要在路由选项下选择动态,而不是静态。
- 在控制台中选择您的 Cloud SQL VPC 对等互连配置,然后记下已导入的路由下的目标 IP 范围。 如需了解详情,请参阅导入和导出自定义路线。
- 修改此 VPC 对等互连,然后在 VPC 对等互连连接详细信息中选中
Import Custom Routes和Export Custom Routes,然后点击保存。对等互连现在会从您的 VPC 接收动态路由,就像接收来自 BGP 对等端的路由一样。这允许流量从 VPN 流向对等互连的网络。 不过,Cloud Router 尚未向其他网络通告此路由。为此,您需要在 Cloud Router 中添加自定义通告路由,以便您的 VPC 向其他网络通告导入的路由。如需了解详情,请参阅导入和导出自定义路线。
- 将您的 DESTINATION_IP_RANGE 自定义 IP 范围作为自定义路由添加到 Cloud Router 配置的通告路由中。BGP 对等互联网络现在会接收导入的 Cloud SQL 网络路由 (DESTINATION_IP_RANGE) 的通告。现在,这些 VPN 连接的网络上前往 Cloud SQL 对等 VPC 的流量会通过 VPN 隧道进行路由。
- 允许在 AWS 路由表中传播路由。确保包含源数据库的子网的 AWS 路由表包含一个指向 VPN 虚拟专用网关的 DESTINATION_IP_RANGE 范围的条目。
- 添加安全群组防火墙入站规则,以允许 DESTINATION_IP_RANGE
TCP port 5432的流量。现在可以建立连接了。