ネットワーキングの手法

Database Migration Service を使用して移行元データベースから移行先データベースにデータを移行するには、データベース間の接続を確立する必要があります。

送信元との接続

Database Migration Service は、IP 許可リスト、転送 SSH トンネル、VPC ピアリング ネットワーク接続方法をサポートしています。

特定のワークロードに最適な方法は、次の表の情報を使用して判断します。

ネットワーキングの方式 説明 長所 短所
IP 許可リスト

Database Migration Service のパブリック IP アドレスからの受信接続を許可するようにソース データベース サーバーを構成することによって機能します。

  • 構成が容易
  • ソース データベースがパブリック IP アドレスに公開される。
  • 接続がデフォルトで暗号化されない。接続を暗号化するには、ソース データベースで SSL を有効にする必要があります。
  • ファイアウォールの構成で IT 部門のサポートが必要になる場合がある。
フォワード SSH トンネル

フォワード SSH トンネルを使用して、Database Migration Service とソースとの間にパブリック ネットワーク経由の暗号化された接続を確立します。

詳細については、SSH トンネルをご覧ください。

  • 安全
  • 帯域幅の制限
  • 踏み台インスタンスを設定して維持する必要がある。
VPC ピアリング プライベート接続構成を作成することによって機能します。Database Migration Service は、この構成を使用して、プライベート ネットワーク経由でデータソースと通信します。この通信は、Virtual Private Cloud(VPC)とのピアリング接続を介して行われます。
  • 安全なプライベート チャネル
  • 構成が容易
  • データベースと Google Cloudの間にプライベート ネットワーク接続(VPN、Interconnect など)が必要です。

宛先の接続

Private Service Connect を使用して、AlloyDB for PostgreSQL の移行先データベースへのプライベート接続を確立します。

IP 許可リストを使用して接続を構成する

Database Migration Service でソース データベースから宛先にデータを転送するためには、まず Database Migration Service をこのデータベースに接続する必要があります。

この接続を構成する方法の一つは、IP 許可リストを使用することです。パブリック IP 接続は、ソース データベースが Google Cloud の外部にあり、外部からアクセス可能な IPv4 アドレスと TCP ポートがある場合に適しています。

ソース データベースが Google Cloudの外部にある場合は、Database Migration Service のパブリック IP アドレスをソース ネットワークの受信ファイアウォール ルールとして追加します。一般的には(ネットワーク設定によって異なる場合があります)、次の操作を行います。

  1. 移行元データベース マシンのネットワーク ファイアウォール ルールを開きます。

  2. 受信ルールを作成します。

  3. ソース データベースの IP アドレスを Database Migration Service の IP アドレスに設定します。

  4. プロトコルを TCP に設定します。

  5. TCP プロトコルに関連付けられたポートを 1521 に設定します。

  6. ファイアウォール ルールを保存してから終了します。

SSH トンネルを使用する

ステップ 1: トンネルを終端するホストを選択する

データベースの SSH トンネル アクセスを設定する最初のステップは、トンネルの終端に使用するホストを選択することです。トンネルは、データベース ホスト自体または別のホスト(トンネル サーバー)で終端できます。

データベース サーバーを使用する

データベースでトンネルを終端すると、シンプルになるという利点があります。ホストが 1 つ少ないため、追加のマシンとそれに関連する費用がかかりません。欠点は、データベース サーバーがインターネットから直接アクセスできない保護されたネットワーク上に置かれる可能性があることです。

トンネル サーバーを使用する

別のサーバーでトンネルを終端すると、インターネットからデータベース サーバーにアクセスできないという利点が得られます。トンネル サーバーが不正使用された場合でも、データベース サーバーからは一歩距離があります。トンネル サーバーでは、重要でないソフトウェアやユーザーをすべて削除し、侵入検知システム(IDS)などのツールで注意深く監視することをおすすめします。

トンネル サーバーには、次の条件を満たす Unix / Linux ホストを指定できます。

  1. SSH 経由でインターネットからアクセスできる。
  2. データベースにアクセスできる。

ステップ 2: IP 許可リストを作成する

データベースの SSH トンネル アクセスを設定する 2 番目のステップでは、ネットワーク トラフィックが SSH(通常は TCP ポート 22)を使用して、トンネル サーバーかデータベース ホストに到達できるようにします。

Database Migration Service リソースが作成されるリージョンの IP アドレスそれぞれからのネットワーク トラフィックを許可します。

ステップ 3: SSH トンネルを使用する

接続プロファイルの構成でトンネルの詳細を指定します。詳細については、接続プロファイルの作成をご覧ください。

SSH トンネル セッションを認証するために、Database Migration Service はトンネル アカウントのパスワードまたは一意の秘密鍵を必要とします。一意の秘密鍵を使用するには、OpenSSL コマンドライン ツールを使用して、秘密鍵と公開鍵で構成される鍵ペアを生成します。

秘密鍵は、接続プロファイルの構成の一部として Database Migration Service によって安全に保存されます。公開鍵は、踏み台ホストの ~/.ssh/authorized_hosts ファイルに手動で追加する必要があります。

ソース データベースへのプライベート接続を設定する

プライベート接続は、VPC ネットワークと Database Migration Service のプライベート ネットワーク間の接続であり、Database Migration Service は内部 IP アドレスを使用して内部リソースと通信できます。プライベート接続を使用すると、Database Migration Service ネットワーク上に、他のお客様と共有しない専用接続が確立されます。

ソース データベースが Google Cloudの外部にある場合は、プライベート接続を使用することによって、Database Migration Service が VPN または Interconnect 経由でデータベースと通信できます。

プライベート接続構成を作成すると、単独のリージョン内にある 1 つのプロジェクトのすべての移行に、1 つの構成で対応できます。

大きな括りでは、プライベート接続を確立するには次のものが必要です。

  • 既存の Virtual Private Cloud(VPC)
  • CIDR ブロックの大きさが /29 以上の使用可能な IP 範囲

プロジェクトで共有 VPC を使用している場合は、ホスト プロジェクトで、Database Migration Service API と Google Compute Engine API を有効にし、Database Migration Service のサービス アカウントに権限を付与する必要があります。

移行元データベースのプライベート接続構成を作成する方法の詳細を確認する。

宛先データベースへのプライベート接続を設定する

Database Migration Service は、Private Service Connect を使用して、移行先の AlloyDB for PostgreSQL インスタンスにプライベートに接続します。プロジェクトでサービス アタッチメントを設定して、データベースにアクセスできるユーザーを制御しながら、受信側の安全な接続にデータベースの TCP ポートを公開できます。

宛先データベースのプライベート接続構成を作成する方法の詳細を確認する。