自己ホスト型 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 トンネルへの接続に使用できるユーザー アカウントを作成します。

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

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

    パスワードを使用するか、PEM 形式の SSH 認証鍵を生成します。この認証鍵は、後でソース接続プロファイルを作成するときに Database Migration Service にアップロードできます。

    • パスワードを使用する場合は、追加の構成は必要ありません。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. /etc/ssh/sshd_config ファイルを編集して、組織の要件に合わせて転送 SSH トンネルを構成します。次の設定を使用することをおすすめします。
    # 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. [接続方法の定義] セクションで、[Forward-SSH tunnel] を選択します。
    3. SSH サーバーの公開 IP アドレスまたはホスト名を指定します。
    4. トンネル サーバーで SSH 接続に指定したポートを指定します。
    5. Database Migration Service が接続するユーザーとして作成したユーザーのユーザー名(TUNNEL_ACCOUNT_USERNAME の値)を入力します。
    6. [認証方法] プルダウン メニューから、TUNNEL_ACCOUNT_USERNAME ユーザーで使用する認証方法を選択します。

VPC ピアリングによるプライベート接続を構成する

この接続方法では、ソース データベースの IP アドレスまたはホスト名に VPC からアクセスできる必要があります。 Google Cloud 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. [接続の詳細を定義する] セクションで、Oracle データベースをホストする Compute Engine VM の IP アドレスを入力します。

      VM の IP アドレスを表示するには、Google Cloud コンソールを使用します。

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

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

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

  1. Oracle ソースへの Cloud VPN による直接接続を設定します。

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

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

次のステップ