このページでは、プロキシを使用して Database Migration Service とデータソースの間にプライベート接続を確立する方法について説明します。データソースは、別の Virtual Private Cloud(VPC)でホストされている Oracle データベース、または Google Cloud ネットワークの外部にある Oracle データベースです。
プライベート接続は、VPC ネットワークと Database Migration Service プライベート ネットワーク間のプライベートで専用の接続を指します。つまり、他のお客様は接続を共有できません。プライベート接続を使用すると、Database Migration Service は内部 IP アドレスを使用してリソースと通信できます。
プライベート接続を使用して、Database Migration Service を任意のソースに接続できます。ただし、相互に通信できるのは、ピアリングされた VPC ネットワークのみです。
推移的ピアリングはサポートされていません。ソースが別の VPC または Google Cloud ネットワーク外でホストされており、Database Migration Service がピアリングされている 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 イメージを使用して VM を作成します。この VM はリバース プロキシをホストします。
サブネットが Database Migration Service と同じリージョンにあり、リバース プロキシがトラフィックを移行元に転送していることを確認します(移行元から転送しない)。
VM から送信元の内部 IP アドレスとポートに
ping
コマンドまたはtelnet
コマンドを実行して、VM が送信元と通信できることを確認します。リバース プロキシとの 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 で接続プロファイルを作成します。接続の詳細には、プロキシをホストする VM の内部 IP アドレスとポートを入力します。
次のステップ
プライベート接続構成を作成する方法を学習する。
Database Migration Service で接続プロファイルを作成する方法について学習する。