このページでは、Database Migration Service を使用して Oracle から Cloud SQL for PostgreSQL への異種移行を行うために、クラウド マネージド Oracle データベース サービスへのネットワーク接続を構成する方法について説明します。
Oracle データベースは、さまざまなクラウド プロバイダからマネージド サービスとして提供されています。Database Migration Service は、特定のクラウド プロバイダ (Amazon RDS for Oracle ソースを除く)を対象としたサポートを提供していませんが、必要なネットワーク接続を確立できれば、任意のマネージド Oracle データベース サービスから移行できます。
マネージド Oracle データベース サービスには、次の 3 つの方法があります。
- パブリック IP 許可リスト
- フォワード SSH トンネル
- Cloud VPN または Cloud Interconnect が必要: Virtual Private Cloud ピアリングによるプライベート IP 接続
ソース データベースのネットワーク接続の詳細については、 ソース ネットワーキング方法の概要をご覧ください。
IP 許可リストの接続を構成する
パブリック IP 許可リストの接続方法を使用する手順は次のとおりです。
- 移行元データベースに、公共のインターネットからアクセスできる IP アドレスがあることを確認します。接続に IP アドレスを使用する必要はありません。IP に関連付けられた DNS レコードがある場合は、代わりにそれを使用できます。
- Database Migration Service からの接続を受け入れるように、移行元データベース サーバーに受信ファイアウォール ルールを作成します。以下の構成を使用します。
- ルールの種類には
portを使用します。 - 許可された IP アドレス範囲に、移行ジョブを作成するリージョンのすべての Database Migration Service パブリック IP アドレスを追加します。
- プロトコルを
TCPに設定します。 - ルールに関連付けられたポート番号を、ソース データベースが受信接続をリッスンするポートに設定します。これは、ソース接続プロファイルに入力する必要があるポート番号と同じです。
Oracle サーバーはデフォルトで
1521ポートを使用します。
ファイアウォール ルールの構成手順は、使用するサーバー ソフトウェアによって異なります。詳細については、ファイアウォール プロダクトのドキュメントをご覧ください。
- ルールの種類には
- 後の段階で、 ソース接続プロファイルを作成するときに、[接続方法の定義] セクションで [IP 許可リスト] を選択します。
フォワード SSH トンネル経由の接続を構成する
Secure Shell(SSH)トンネルを使用してソース データベースに接続する手順は次のとおりです。
- Database Migration Service とソース データベース間のトンネルを開くことができる仮想マシン(VM)を作成します。トンネル サーバーには、次の条件を満たす Unix / Linux ホストを指定できます。
- SSH 経由で公共のインターネットからアクセスできる。
- ソース データベースのプライベート IP アドレスにアクセスできる。
SSH サーバーで、Database Migration Service が SSH トンネルへの接続に使用できるユーザー アカウントを作成します。
たとえば、Ubuntu システムでは、次のコマンドを使用できます。
- ユーザー アカウントを作成します。
adduser TUNNEL_ACCOUNT_USERNAME - セキュリティを強化するために、ユーザー アカウントのシェルアクセスを制限します。
usermod -s /usr/sbin/nologin TUNNEL_ACCOUNT_USERNAME
- ユーザー アカウントを作成します。
トンネルに接続するときに Database Migration Service で使用する認証方法を決定します。
パスワードを使用するか、
PEM形式で SSH 認証鍵を生成します。この認証鍵は、ソース接続プロファイルの作成時に Database Migration Service にアップロードできます。- パスワードを使用する場合は、追加の構成は必要ありません。TUNNEL_ACCOUNT_USERNAME アカウント用に作成したパスワードを覚えておいてください。
- 鍵ベースの認証を使用する場合は、鍵ペアを生成する必要があります。たとえば、
ssh-keygenユーティリティを使用できます。- 鍵ペアを生成します。
ssh-keygen -m PEM -f YOUR_KEY_NAME
- 公開鍵(
YOUR_KEY_NAME.pub)をトンネル サーバーの~/.ssh/ディレクトリにコピーします。 - 秘密鍵を保存します。このファイルは、ソース接続プロファイルの作成時に Database Migration Service にアップロードする必要があります。
- 鍵ペアを生成します。
/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
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
- SSH トンネルにインバウンド ファイアウォール ルールを作成して、移行ジョブを作成するリージョンの Database Migration Service のパブリック IP アドレスからの接続を受け入れます。
- 後の段階で、
ソース接続プロファイルを作成するときに、次の操作を行います。
- [接続の詳細を定義する] セクションで、ソース Oracle インスタンスのプライベート IP を入力します。
- [接続方法の定義] セクションで、[Forward-SSH トンネル] を選択します。
- SSH サーバーのパブリック IP アドレスまたはホスト名を指定します。
- トンネル サーバーで SSH 接続用に指定したポートを指定します。
- Database Migration Service が接続に使用するユーザー(TUNNEL_ACCOUNT_USERNAME の値)のユーザー名を入力します。
- [認証方法] プルダウン メニューから、TUNNEL_ACCOUNT_USERNAME ユーザーで使用する認証方法を選択します。
- ユーザー パスワードを使用する場合は、[パスワード] を選択し、フォームに TUNNEL_ACCOUNT_USERNAME パスワードを入力します。
- 鍵ベースの認証を使用するように SSH サーバーを構成した場合は、[Private/Public key pair] を選択し、
ssh-keygenコマンドで生成した秘密鍵をアップロードします。
VPC ピアリングを使用してプライベート接続を構成する
クラウド マネージド Oracle ソースでプライベート接続を使用するには、Database Migration Service のプライベート接続構成を作成する VPC ネットワークに Cloud VPN または Cloud Interconnect を構成する必要があります。Cloud VPN または Cloud Interconnect がある VPC ネットワークにプライベート接続構成を作成できない場合は、Compute Engine にリバース プロキシ仮想マシン(VM)を配置して接続を確立する必要があります。
Cloud VPN または Cloud Interconnect を使用できない場合は、代わりに 転送 SSH トンネルまたは IP 許可リストの接続方法を使用することをおすすめします。
VPC ピアリングと Cloud VPN でプライベート接続を使用する手順は次のとおりです。
-
Cloud VPN を使用して Oracle ソースへの直接接続を設定します。
ネットワーク アーキテクチャによっては、システムに追加の VPN ゲートウェイを設定する必要があります。詳細については、Cloud VPN のドキュメントの ピア VPN ゲートウェイに対する HA VPN ゲートウェイを作成するをご覧ください。
- 省略可: Cloud VPN がある同じ VPC ネットワークにプライベート接続構成を作成できない場合は、 Compute Engine にリバース プロキシ仮想マシン(VM)を作成して、VPC 間の接続を転送します。
- Database Migration Service で、Cloud VPN がある VPC ネットワークとピアリングする プライベート接続構成を作成します。
- 後の段階で、
ソース接続プロファイルを作成するときに、次の操作を行います。
- [接続の詳細を定義する] セクションで、Oracle ソースのプライベート IP を入力します。
- [接続方法の定義] セクションで、[プライベート接続(VPC ピアリング)] を選択します。
- プルダウン メニューから、前の手順で作成したプライベート接続構成を選択します。