この記事では、Oracle Data Guard を使用してオンプレミスの Oracle Database を Azure 仮想マシン (VM) に移行する方法について説明します。 この記事では、Oracle Database テクノロジ、Azure コンピューティング、Azure ネットワークに関する基本的な理解があることを前提としています。 このシナリオは、 Oracle データベース ワークロードを Azure に移行するのシナリオに基づいています。
Architecture
以下の図はこのシナリオの例を示したものです。
このアーキテクチャの Visio ファイルをダウンロードします。
シナリオ
次のシナリオの詳細について考えてみましょう。
オンプレミス ネットワークには、既存の Oracle Database インスタンスがあり、そのインスタンスから Azure VM にデータベースを移行する必要があります。
データベースは 20 TB で、Oracle Enterprise Linux (x86) で実行されます。 データベースのバージョンは Oracle Database 19c、Enterprise Edition です。
データベースは、2 つのノードを含む Real Application Clusters (RAC) 対応です。 ディザスター リカバリーでは、Oracle Data Guard を使用して、プライマリ データベースの場所から地理的に離れた別のデータセンターにデータベースをレプリケートします。
オンプレミスの Oracle Database とアプリケーション サービスの評価を実施し、必要なコンピューティング サイズとストレージ構成を持つ VM を Azure にデプロイしました。
VM は、ハブ仮想ネットワークとピアリングする Oracle 仮想ネットワーク内のデータベース サブネットに配置します。 データベース サブネットの IP アドレス範囲は 10.42.1.0/24 です。
ハブ仮想ネットワークでは、トラフィックは、FortiGate、Check Point、Cisco などの Microsoft 以外のネットワーク仮想アプライアンス (NVA) を通過する必要があります。 NVA はルーティング デバイスとして機能します。これにより、VM とオンプレミスの Oracle Database 実装間の接続が完全にルーティング可能になります。 オンプレミスとの間で送受信されるすべてのトラフィックを検査するように NVA を構成します。 ハブ NVA の IP アドレスは 10.0.0.5 です。
ハブ仮想ネットワークでハイブリッド接続を構成するには、オンプレミス ネットワークへの Azure ExpressRoute 接続を使用します。
可能な限り最小限のダウンタイムで、オンプレミス データベースを Azure VM に移行する必要があります。 移行には Oracle Data Guard と Oracle Recovery Manager (RMAN) を使用することにします。
ネットワーク接続を確立する
移行に Oracle Data Guard を使用するには、ソース データベースとターゲット データベースが相互に通信できるようにする必要があります。
- Azure ルート テーブルを作成し、データベース サブネットに関連付けます。
- Azure ルート テーブルをハブ NVA の IP アドレスにポイントして、オンプレミス環境にルーティングします。
- オンプレミス環境とデータベース サブネットの間でトラフィックをルーティングするようにハブ NVA を構成します。
ルート テーブルを構成する
次の構成を使用して Azure ルート テーブルを作成し、データベース サブネットに関連付けます。
- アドレス プレフィックス: 192.168.0.0/16
- ネクスト ホップの種類: 仮想アプライアンス
- 次ホップ IP アドレス: 10.0.0.5
- 名前: <Route テーブル名>
次の図は、更新されたネットワーク構成の例を示しています。
接続を確認するには、次の手順を実行します。
- Azure VM にサインインします。 Secure Shell (SSH) プロトコルを使用して、オンプレミスのデータベース サーバーへの接続を確立できることを確認します。
- オンプレミスのデータベース サーバーにサインインします。 SSH プロトコルを使用して Azure VM への接続を確立できることを確認します。
移行アクティビティを実行する
RMAN を使用して、オンプレミスのデータベース サーバーからデータベースをバックアップし、ターゲット システムに復元します。 詳細については、「 新しいホストにデータベースをリストアするを参照してください。
データベース バックアップ ファイルのサイズとネットワーク帯域幅によっては、その目的のために特別に作成したディスクのステージング領域セット上の Azure VM にバックアップ ファイルを直接コピーできる場合があります。 ネットワーク帯域幅の制約のためにこの方法を使用できない場合は、 Azure Data Box を使用してバックアップ ファイルを Azure にコピーできます。 ファイルが Azure BLOB ストレージに格納されたら、復元操作のために Azure VM ステージング領域のディスク セットにコピーする必要があります。
オンプレミス データベース サーバー (プライマリ レプリカ) と Azure VM データベース サーバー (セカンダリ レプリカ) の間で Oracle Data Guard を構成します。 詳細については、「 物理スタンバイ データベースの作成を参照してください。
Oracle Data Guard レプリケーションが完了し、データベースが同期されたら、Azure VM への切り替えを実行します。 詳細については、「 Role transitions」を参照してください。 この手順をアプリケーション チームと調整して、新しいデータベースを指すアプリケーション サービスが更新されるようにします。
最小限のダウンタイムを確保するために、データベース移行と並行して次のアプリケーション移行アクティビティを実行します。
- 計画とディスカッションに従ってアプリケーション サービスを移行します。
- 接続文字列、Transparent Network Substrate (TNS) エントリ、その他の必要な構成など、新しいデータベースを指すアプリケーション サービスを更新します。
- アプリケーション サービスが期待どおりに動作することを確認します。
移行後のアクティビティを実行する
Azure VM 上のデータベースのバックアップを構成します。 詳細については、「 Azure Linux VM 上の Oracle Database のバックアップ戦略を参照してください。
Azure VM は Oracle RAC をサポートしていないので、高可用性とディザスター リカバリーのために Oracle Data Guard を使用することを検討してください。 詳細については、「 Azure VM 上の Oracle のビジネス継続性とディザスター リカバリーを参照してください。
オンプレミス データベースをセカンダリ Data Guard レプリカとして一定期間実行し、移行が成功したことを確認します。
オンプレミス データベースが不要になった後は、データベースとサーバーの使用を停止します。 オンプレミス環境と Azure VM の間の通信を許可するために、ポートとファイアウォールに加えた変更を確認します。 不要になった変更を変換します。
まとめ
上記の構成変更を行って、オンプレミス環境から Azure VM にデータベースを移行します。 構成の変更により、ソース データベースとターゲット データベースが相互に通信でき、最小限のダウンタイムで移行を実行できるようになります。
共同作成者
この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。
- ヤン・フォールスコフ |クラウド ソリューション アーキテクト
- グエル・カヤリ・サリカン |クラウド ソリューション アーキテクト
パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。
次のステップ
次の記事を確認して、実装が推奨されるプラクティスに従っていることを確認します。