自己ホスト型 Oracle ソースへのネットワーク接続を構成する

このページでは、Database Migration Service を使用して Oracle から Cloud SQL for PostgreSQL への異種移行を行うために、セルフホスト型 Oracle ソースへのネットワーク接続を構成する方法について説明します。

セルフホスト型 Oracle ソースからの移行に必要なネットワーク接続を構成するには、次の 3 つの方法があります。

IP 許可リスト接続を構成する

パブリック IP 許可リスト接続方法を使用する手順は次のとおりです。

  1. 移行元データベースに、 パブリック インターネットから到達可能な IP アドレスがあることを確認します。IP アドレスを使用して接続する必要はありません。 IP に関連付けられた DNS レコードがある場合は、代わりにそのレコードを使用できます。
  2. Database Migration Service からの接続を受け入れるように、移行元データベース サーバーにインバウンド ファイアウォール ルールを作成します。次の構成を使用します。
    1. ルールタイプには port を使用します。
    2. 許可される IP アドレス範囲に、移行ジョブを作成するリージョンのすべての Database Migration Service パブリック IP アドレスを追加します。
    3. プロトコルを TCP に設定します。
    4. ルールに関連付けられたポート番号を、移行元データベースが受信接続をリッスンしているポートに設定します。これは、移行元接続プロファイルに入力する必要があるポート番号と同じです。

      Oracle サーバーはデフォルトで 1521 ポートを使用します。

    ファイアウォール ルールの構成手順は、使用する サーバー ソフトウェアによって異なります。詳細については、ファイアウォール プロダクトのドキュメントをご覧ください。

  3. 後の段階で移行元接続プロファイルを作成するときに、 [接続方法の定義] セクションで [IP 許可リスト] を選択します。

フォワード SSH トンネル経由の接続を構成する

