在本页中,您将了解如何使用代理在 Database Migration Service 与数据源之间建立专用连接。您的数据源可以是 Cloud SQL,也可以是托管在其他虚拟私有云 (VPC) 中或 Google Cloud 网络之外的源。
专用连接是指 VPC 网络与 Database Migration Service 专用网络之间的专用连接,这意味着其他客户无法共享此连接。通过专用连接,Database Migration Service 可以使用内部 IP 地址与资源进行通信。
您可以使用专用连接将 Database Migration Service 连接到任何来源。但是,只有您对等互连的 VPC 网络才能相互通信。
不支持传递性对等互连。如果来源托管在其他 VPC 中或 Google Cloud 网络外部,并且 Database Migration Service 与之对等互连的 VPC 网络无法与托管来源的 VPC 或网络直接连接,则需要反向代理。
设置反向代理
如果 Database Migration Service VPC 网络与您的 VPC 网络建立了对等互连,并且您的来源可从其他 VPC 网络访问,那么 Database Migration Service 不能仅使用 VPC 网络对等互连与来源通信。如需桥接 Database Migration Service 与来源之间的连接,您还需要使用反向代理。
下图说明了如何使用反向代理在 Database Migration Service 与托管在 Google Cloud 网络外部的数据源之间建立专用连接。在此图中,VPC 网络 1 是您的 VPC 网络,VPC 网络 2 是可访问您的来源的其他 VPC 网络。
如需使用反向代理在 Database Migration Service 与 Cloud SQL 之间建立专用连接,请按以下步骤操作:
确定您希望 Database Migration Service 通过哪个 VPC 网络连接到来源。
在此 VPC 网络中,使用基本 Debian 或 Ubuntu 映像创建虚拟机。此虚拟机托管反向代理。
验证子网是否与 Database Migration Service 位于同一区域,以及反向代理是否将流量转发到来源(而不是从来源转发流量)。
通过从虚拟机到来源的内部 IP 地址和端口运行
ping
或telnet
命令,确认您的虚拟机是否可以与来源通信。如需与反向代理建立 SSH 连接并创建文件,请使用以下脚本:
#! /bin/bash export DB_ADDR=SOURCE_PRIVATE_IP export DB_PORT=DATABASE_PORT # Enable the VM to receive packets whose destinations do # not match any running process local to the VM echo 1 > /proc/sys/net/ipv4/ip_forward # Ask the Metadata server for the IP address of the VM nic0 # network interface: md_url_prefix="http://169.254.169.254/computeMetadata/v1/instance" vm_nic_ip="$(curl -H "Metadata-Flavor: Google" ${md_url_prefix}/network-interfaces/0/ip)" # Clear any existing iptables NAT table entries (all chains): iptables -t nat -F # Create a NAT table entry in the prerouting chain, matching # any packets with destination database port, changing the destination # IP address of the packet to your source instance IP address: iptables -t nat -A PREROUTING \ -p tcp --dport $DB_PORT \ -j DNAT \ --to-destination $DB_ADDR # Create a NAT table entry in the postrouting chain, matching # any packets with destination database port, changing the source IP # address of the packet to the NAT VM's primary internal IPv4 address: iptables -t nat -A POSTROUTING \ -p tcp --dport $DB_PORT \ -j SNAT \ --to-source $vm_nic_ip # Save iptables configuration: iptables-save
运行脚本。
在 Database Migration Service 中创建专用连接配置,以便在您的 VPC 与 Database Migration Service VPC 之间建立 VPC 对等互连。
在 Database Migration Service 中创建连接配置文件。对于连接详情,请输入托管代理的虚拟机的内部 IP 地址和端口。