Oracle Database Service for Azureによるマルチクラウド・ディザスタ・リカバリ・ソリューションの設計
企業は、ソリューションを複数のクラウドに展開するようになってきており、ビジネス継続性を確保するには高可用性とディザスタ・リカバリの機能が必要です。Oracle Data Guardは、エンタープライズ・データベースの高可用性、データ保護および障害時リカバリを保証するために広く使用されています。
このマルチクラウド・スプリットスタック・ディザスタ・リカバリ・ソリューションは、Microsoft AzureとOracle Cloud Infrastructure(OCI)を例として使用します。この概念は、あらゆるクラウドにまたがるスプリット・スタック・アーキテクチャに適用できます。
このマルチクラウド・ソリューションは、Oracle Database Service for Microsoft Azure (OracleDB for Azure)を使用してデータベースをデプロイします。OracleDB for Azureを使用すると、お客様は使い慣れたAzureのようなエクスペリエンスで、OCIでエンタープライズ・グレードのOracle Databaseサービスを簡単にプロビジョニング、アクセスおよび運用できます。
このソリューションでは、Exadata Databaseサービス・リージョン間のディザスタ・リカバリ・アーキテクチャを示します。このソリューションは、Azure用のOracleDBでデプロイされたOracle Base Database Serviceにも適用されます。
アーキテクチャ
リージョン間のマルチクラウド・ディザスタ・リカバリ・トポロジでは、OCI本番リージョンおよびディザスタ・リカバリ・リージョンでOracle Exadata Database Service on Dedicated Infrastructure (Oracle Exadata Database Service)が使用され、OracleDB for Azureと別途デプロイされ、Azure本番リージョンおよびディザスタ・リカバリ・リージョンにデプロイされたカスタム・アプリケーションが使用されます。
OCI Azure相互接続リージョンを例として使用します: OCI-FrankfurtおよびAzure-Germany West Centralを本番用、OCI-AmsterdamおよびAzure-West Europeをディザスタ・リカバリに使用します。ディザスタ・リカバリ・レプリケーション・トラフィックは、対応するOCIおよびAzureプライベート・ネットワークを経由します。
このソリューションは、Data Guardを使用して、本番リージョン(アクティブ)から障害時リカバリ・リージョン(スタンバイ)にOracle Exadata Database Serviceデータベースをレプリケートします。アクティブ・スタンバイ・データベースは、計画外停止から保護し、データベースへのパッチ適用やアップグレードなどの計画メンテナンス・アクティビティの停止時間を短縮します。Azure側では、本番リージョンのAzure VMは、Azure Site Recovery Serviceを使用してAzureディザスタ・リカバリ・リージョンにレプリケートされます。
クロスリージョン・ディザスタ・リカバリ設定にOracleDB for Azureをデプロイするには、次の概要レベルのステップを実行します:
- OracleDB for Azureを設定するには、次のアドレスでマルチクラウド・リンクをリクエストします: Oracle Database Service for Microsoft Azureマルチクラウド・リンクをリクエスト。
ノート:
AzureのOracleDBにサインアップすると、サービスにより、アカウント・リンク・プロセスの一環として、データベース・リソースへのプライベート接続が構成されます。認識された組織名または電子メール・アドレスを入力するように求められます。 - OracleDB for Azure Portalにセカンダリ(障害時リカバリ) Azureの場所を追加します。
- OracleDB for Azureをデプロイし、本番リージョンとディザスタ・リカバリ・リージョンの両方でネットワーク・リンクを確立します。
- データベース・ノードでOracle Data Guardを手動で有効化および構成します。
- アプリケーション・サーバーの
tnsnames.oraファイルを更新して、本番ホストとディザスタ・リカバリ・ホストの両方を接続文字列に追加します。 - Microsoftの Azure Site Recovery (ASR)をアプリケーション VMレプリケーション用に構成します。
- OracleDB for AzureポータルからDBサービスを管理します。
次の図は、このリファレンス・アーキテクチャを示しています。
oci-azure-multicloud-dr-oracle.zip
アーキテクチャには、次のコンポーネントがあります。
Oracle Cloud Infrastructureコンポーネント
- リージョン
Oracle Cloud Infrastructureリージョンは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含むローカライズされた地理的領域です。リージョンは他のリージョンから独立しており、広大な距離で(複数の国または複数の大陸にまたがる)リージョンを分離できます。
- 仮想クラウド・ネットワーク(VCN)およびサブネット
VCNは、Oracle Cloud Infrastructureリージョンで設定する、カスタマイズ可能なソフトウェア定義のネットワークです。VCNは、従来のデータ・センター・ネットワークと同様に、ネットワーク環境の完全な制御を可能にします。VCNには重複しない複数のCIDRブロックを含めることができ、VCNの作成後にそれらを変更できます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。
- Dynamic routing gateway (DRG)
DRGは、VCNとリージョン外部のネットワーク(別のOracle Cloud InfrastructureリージョンのVCN、オンプレミス・ネットワーク、別のクラウド・プロバイダ内のネットワークなど)間の、同じリージョン内のVCN間のプライベート・ネットワーク・トラフィックのパスを提供する仮想ルーターです。
- リモート・ピアリング
リモート・ピアリングを使用すると、VCNのリソースは、インターネットまたはオンプレミス・ネットワーク経由でトラフィックをルーティングすることなく、プライベートIPアドレスを使用して通信できます。リモート・ピアリングにより、異なるリージョン内の別のVCNと通信する必要があるインスタンスのインターネット・ゲートウェイおよびパブリックIPアドレスが不要になります。
- Oracle Database Service for Microsoft Azure
Oracle Database Service for Microsoft Azure (OracleDB for Azure)は、OCIに存在するデータベース・リソースを備えたOracle Cloud Infrastructure (OCI)サービスです。OCIアカウントは、Oracle管理トンネル接続であるOracle Database Service for Microsoft Azure Network Linkを介してAzureアカウントにリンクされます。OracleDB for Azureは、AzureおよびOCIテナントのコンポーネントを接続します。
OracleDB for Azureを使用すると、Oracle Cloud Infrastructure DatabaseをAzureクラウド環境に簡単に統合できます。OracleDB for Azureでは、サービスベースのアプローチが使用され、アプリケーション・スタックの複雑なクロスクラウド・デプロイメントを手動で作成する代替手段となります。
- Exadata Databaseサービス
Oracle Exadata Database Serviceを使用すると、クラウドでExadataの機能を活用できます。ニーズの増加時にデータベース・コンピュート・サーバーおよびストレージ・サーバーをシステムに追加できるフレキシブルX8MおよびX9Mシステムをプロビジョニングできます。X8MおよびX9Mシステムでは、高帯域幅と低レイテンシを実現するRDMA over Converged Ethernet (RoCE)ネットワーク、永続メモリー(PMEM)モジュールおよびインテリジェントExadataソフトウェアを提供します。X8MおよびX9Mシステムをプロビジョニングするには、クォータ・ラックのX8およびX9Mシステムと同等のシェイプを使用し、プロビジョニング後はいつでもデータベース・サーバーおよびストレージ・サーバーを追加します。
Oracle Exadata Database Service on Dedicated Infrastructureは、Oracle Cloud Infrastructure (OCI)データ・センターにOracle Exadata Database Machineをサービスとして提供します。Oracle Exadata Database Service on Dedicated Infrastructureインスタンスは、OCIリージョンのExadataラックに存在する仮想マシン(VM)クラスタです。
Oracle Exadata Database Service on Cloud@Customerは、データ・センターでホストされるOracle Exadata Database Serviceを提供します。
- Data Guard
Oracle Data Guardは、1つ以上のスタンバイ・データベースを作成、維持、管理および監視する包括的なサービス・セットを提供し、本番のOracleデータベースを中断することなく可用性を維持できるようにします。Oracle Data Guardは、本番データベースのコピーとしてスタンバイ・データベースを維持します。これにより、計画停止または未計画停止のために本番データベースを使用できなくなった場合に、Oracle Data Guardはスタンバイ・データベースを本番ロールに切り替えて、停止時間を最小限に抑えることができます。
- 仮想ネットワーク(VNet)
Azure Virtual Network(VNet)は、Azureのプライベート・ネットワークの基本的な構成要素です。VNetを使用すると、Azure仮想マシン(VM)などの様々なタイプのAzureリソースが、相互に、インターネットおよびオンプレミス・ネットワークと安全に通信できます。
- VNet Azureバックボーンでのピアリング
仮想ネットワーク・ピアリングを使用すると、Azureの2つ以上の仮想Networksをシームレスに接続できます。仮想ネットワークは、接続目的で1つとして表示されます。ピアリングされた仮想ネットワーク内の仮想マシン間のトラフィックは、Microsoftバックボーン・インフラストラクチャを使用します。同じネットワーク内の仮想マシン間のトラフィックと同様に、トラフィックはMicrosoftのプライベート・ネットワークを介してのみルーティングされます。グローバル仮想ネットワーク・ピアリングは、Azureリージョン間で仮想ネットワークを接続するために使用されます。
- サイト・リカバリ
Azure Site Recoveryは、Azure VMをAzureポータルから直接別のAzureリージョンにレプリケートします。複数の仮想マシンで実行されている複数層アプリケーションの順序を順序付け、障害時にアプリケーションを使用できるようにすることで、リカバリの問題を最小限に抑えることができます。
推奨事項
- ディザスタ・リカバリ
- 障害回復テストは、エンタープライズIT運用の標準的な手法です。最適なフェイルオーバーおよびフェイルバックの保証のために、本番と障害回復を3か月から6か月ごとに切り替えることをお勧めします。
- データベースとアプリケーションのフェイルオーバーは、OCIとAzureで障害時リカバリ・リージョンにそれぞれ同時に発生する必要があります。
- 推奨されるTNS接続文字列を使用し、Oracle Maximum Availability Architectureのベスト・プラクティスに従って、アプリケーションの継続的な可用性を確保します。
ALIAS = (DESCRIPTION = (CONNECT_TIMEOUT=90) (RETRY_COUNT=20)(RETRY_DELAY=3) (TRANSPORT_CONNECT_TIMEOUT=3) (ADDRESS_LIST = (LOAD_BALANCE=on) ( ADDRESS = (PROTOCOL = TCP)(HOST=primary-scan)(PORT=1521))) (ADDRESS_LIST = (LOAD_BALANCE=on) ( ADDRESS = (PROTOCOL = TCP)(HOST=secondary-scan)(PORT=1521))) (CONNECT_DATA=(SERVICE_NAME = gold-cloud)))
TNS接続文字列には、プライマリ・ホストとスタンバイ・ホストの両方が含まれます。特定の値を調整できますが、この例の値は適切な開始点です。
- Oracle Data Guardファスト・スタート・フェイルオーバーを使用すると、手動のステップを実行せずにデータベースのフェイルオーバーを自動化し、リカバリ時間を短縮できます。
- プライマリ・サイトのプライマリ・ロールを使用してアプリケーションのロールベースのカスタム・データベース・サービスを作成し、セカンダリ・サイトのスタンバイ・ロール(読取り専用ワークロードに使用する場合)を作成します。データベース・サービスは、その役割に基づいてサイトで自動的に起動および停止します。
考慮事項
このリファレンス・アーキテクチャをデプロイするときは、次の要因を考慮してください。
- リカバリ・ポイント目標(RPO)およびリカバリ時間目標(RTO)
ビジネス要件に基づいて適切なOracle Data Guardデータ保護モードを選択します。「最大パフォーマンス」または「最大可用性」を選択して、本番データベースのパフォーマンスまたは「最大保護」に優先順位を付け、データ保護に優先順位を付けます。
- ネットワーク接続性
複数のOCIおよびAzureリージョンへのオンプレミス・ネットワーク接続を確立します。
- 低遅延
AzureアプリケーションVMを、OracleDB for Azureによって作成されたOracle Databaseノードとのレイテンシが最も低い可用性ゾーンに配置します。
- データ損失ゼロ
リージョン間のネットワーク・レイテンシが高すぎる場合、Oracle Data Guard遠隔同期インスタンスを使用して、アプリケーションのパフォーマンスに影響を与えずにデータ損失ゼロを実現できます。