Secure Shell(SSH)トンネルを使用して移行元データベースに接続する手順は次のとおりです。

  1. Database Migration Service と移行元データベース間のトンネルを開くことができる仮想マシン(VM)を作成します 。トンネル サーバーには、次の条件を満たす Unix/Linux ホストを指定できます。
    • SSH 経由でパブリック インターネットからアクセスできる。
    • 移行元データベースのプライベート IP アドレスにアクセスできる。
  2. SSH サーバーで、Database Migration Service が SSH トンネルへの接続に使用できるユーザー アカウントを作成します。 SSH トンネルへの接続に使用できるユーザー アカウントを作成します。

    たとえば、Ubuntu システムでは、次のコマンドを使用できます。

    1. ユーザー アカウントを作成します。
      adduser TUNNEL_ACCOUNT_USERNAME
    2. セキュリティを強化するため、ユーザー アカウントのシェル アクセスを制限します。
      usermod -s /usr/sbin/nologin TUNNEL_ACCOUNT_USERNAME
  3. トンネルに接続するときに Database Migration Service で使用する認証方法を決定します。

    パスワードを使用することも、移行元接続プロファイルを作成するときに Database Migration Service にアップロードできる PEM 形式の SSH 鍵を生成することもできます。

    • パスワードを使用する場合は、追加の設定は必要ありません。 TUNNEL_ACCOUNT_USERNAME アカウントに作成したパスワードを覚えておいてください。
    • 鍵ベースの認証を使用する場合は、 秘密鍵と公開鍵のペアを生成する必要があります。たとえば、 ssh-keygen ユーティリティを使用できます:
      1. 鍵ペアを生成します。
        ssh-keygen -m PEM -f YOUR_KEY_NAME
      2. 公開鍵(YOUR_KEY_NAME.pub)をトンネル サーバーの ~/.ssh/ ディレクトリにコピーします。
      3. 秘密鍵を保存します。移行元接続プロファイルを作成するときに、後で Database Migration Service にアップロードする必要があります。
  4. 組織の要件に合わせてフォワード SSH トンネルを構成するように、/etc/ssh/sshd_config ファイルを編集します。 次の設定を使用することをおすすめします。
    # Only allow the Database Migration Service user to connect.
    AllowUsers TUNNEL_ACCOUNT_USERNAME
    
    # Send keep-alive packets every 60 seconds to ensure that
    # the tunnel doesn't close during the migration
    ServerAliveInterval=60
    
    # Optional: Force key-based authentication
    PasswordAuthentication no
    
    # Enables Database Migration Service to connect from a different host
    PermitTunnel yes
    GatewayPorts yes
  5. ssh コマンドを実行してトンネルを開始します。

    以下のコマンドデータを使用する前に、次の置換を行います。

    • TUNNEL_SERVER_SSH_PORT は、サーバーが SSH 接続をリッスンしているポート番号に置き換えます。
    • SOURCE_DATABASE_PRIVATE_IP は、移行元データベースのプライベート IP アドレスに置き換えます。SSH サーバーは、その IP に到達できる必要があります。
    • SOURCE_DATABASE_PORT は、移行元データベースが接続をリッスンしているポート番号に置き換えます。Oracle の TCP 接続のデフォルトのポート 番号は 1433 です。
    • USERNAME は、トンネルを実行するユーザー アカウントの 名前に置き換えます。これは、 TUNNEL_ACCOUNT_USERNAME とは異なるアカウントです。
    • TUNNEL_SERVER_PUBLIC_IP は、SSH トンネル サーバーのパブリック IP に置き換えます。
    ssh -N -L \
    TUNNEL_SERVER_SSH_PORT:SOURCE_DATABASE_PRIVATE_IP:SOURCE_DATABASE_PORT \
    USERNAME@TUNNEL_SERVER_PUBLIC_IP
  6. 移行ジョブを作成するリージョンの Database Migration Service パブリック IP アドレスからの接続を受け入れるように、SSH トンネルにインバウンド ファイアウォール ルールを作成します。
  7. 後の段階で 移行元接続プロファイルを作成するときに、次の操作を行います。
    1. [接続の詳細を定義] セクションに、移行元 Oracle インスタンスのプライベート IP を入力します。
    2. [接続方法の定義] セクションで、 [フォワード SSH トンネル] を選択します。
    3. SSH サーバーのパブリック IP アドレスまたはホスト名を指定します。
    4. トンネル サーバーの SSH 接続用に指定したポートを指定します。
    5. Database Migration Service が接続するユーザーのユーザー名(TUNNEL_ACCOUNT_USERNAME の値)を入力します。
    6. [認証方法] プルダウン メニューから、TUNNEL_ACCOUNT_USERNAME ユーザーで使用する認証方法を選択します。
      • ユーザー パスワードを使用する場合は、[パスワード] を選択し、 TUNNEL_ACCOUNT_USERNAMEパスワードをフォームに入力します。
      • 鍵ベースの認証を使用するように SSH サーバーを構成した場合は、[秘密鍵/公開鍵ペア] を選択し、秘密鍵ssh-keygen コマンドで生成した をアップロードします。

Private Service Connect インターフェースを使用してプライベート接続を構成する

この接続方法では、 VPC ピアリング割り当てを使用せずに、移行元データベースのプライベート IP に接続できます。Private Service Connect インターフェースは、プライベート IP 接続におすすめの方法です。

必要なロール

Private Service Connect インターフェースを構成するために必要な権限を取得するには、 移行プロセスに関与する次の アカウントに対して、プロジェクトに必要な IAM ロールを付与するよう管理者に依頼してください。

  • 移行を実行するユーザー アカウント:
  • Database Migration Service とは異なるプロジェクトでネットワーク アタッチメントまたはその基盤となるサブネットワークを作成する必要がある場合(共有 VPC ホスト プロジェクトを使用する場合など)、Database Migration Service サービス アカウントservice-PROJECT_NUMBER@gcp-sa-datamigration.iam.gserviceaccount.com)に次のロールを付与する必要があります。 Compute ネットワーク閲覧者roles/compute.networkViewer

ロールの付与の詳細については、 アクセスを管理するをご覧ください。

これらの事前定義ロールには、Database Migration Service を使用して同種 SQL Server 移行を実行するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限 」セクションを開いてご確認ください。

必要な権限

