概要
移行元データベースが VPN(AWS の VPN やオンプレミス VPN など)の内部にある場合は、移行先側でも VPN を使用して移行元に接続する必要があります。
使用できる VPN プロダクトは多数あります。VPN を構成する手順はプロダクトによって異なりますが、基本的な手順はすべて同じです。このセクションでは、AWS と Google Cloud VPN を使用した例を示します。
ソース データベース サーバーのファイアウォールは、Cloud SQL の宛先インスタンスが ipConfiguration 設定の privateNetwork フィールドとして使用する VPC ネットワークのプライベート サービス接続に割り振られた内部 IP 範囲全体を許可するように構成する必要があります。
Console で内部 IP 範囲を確認するには:
Google Cloud コンソールの [VPC ネットワーク] ページに移動します。
使用する VPC ネットワークを選択します。
[プライベート サービス アクセス] > [サービスに割り当てられた IP 範囲] を選択します。
servicenetworking-googleapis-com によって作成された接続に関連付けられている内部 IP 範囲を見つけます。
例 1: 静的ルートを使用する Google Cloud Classic VPN を使用した AWS
詳細な手順については、次のリンクをご覧ください。
全体的な手順のシーケンスは次のようになります。
- Google Cloud コンソール > [VPC ネットワーク] > [外部 IP アドレス] で、Cloud VPN に使用する静的 IP アドレスを予約します。
- AWS VPC コンソールで次の操作を行います。
- カスタマー ゲートウェイを作成します。
- 新しい仮想プライベート ゲートウェイを作成するか、既存の仮想プライベート ゲートウェイをデータベースに関連付けられている VPC に追加します。
- [ルートテーブル] で、ルートの伝播を追加します。
- [編集] をクリックし、[伝播] チェックボックスをオンにして [保存] をクリックし、 Google Cloud VPC ネットワークの IP アドレス範囲を宛先範囲として追加します。
- AWS VPC コンソールで、VPN を作成します。
- [VPN 接続] で、[サイト間 VPN 接続] を選択します。
- [VPN 接続を作成] を選択します。
- VPN 接続の名前を入力します。
- [仮想プライベート ゲートウェイ] で、この手順で前に作成または選択したプライベート ゲートウェイを選択します。
- [カスタマー ゲートウェイ] で、この手順で作成したカスタマー ゲートウェイを選択します。
- [ルーティング オプション] で [静的] を選択し、Cloud VPN 用に予約した静的 IP アドレスを CIDR として指定します(/32 を追加します)。
- 設定を保存するには、構成をダウンロードします。
- ファイルを [Default] として保存します。
- [IP Sec Tunnels] セクション #1 と #2 を見つけます。
- 各トンネルの IKE バージョンと事前共有キーをメモします。
- 各トンネルの仮想プライベート ゲートウェイの IP アドレスをメモします。
- 各トンネルの静的ルート構成オプションの IP アドレスをメモします。
- Google Cloudで、静的ルーティングを使用する Classic VPN を作成します。
- Google Cloud コンソール > [ハイブリッド接続] > [VPN]:
- [VPN 接続を作成] をクリックします。
- VPC ネットワークとリージョンを選択します。
- Cloud VPN の場合は、この手順で前に予約した静的 IP アドレスを使用します。
- この手順の前半でダウンロードした AWS 構成の
Pre-shared keyとキータイプを使用します。 - [ルートベース] のルーティング オプションを選択し、2 つのトンネルを追加します。各トンネルの [リモート ネットワーク IP の範囲] フィールドで、この手順の前半でダウンロードした AWS 構成ファイルの
IP Sec Tunnelセクションの [静的ルート構成オプション] の IP アドレスを使用します。 - [作成] をクリックします。リモート ネットワークの IP 範囲
- AWS RDS コンソールの場合:
- セキュリティ グループを選択します。
- Cloud VPN からのすべてのプロトコルとポートを許可する上り(内向き)ファイアウォール ルールを追加します。
VPN トンネルはまもなく通信を開始します。AWS 側では、VPC ダッシュボードでトンネルのステータスが UP になっています。GCP 側で、Cloud VPN gateway プロジェクトの Cloud Logging コンソールで VPN 間のトラフィックを表示します。
例 2: 動的ルートを使用する Google Cloud HA VPN を使用した AWS
HA VPN(動的ルート)で AWS との VPC ピアリングを取得するには、BGP ルートを Cloud SQL ピアリングされた VPC にエクスポートし、Cloud SQL ピアリングされた VPC のインポートされたルートに対して Cloud Router でカスタム アドバタイズ ルートを作成する必要があります。この時点で、Cloud Router は AWS ルートを Cloud SQL VPC にアドバタイズし、その逆も行っています。両側のファイアウォール ルールも、Cloud SQL ピアリング ルートの CIDR と一致する必要があります。AWS 側では、例 1 の最初の 3 つの手順に沿って操作します。ただし、[ルーティング オプション] で [静的] ではなく [動的] を選択します。
- コンソールで Cloud SQL VPC ピアリング構成を選択し、[インポートされたルート] の [宛先 IP 範囲] をメモします。詳細については、カスタムルートのインポートとエクスポートをご覧ください。
- この VPC ピアリングを編集し、VPC ピアリング接続の詳細で
Import Custom RoutesとExport Custom Routesをオンにして、[保存] をクリックします。ピアリングは、BGP ピアから送信されるルートと同様に、VPC から動的ルートを受信するようになりました。これにより、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 3306のトラフィックを許可します。接続を確立できるようになりました。