Oracle Database@Azureでのマルチリージョン・スタンバイによるディザスタ・リカバリの実装
長年にわたり、組織は、オンプレミスでもOracle Cloud Infrastructure (OCI)内でも、ミッションクリティカルなアプリケーションをサポートするために、Oracleの最高のディザスタ・リカバリ・テクノロジであるOracle Exadata Database Serviceを利用してきました。Oracle Database@Azure上のOracle Exadata Database Service on Dedicated Infrastructureは、OCI上のExadataと同じ業界をリードするパフォーマンス、機能セットおよび価格パリティを提供します。Microsoft Azureの可用性ゾーン(AZ)とリージョンを活用して、比類のない高可用性とディザスタ・リカバリ機能に加えてAzureのアプリケーションに低レイテンシを提供し、メンテナンス中および中断時にシームレスな運用を実現します。
アーキテクチャ
このアーキテクチャは、2つのリモート・スタンバイ・データベースを使用するマルチリージョン・ディザスタ・リカバリ・トポロジのOracle Database@Azure上のOracle Exadata Database Service on Dedicated Infrastructureを示しています。
次の図は、このリファレンス・アーキテクチャを示しています。
複数リージョン- スタンバイ-dr-db-azure-arch-oracle.zip
Oracle Databaseは、プライマリ・リージョンのExadata仮想マシン(VM)クラスタで実行されます。データ保護およびディザスタ・リカバリの場合、Oracle Active Data Guardは、2つの異なるスタンバイ・リージョンのExadata VMクラスタで実行されている2つのスタンバイ・データベースにデータをレプリケートします。リモート・スタンバイ・データベースの設定により、リージョンの障害に対するデータ保護が保証され、読取り専用問合せ処理のオフロードにも使用できます。スタンバイ・データベースにスイッチオーバーした後のレイテンシが高くなるのを防ぐために、リージョン間でアプリケーションをレプリケートします。
Azureネットワークを介してActive Data Guardトラフィックをルーティングできます。ただし、このアーキテクチャでは、ネットワークのスループットとレイテンシを最適化するために、OCIネットワークを介したActive Data Guardネットワーク・トラフィックに焦点を当てています。
Oracle Database@Azureネットワーク上のOracle Exadata Database Service on Dedicated Infrastructureは、Oracleによって管理されるDynamic Routing Gateway (DRG)を使用してExadataクライアント・サブネットに接続されます。DRGは、異なるリージョンのVirtual Cloud Network (VCNs)間のピア接続を作成するためにも必要です。OCIのVCNごとに1つのDRGのみが許可されるため、各リージョンのプライマリおよびスタンバイVCNsを接続するには、独自のDRGを持つハブVCNとして機能する2番目のVCNが必要です。このアーキテクチャの内容は、次のとおりです。
- プライマリExadata VMクラスタは、
CIDR 10.10.0.0/16を使用してVCN1のRegion 1にデプロイされます。 - プライマリ
Region 1のハブVCNは、CIDR 10.11.0.0/16のHubVCN1です。 - 最初のスタンバイExadata VMクラスタは、
CIDR 10.20.0.0/16を使用してVCN2のRegion 2にデプロイされます。 - 最初のスタンバイ・リージョンのハブVCNは、
CIDR 10.22.0.0/16のHubVCN2です。 - 2番目のスタンバイExadata VMクラスタは、
CIDR 10.30.0.0/16を使用してVCN3のRegion 3にデプロイされます。 - 2番目のスタンバイ・リージョンのハブVCNは、
CIDR 10.33.0.0/16のHubVCN3です。
ハブVCNsで転送ルーティングを有効にするためにサブネットは必要ありません。そのため、これらのVCNsでは非常に小さいIP CIDR範囲を使用できます。OCI子サイトのVCNsは、Oracle Database@Azure上のOracle Exadata Database Service on Dedicated Infrastructure VMクラスタがプライマリおよびスタンバイ・データベース用に作成された後に作成されます。
Microsoft Azureには、次のコンポーネントが用意されています。
- Azureリージョン
Azureリージョンは、可用性ゾーンと呼ばれる1つ以上の物理Azureデータ・センターが存在する地理的領域です。リージョンは他のリージョンから独立しており、長距離の場合は(国または大陸にまたがって)分離できます。
AzureおよびOCIリージョンは、ローカライズされた地理的領域です。Oracle Database@Azureの場合、AzureリージョンがOCIリージョンに接続され、Azureの可用性ゾーン(AZ)がOCIの可用性ドメイン(AD)に接続されます。距離とレイテンシを最小限に抑えるために、AzureとOCIリージョンのペアが選択されます。
- Azure可用性ゾーン
Azureアベイラビリティ ゾーンは、Azureリージョン内で物理的に分離された場所であり、独立した電力、冷却、およびネットワークを提供することで、高可用性と回復力を確保するように設計されています。
- Azure仮想ネットワーク(VNet)
Azure Virtual Network(VNet)は、Azureのプライベート・ネットワークの基本的な構成要素です。VNetを使用すると、Azure仮想マシン(VM)などの多くのタイプのAzureリソースが、相互に、インターネットおよびオンプレミス・ネットワークと安全に通信できます。
- Azure委任サブネット
委任サブネットを使用すると、マネージド・サービス(特にPlatform-as-a-Service (PaaS)サービス)をリソースとして仮想ネットワークに直接挿入できます。仮想ネットワーク内の外部PaaSサービスの完全な統合管理が可能です。
- Azure Virtual Network Interface Card(VNIC)
Azureデータ・センターのサービスには、物理ネットワーク・インタフェース・カード(NIC)があります。仮想マシン・インスタンスは、物理NICに関連付けられた仮想NIC (VNIC)を使用して通信します。各インスタンスには、起動時に自動的に作成およびアタッチされるプライマリVNICがあり、インスタンスの存続期間中に使用できます。
OCIでは、次のコンポーネントが提供されます。
- リージョン
Oracle Cloud Infrastructureリージョンは、可用性ドメインをホストする1つ以上のデータ・センターを含むローカライズされた地理的領域です。リージョンは他のリージョンから独立しており、長距離の場合は(国または大陸にまたがって)分離できます。
- 可用性ドメイン
可用性ドメインは、リージョン内の独立したスタンドアロン・データ・センターです。各可用性ドメイン内の物理リソースは、他の可用性ドメイン内のリソースから分離されているため、フォルト・トレランスが提供されます。可用性ドメインどうしは、電力や冷却、内部可用性ドメイン・ネットワークなどのインフラを共有しません。そのため、ある可用性ドメインでの障害は、リージョン内の他の可用性ドメインに影響を与えないでください。
- 仮想クラウド・ネットワーク(VCN)およびサブネット
VCNは、Oracle Cloud Infrastructureリージョンで設定する、カスタマイズ可能なソフトウェア定義ネットワークです。従来のデータ・センター・ネットワークと同様に、VCNsではネットワーク環境を制御できます。VCNには重複しない複数のCIDRブロックを含めることができ、VCNの作成後にそれらを変更できます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。
- ルート表
仮想ルート表には、通常ゲートウェイを介して、サブネットからVCN外部の宛先にトラフィックをルーティングするルールが含まれます。
- ローカル・ピアリング
ローカル・ピアリングを使用すると、VCNを同じリージョン内の別のVCNとピアリングできます。ピアリングとは、インターネットを横断するトラフィックやオンプレミス・ネットワークを介したルーティングなしで、VCNsがプライベートIPアドレスを使用して通信することを意味します。
- 動的ルーティング・ゲートウェイ(DRG)
The DRG is a virtual router that provides a path for private network traffic between VCNs in the same region, between a VCN and a network outside the region, such as a VCN in another Oracle Cloud Infrastructure region, an on-premises network, or a network in another cloud provider.
- オブジェクト・ストレージ
OCIオブジェクト・ストレージでは、データベースのバックアップ、分析データ、イメージやビデオなどのリッチ・コンテンツなど、あらゆるコンテンツ・タイプの構造化データおよび非構造化データにアクセスできます。インターネットまたはクラウド・プラットフォーム内から直接、データを安全かつセキュアに格納できます。パフォーマンスやサービスの信頼性を低下させることなく、ストレージを拡張できます。
迅速、即時、頻繁にアクセスする必要があるホット・ストレージには、標準ストレージを使用します。長期間保持し、ほとんどまたはほとんどアクセスしないコールド・ストレージには、アーカイブ・ストレージを使用します。
- Data Guard
Oracle Data GuardおよびOracle Active Data Guardは、1つ以上のスタンバイ・データベースを作成、維持、管理および監視する包括的なサービスのセットを提供し、本番のOracleデータベースを中断することなく使用できるようにします。Oracle Data Guardは、インメモリー・レプリケーションを使用して、これらのスタンバイ・データベースを本番データベースのコピーとしてメンテナンスします。計画停止または計画外停止により本番データベースが使用できなくなった場合、Oracle Data Guardはいずれかのスタンバイ・データベースを本番ロールに切り替えることで、停止に伴うダウンタイムを最小化できます。Oracle Active Data Guardは、ほとんどの読取りワークロードをスタンバイ・データベースにオフロードする追加機能を提供し、高度なデータ保護機能も提供します。
- Oracle Database Autonomous Recovery Service
Oracle Database Autonomous Recovery Serviceは、Oracleデータベースを保護するOracle Cloudサービスです。OCIデータベースのバックアップ自動化と強化されたデータ保護機能により、すべてのバックアップ処理およびストレージ要件をOracle Database Autonomous Recovery Serviceにオフロードできるため、バックアップ・インフラストラクチャのコストと手動管理オーバーヘッドが削減されます。
- Exadata Database Service on Dedicated Infrastructure
Oracle Exadata Database Service on Dedicated Infrastructureを使用すると、クラウドでExadataのパワーを活用できます。Oracle Exadata Database Serviceは、パブリック・クラウドで専用に最適化されたOracle Exadataインフラストラクチャ上に、実績のあるOracle Database機能を提供します。Oracle Databaseのすべてのワークロードに組み込まれたクラウド自動化、柔軟なリソーススケーリング、セキュリティ、高速パフォーマンスにより、管理を簡素化し、コストを削減できます。
- Oracle Database@Azure
Oracle Database@Azureは、Microsoft Azureデータ・センターにデプロイされたOracle Cloud Infrastructure (OCI)で実行されているOracle Databaseサービス(Oracle Exadata Database Service on Dedicated InfrastructureおよびOracle Autonomous Database Serverless)です。このサービスは、OCIで機能と価格を同等に提供します。Azure Marketplaceでサービスを購入します。
Oracle Database@Azureは、Oracle Exadata Database Service、Oracle Real Application Clusters (Oracle RAC)およびOracle Data GuardテクノロジをAzureプラットフォームに統合します。ユーザーは、AzureコンソールおよびAzure自動化ツールでサービスを管理します。サービスはAzure Virtual Network(VNet)にデプロイされ、Azure Identity and Access Managementシステムと統合されます。OCIおよびOracle Databaseの汎用メトリックおよび監査ログは、Azureでネイティブに利用できます。このサービスでは、ユーザーにAzureサブスクリプションとOCIテナンシが必要です。
Autonomous Databaseは、Oracle Exadataインフラストラクチャ上に構築されており、自己管理、自己保護、自己修復が可能なため、手動のデータベース管理や人的エラーを排除できます。Autonomous Databaseでは、大規模言語モデル(LLM)と導入場所の選択肢を使用して、組み込みのAI機能を使用して、あらゆるデータでスケーラブルなAI搭載アプリを開発できます。
Oracle Exadata Database ServiceとOracle Autonomous Database Serverlessはどちらも、ネイティブのAzure Portalを介して簡単にプロビジョニングされるため、より広範なAzureエコシステムにアクセスできます。
レコメンデーション
- Active Data Guardを使用して、自動ブロック修復、オンライン・アップグレードおよび移行による包括的なデータ破損の防止、およびワークロードのスタンバイへのオフロード(大部分の読取りスケールアウトによる)を行います。
- アプリケーション・コンティニュイティを有効にして、エンドユーザーからの計画イベントおよび計画外イベント中にデータベースの停止をマスクし、中断のないアプリケーションを確保します。
- Oracle Data Guardによってデータが保護されている場合でも、Oracle Database Autonomous Recovery Service (AzureまたはOCI)に自動バックアップを設定し、週次の完全バックアップを排除する永久増分バックアップ戦略を実装することで、データベースのバックアップ・ワークロードを最小限に抑えます。または、自動バックアップにOCI Object Storageを使用することもできます。
- スタンバイからのバックアップを有効にして、リージョン間のバックアップ・レプリケーションを実現します。
- OCI Full Stack DRを使用して、データベースのスイッチオーバーおよびフェイルオーバー操作をオーケストレーションします。
- OCI Vaultを使用して、顧客管理キーを使用してデータベースのTransparent Data Encryption (TDE)キーを格納します。
考慮事項
Oracle Database@AzureでOracle Exadata Database Service on Dedicated Infrastructureの複数リージョンのディザスタ・リカバリを実行する場合は、次の点を考慮してください。
- Exadata VMクラスタがOracle Database@Azure子サイトに作成されると、各VMクラスタが独自のOCI VCN内に作成されます。Oracle Data Guardでは、
redoデータを出荷するために、データベースが相互に通信する必要があります。VCNsをピアリングして、この通信を有効にします。したがって、Exadata VMクラスタVCNsは重複するIP CIDR範囲を共有できません。 - ディザスタ・シナリオの準備には、様々なビジネス要件および可用性アーキテクチャを考慮し、それらの考慮事項を実用的な高可用性およびディザスタ・リカバリ計画に包含する包括的なアプローチが必要です。ここで説明するシナリオでは、OCIおよびMicrosoft Azure環境のディザスタ・リカバリ構成にシンプルで効果的なフェイルオーバーを使用して、アプリケーション・デプロイメントに最適なアプローチを選択する際に役立つガイドラインを示します。
- OCIは、レイテンシとスループットで測定された優れたパフォーマンスを実現し、最初の10TB/月のエグレスを無料で含むコスト削減を実現するために推奨されるネットワークです。
- クラウド・ツールを使用すると、プライマリ・データベースに対して最大6つのスタンバイ・データベースを作成できます。
- 別のスタンバイ・データベース(カスケード・スタンバイ)に関連付けられたスタンバイ・データベースの作成は、クラウド・ツールではサポートされていません。
デプロイ
「プライマリ」リージョンを構成するには:
VCN1のクライアント・サブネットのセキュリティ・リストに次のイングレス・ルールを追加して、VCN2およびVCN3からの受信トラフィックを許可します。ステートレス ソース: IPプロトコル ソース・ポート範囲 宛先ポート範囲 許可 説明 × 10.20.0.0/16TCP 1521 1521 ポートのTCPトラフィック: 1521 VCN2からのイングレスを許可× 10.30.0.0/16TCP 1521 1521 ポートのTCPトラフィック: 1521 VCN3からのイングレスを許可CIDR 10.11.0.0/16を使用してVirtual Cloud NetworkHubVCN1を作成します。- Virtual Cloud Network
HubVCN1にローカル・ピアリング・ゲートウェイHubLPG1を作成します。 - Virtual Cloud Network
VCN1にローカル・ピアリング・ゲートウェイLPG1Rを作成します。 LPG1RとHubLPG1の間のローカル・ピアリング接続を確立します。VCN1のクライアント・サブネットのルート表にルート・ルールを追加して、VCN2およびVCN3のターゲットとなるトラフィックをLPG1Rに転送します。宛先 ターゲット・タイプ Target ルート・タイプ 説明 10.20.0.0/16ローカル・ピアリング・ゲートウェイ LPG1R静的 VCN2へのトラフィック10.30.0.0/16ローカル・ピアリング・ゲートウェイ LPG1R静的 VCN3へのトラフィックHubVCN1にルート表HubLPG1rtを作成します。- ルート表
HubLPG1rtをローカル・ピアリング・ゲートウェイHubLPG1に関連付けます。 - Dynamic Routing Gateway
DRG1を作成します。 HubVCN1にルート表DRG1rtを作成します。- ルート・ルールをルート表
DRG1rtに追加して、VCN1のターゲットとなるトラフィックをHubLPG1に転送します。宛先 ターゲット・タイプ Target ルート・タイプ 説明 10.10.0.0/16ローカル・ピアリング・ゲートウェイ HubLPG1静的 VCN1へのトラフィック DRG1をHubVCN1にアタッチするには:- 「VCNアタッチメントの自動生成されたDrgルート表」を選択します。
- 既存のルート表
DRG1rtを選択します。 - 「VCN CIDRブロック」を選択します。
DRG1に、RPC1aおよびRPC1bという名前の2つのリモート・ピアリング接続を作成します。HubLPG1rtに2つのルート・ルールを追加して、VCN2およびVCN3のターゲットとなるトラフィックをDRG1に転送します。宛先 ターゲット・タイプ Target ルート・タイプ 説明 10.20.0.0/16動的ルーティング・ゲートウェイ DRG1静的 VCN2へのトラフィック10.30.0.0/16動的ルーティング・ゲートウェイ DRG1静的 VCN3へのトラフィック
最初のスタンバイ・リージョン(リージョン2)を作成するには、次のステップを実行します。
VCN2のクライアント・サブネットのセキュリティ・リストに次のイングレス・ルールを追加して、VCN1およびVCN3からの受信トラフィックを許可します。ステートレス ソース: IPプロトコル ソース・ポート範囲 宛先ポート範囲 許可 説明 × 10.10.0.0/16TCP 1521 1521 ポートのTCPトラフィック: 1521 VCN1からのイングレスを許可× 10.30.0.0/16TCP 1521 1521 ポートのTCPトラフィック: 1521 VCN3からのイングレスを許可- CIDR
10.22.0.0/16を使用して、Virtual Cloud NetworkHubVCN2を作成します。 - Virtual Cloud Network
HubVCN2にローカル・ピアリング・ゲートウェイHubLPG2を作成します。 - Virtual Cloud Network
VCN2にローカル・ピアリング・ゲートウェイLPG2Rを作成します。 LPG2RとHubLPG2の間のローカル・ピアリング接続を確立します。VCN2のクライアント・サブネットのルート表にルート・ルールを追加して、VCN1およびVCN3のターゲットとなるトラフィックをLPG2Rに転送します。宛先 ターゲット・タイプ Target ルート・タイプ 説明 10.10.0.0/16ローカル・ピアリング・ゲートウェイ LPG2R静的 VCN1へのトラフィック10.30.0.0/16ローカル・ピアリング・ゲートウェイ LPG2R静的 VCN3へのトラフィックHubVCN2にルート表HubLPG2rtを作成します。- ルート表
HubLPG2rtをローカル・ピアリング・ゲートウェイHubLPG2に関連付けます。 - Dynamic Routing Gateway
DRG2を作成します。 HubVCN2にルート表DRG2rtを作成します。DRG2rtにルート・ルールを追加して、VCN2のターゲットとなるトラフィックをHubLPG2に転送します。宛先 ターゲット・タイプ Target ルート・タイプ 説明 10.20.0.0/16ローカル・ピアリング・ゲートウェイ HubLPG2静的 VCN2へのトラフィックDRG1をHubVCN2にアタッチするには:- 「VCNアタッチメントの自動生成されたDrgルート表」を選択します。
- 既存のルート表
DRG2rtを選択します。 - 「VCN CIDRブロック」を選択します。
DRG2に、RPC2aおよびRPC2cという名前の2つのリモート・ピアリング接続を作成します。RPC1a(リージョン1)とRPC2a(リージョン2)の間にリモート・ピアリング接続を確立します。HubLPG2rtに2つのルート・ルールを追加して、VCN1およびVCN3のターゲットとなるトラフィックをDRG2に転送します。宛先 ターゲット・タイプ Target ルート・タイプ 説明 10.10.0.0/16動的ルーティング・ゲートウェイ DRG2静的 VCN1へのトラフィック10.30.0.0/16動的ルーティング・ゲートウェイ DRG2静的 VCN3へのトラフィック
2番目のスタンバイ・リージョン(リージョン3)を作成するステップに従います。
VCN3のクライアント・サブネットのセキュリティ・リストに次のイングレス・ルールを追加して、VCN1およびVCN2からの受信トラフィックを許可します。ステートレス ソース: IPプロトコル ソース・ポート範囲 宛先ポート範囲 許可 説明 × 10.10.0.0/16 TCP 1521 1521 ポートのTCPトラフィック: 1521 VCN1からのイングレスを許可 × 10.20.0.0/16 TCP 1521 1521 ポートのTCPトラフィック: 1521 VCN2からのイングレスを許可 CIDR 10.33.0.0/16を使用してVirtual Cloud NetworkHubVCN3を作成します。- Virtual Cloud Network
HubVCN3にローカル・ピアリング・ゲートウェイHubLPG3を作成します。 - Virtual Cloud Network
VCN3にローカル・ピアリング・ゲートウェイLPG3Rを作成します。 LPG3RとHubLPG3の間のローカル・ピアリング接続を確立します。VCN3のクライアント・サブネットのルート表にルート・ルールを追加して、VCN1およびVCN2のターゲットとなるトラフィックをLPG3Rに転送します。宛先 ターゲット・タイプ Target ルート・タイプ 説明 10.10.0.0/16ローカル・ピアリング・ゲートウェイ LPG3R静的 VCN1へのトラフィック10.20.0.0/16ローカル・ピアリング・ゲートウェイ LPG3R静的 VCN2へのトラフィックHubVCN3にルート表HubLPG3rtを作成します。- ルート表
HubLPG3rtをローカル・ピアリング・ゲートウェイHubLPG3に関連付けます。 - Dynamic Routing Gateway
DRG3を作成します。 HubVCN3にルート表DRG3rtを作成します。DRG3rtにルート・ルールを追加して、VCN3のターゲットとなるトラフィックをHubLPG3に転送します。宛先 ターゲット・タイプ Target ルート・タイプ 説明 10.30.0.0/16ローカル・ピアリング・ゲートウェイ HubLPG3静的 VCN3へのトラフィックDRG1をHubVCN3にアタッチするには:- 「VCNアタッチメントの自動生成されたDrgルート表」を選択します。
- 既存のルート表
DRG3rtを選択します。 - 「VCN CIDRブロック」を選択します。
DRG3に、RPC3bおよびRPC3cという名前の2つのリモート・ピアリング接続を作成します。RPC1b(リージョン1)とRPC3b(リージョン3)の間にリモート・ピアリング接続を確立します。RPC2c(リージョン2)とRPC3c(リージョン3)の間にリモート・ピアリング接続を確立します。HubLPG3rtに2つのルート・ルールを追加して、VCN1およびVCN2のターゲットとなるトラフィックをDRG3に転送します。宛先 ターゲット・タイプ Target ルート・タイプ 説明 10.10.0.0/16動的ルーティング・ゲートウェイ DRG3静的 VCN1へのトラフィック10.20.0.0/16動的ルーティング・ゲートウェイ DRG3静的 VCN2へのトラフィック
詳細の参照
Oracle Database@AzureおよびOracle Data Guardについてさらに学習します。
- Oracle Database@Azure向けOracle Maximum Availability Architectureについて学ぶ
-
高可用性概要およびベスト・プラクティスのドキュメント
-
Oracle Data GuardドキュメントのMAAベスト・プラクティス
-
最初の原則: Oracle Database@Azureサイトでのミッション・クリティカルなアプリケーションの電源投入
- Oracle Exadata Database Service on Dedicated Infrastructure
次の追加リソースを確認します。