Database Migration Service を使用して同種 SQL Server 移行を実行するには、次の権限が必要です:

  • 移行を実行するユーザー アカウント:
    • datamigration.*
    • compute.networkAttachments.create
    • compute.networkAttachments.get
    • compute.networkAttachments.list
    • compute.networkAttachments.update
    • compute.networkAttachments.delete
  • Database Migration Service サービス アカウント:
    • compute.networkAttachments.get
    • compute.networkAttachments.update
    • compute.subnetworks.get
    • compute.subnetworks.list

カスタムロールや他の 事前定義ロールを使用して、これらの権限を取得することもできます。

内のセルフホスト型ソースの場合 Google Cloud

Compute Engine VM でホストされている移行元 Oracle データベースに Private Service Connect インターフェースを使用してプライベート接続を使用する手順は次のとおりです。

  1. セルフホスト型ソースが存在する VPC にネットワーク アタッチメントを作成します。 手順は次のとおりです。
    1. コンソール Google Cloud で、[ネットワーク アタッチメント] ページに移動します。

      [ネットワーク アタッチメント] に移動

    2. [ネットワーク アタッチメントの作成] をクリックします。
    3. アタッチメントの名前を入力します。
    4. [ネットワーク] メニューから、セルフホスト型ソースが存在する VPC を選択します。
    5. リージョンには、移行先データベースを作成する予定のリージョンと同じリージョンを使用します。

      Database Migration Service は完全なリージョン プロダクトです。つまり、移行に関連するすべてのエンティティ (移行元と移行先の接続プロファイル、 移行ジョブ、移行先データベース、変換ワークスペース)は、 単一のリージョンに保存する必要があります。

    6. [**接続の設定**] で、 [**選択したプロジェクトの接続を受け入れる**] を選択します。

      後でプライベート接続構成を作成すると、Database Migration Service によってプロデューサー プロジェクトが [承認済みプロジェクト] リストに自動的に追加されます

    7. [承認済みプロジェクト] や [不承認となったプロジェクト] は追加しないでください。
    8. [ネットワーク アタッチメントの作成] をクリックします。
  2. Database Migration Service で、 Private Service Connect インターフェースのプライベート接続構成を作成します
  3. 後の段階で 移行元接続プロファイルを作成するときに、次の操作を行います。
    1. In the [Define connection details] section, enter the IP address of the Compute Engine VM where you host the Oracle database.

      VM の IP アドレスは コンソールで確認できます。 Google Cloud

    2. [接続方法の定義] セクションで、 [**プライベート接続**] を選択します。
    3. プルダウン メニューから、前の手順で作成したプライベート接続構成 を選択します。

の外部にあるセルフホスト型ソースの場合 Google Cloud

の外部のネットワークに存在するセルフホスト型 Oracle ソース データベースに Private Service Connect インターフェース を使用してプライベート接続を使用する Google Cloud手順は次のとおりです。

  1. Cloud VPN を使用して Oracle ソースへの直接接続を設定します。

    ネットワーク アーキテクチャによっては、システムに追加の VPN ゲートウェイを設定する必要がある場合があります。 詳細については、 Cloud VPN ドキュメントのピア VPN ゲートウェイに対する HA VPN ゲートウェイを作成する をご覧ください。

  2. 省略可: Cloud VPN がある VPC ネットワークでプライベート接続構成を作成できない場合は、Compute Engine に リバース プロキシ仮想マシン(VM)を作成して、VPC 間の接続を転送します。
  3. Cloud VPN がある VPC にネットワーク アタッチメントを作成します。 手順は次のとおりです。
    1. コンソール Google Cloud で、[ネットワーク アタッチメント] ページに移動します。

      [ネットワーク アタッチメント] に移動

    2. [ネットワーク アタッチメントの作成] をクリックします。
    3. アタッチメントの名前を入力します。
    4. [ネットワーク] メニューから、セルフホスト型ソースが存在する VPC を選択します。
    5. リージョンには、移行先データベースを作成する予定のリージョンと同じリージョンを使用します。

      Database Migration Service は完全なリージョン プロダクトです。つまり、移行に関連するすべてのエンティティ (移行元と移行先の接続プロファイル、 移行ジョブ、移行先データベース、変換ワークスペース)は、 単一のリージョンに保存する必要があります。

    6. From the [Subnetwork] menu, select a subnet where you have at least 6 free usable IP addresses for Database Migration Service (that is, a /29 range).
    7. [**接続の設定**] で、 [**選択したプロジェクトの接続を受け入れる**] を選択します。

      後でプライベート接続構成を作成すると、Database Migration Service によってプロデューサー プロジェクトが [承認済みプロジェクト] リストに自動的に追加されます

    8. [承認済みプロジェクト] や [不承認となったプロジェクト] は追加しないでください。
    9. [ネットワーク アタッチメントの作成] をクリックします。
  4. Database Migration Service で、 Private Service Connect インターフェースのプライベート接続構成を作成します
  5. 後の段階で 移行元接続プロファイルを作成するときに、次の操作を行います。
    1. [**接続の詳細を定義**] セクションに、Oracle ソースのプライベート IP を入力します。
    2. [接続方法の定義] セクションで、 [**プライベート接続**] を選択します。
    3. プルダウン メニューから、前の手順で作成したプライベート接続構成 を選択します。

VPC ピアリングを使用してプライベート接続を構成する

この接続方法では、移行元データベースの IP アドレスまたは ホスト名に Google Cloud VPC から到達できる必要があります。 の外部のネットワークに存在するセルフホスト型ソースでは、 Google Cloud Cloud VPN や Cloud Interconnect などの 追加のネットワーク コンポーネントが必要になる場合があります。

内のセルフホスト型ソースの場合 Google Cloud

Compute Engine VM でホストされている移行元 Oracle データベースに Virtual Private Cloud ピアリングを使用してプライベート接続を使用する手順は次のとおりです。

  1. VM に IP アドレスが割り当てられている Virtual Private Cloud ネットワークが、プライベート サービス アクセス用に構成されていることを確認します。 詳細については、 プライベート サービス アクセスを構成するをご覧ください。
  2. Database Migration Service で、 Compute Engine VM で Oracle データベースをホストしている VPC ネットワークとピアリングする プライベート接続構成を作成します。
  3. 後の段階で 移行元接続プロファイルを作成するときに、次の操作を行います。
    1. In the [Define connection details] section, enter the IP address of the Compute Engine VM where you host the Oracle database.

      VM の IP アドレスは コンソールで確認できます。 Google Cloud

    2. [接続方法の定義] セクションで、[プライベート接続(VPC ピアリング)] を選択します。
    3. プルダウン メニューから、前の手順で作成したプライベート接続構成 を選択します。

の外部にあるセルフホスト型ソースの場合 Google Cloud

の外部のネットワークに存在するセルフホスト型 Oracle ソース データベースに Virtual Private Cloud ピアリングを使用してプライベート接続を使用する手順は次のとおりです。 Google Cloud

  1. Cloud VPN を使用して Oracle ソースへの直接接続を設定します。

    ネットワーク アーキテクチャによっては、システムに追加の VPN ゲートウェイを設定する必要がある場合があります。 詳細については、 Cloud VPN ドキュメントのピア VPN ゲートウェイに対する HA VPN ゲートウェイを作成する をご覧ください。

  2. 省略可: Cloud VPN がある VPC ネットワークでプライベート接続構成を作成できない場合は、Compute Engine に リバース プロキシ仮想マシン(VM)を作成して、VPC 間の接続を転送します。
  3. Database Migration Service で、 Cloud VPN がある VPC ネットワークとピアリングするプライベート接続構成を作成します。
  4. 後の段階で 移行元接続プロファイルを作成するときに、次の操作を行います。
    1. [**接続の詳細を定義**] セクションに、Oracle ソースのプライベート IP を入力します。
    2. [接続方法の定義] セクションで、[プライベート接続(VPC ピアリング)] を選択します。
    3. プルダウン メニューから、前の手順で作成したプライベート接続構成 を選択します。

次のステップ