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を示しています。
次の図は、このリファレンス・アーキテクチャを示しています。
local-regional-standby-dr-db-azure-arch-oracle.zip
Oracle Databaseは、プライマリ・リージョンのExadata仮想マシン(VM)クラスタで実行されます。データ保護およびディザスタ・リカバリの場合、Oracle Active Data Guardは2つのExadata VMクラスタをレプリケートします。1つ目は同じリージョンですが、もう1つ目は別のゾーン(ローカル・スタンバイ)で、2つ目は別のリージョン(リモート・スタンバイ)でレプリケートします。ローカル・スタンバイはフェイルオーバー・シナリオに最適で、リモート・リージョンとの通信によるパフォーマンス・オーバーヘッドなしでアプリケーションが動作し続ける間、ローカル障害のデータ損失はゼロになります。リモート・スタンバイは通常、ディザスタ・リカバリまたは読取り専用ワークロードのオフロードに使用されます。複数のアベイラビリティ・ゾーンでは、Azureのマルチアベイラビリティ・ゾーン・アプリケーション層デプロイメントを活用して、信頼性の高いソリューションを構築し、アプリケーション層をスタンバイ・ロケーションにレプリケートできます。
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
、zone 1
にデプロイされます。 - プライマリ
Region 1
のハブVCNは、CIDR 10.11.0.0/16
のHubVCN1
です。 - 最初のスタンバイExadata VMクラスタは、
CIDR 10.20.0.0/16
を使用してVCN2
のRegion 1
(zone 2
)にデプロイされます。 - ハブVCNは、プライマリ・データベース
HubVCN1
のハブVCNと同じリージョンに存在します。 - 2番目のスタンバイExadata VMクラスタは、
CIDR 10.30.0.0/16
を使用してVCN3
のRegion 2
にデプロイされます。 - リモート・スタンバイ
Region 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のローカルおよびリージョンのディザスタ・リカバリを実行する場合は、次の点を考慮してください。
- Exadata VMクラスタがOracle Database@Azure子サイトに作成されると、各VMクラスタが独自のOCI VCN内に作成されます。Oracle Data Guardでは、
redo
データを出荷するために、データベースが相互に通信する必要があります。VCNsをピアリングして、この通信を有効にします。したがって、Exadata VMクラスタVCNsは重複するIP CIDR範囲を共有できません。 - ディザスタ・シナリオの準備には、様々なビジネス要件および可用性アーキテクチャを考慮し、それらの考慮事項を実用的な高可用性およびディザスタ・リカバリ計画に包含する包括的なアプローチが必要です。ここで説明するシナリオでは、OCIおよびMicrosoft Azure環境のディザスタ・リカバリ構成にシンプルで効果的なフェイルオーバーを使用して、アプリケーション・デプロイメントに最適なアプローチを選択する際に役立つガイドラインを示します。
- OCIは、レイテンシとスループットで測定された優れたパフォーマンスを実現し、最初の10TB/月のエグレスを無料で含むコスト削減を実現するために推奨されるネットワークです。
デプロイ
「プライマリ」リージョンを構成するには、次のステップを実行します。
VCN1
のクライアント・サブネットのセキュリティ・リストに次のイングレス・ルールを追加して、VCN2
およびVCN3
からの受信トラフィックを許可します。ステートレス ソース: IPプロトコル ソース・ポート範囲 宛先ポート範囲 許可 説明 × 10.20.0.0/16
TCP 1521 1521 ポートのTCPトラフィック: 1521 VCN2
からのイングレスを許可× 10.30.0.0/16
TCP 1521 1521 ポートのTCPトラフィック: 1521 VCN3
からのイングレスを許可CIDR 10.11.0.0/16
を使用してVirtual Cloud NetworkHubVCN1
を作成します。- Virtual Cloud Network
HubVCN1
にローカル・ピアリング・ゲートウェイHubLPG1
およびHubLPG2
を作成します。 - Virtual Cloud Network
VCN1
にローカル・ピアリング・ゲートウェイLPG1R
およびLPG1L
を作成します。 - Virtual Cloud Network
VCN2
にローカル・ピアリング・ゲートウェイLPG1R
およびLPG1L
を作成します。 LPG1R
とHubLPG1
の間のローカル・ピアリング接続を確立します。LPG2R
とHubLPG2
の間のローカル・ピアリング接続を確立します。LPG1L
とLPG2L
の間のローカル・ピアリング接続を確立します。VCN2
をターゲットとするトラフィックをLPG1L
に転送し、VCN3
をターゲットとするトラフィックをLPG1R
に転送するには、VCN1
のクライアント・サブネットのルート表にルート・ルールを追加します。宛先 ターゲット・タイプ Target ルート・タイプ 説明 10.20.0.0/16
ローカル・ピアリング・ゲートウェイ LPG1L
静的 VCN2
へのトラフィック10.30.0.0/16
ローカル・ピアリング・ゲートウェイ LPG1R
静的 VCN3
へのトラフィックVCN1
をターゲットとするトラフィックをLPG2L
に転送し、VCN3
をターゲットとするトラフィックをLPG2R
に転送するには、VCN2
のクライアント・サブネットのルート表にルート・ルールを追加します。宛先 ターゲット・タイプ Target ルート・タイプ 説明 10.10.0.0/16
ローカル・ピアリング・ゲートウェイ LPG2L
静的 VCN1
へのトラフィック10.30.0.0/16
ローカル・ピアリング・ゲートウェイ LPG2R
静的 VCN3
へのトラフィックHubVCN1
にルート表HubLPG1rt
を作成します。- ルート表
HubLPG1rt
をローカル・ピアリング・ゲートウェイHubLPG1
に関連付けます。 - ルート表
HubLPG2rt
をローカル・ピアリング・ゲートウェイHubLPG2
に関連付けます。 - Dynamic Routing Gateway
DRG1
を作成します。 HubVCN1
にルート表DRG1rt
を作成します。- ルート表
DRG1rt
に2つのルート・ルールを追加します。1つはVCN1
のターゲットとなるトラフィックをHubLPG1
に転送し、もう1つはVCN2
のターゲットとなるトラフィックをHubLPG2
に転送するルート・ルールです。宛先 ターゲット・タイプ Target ルート・タイプ 説明 10.10.0.0/16
ローカル・ピアリング・ゲートウェイ HubLPG1
静的 VCN1
へのトラフィック10.10.0.0/16
ローカル・ピアリング・ゲートウェイ HubLPG2
静的 VCN2
へのトラフィック DRG1
をHubVCN1
にアタッチするには:- 「VCNアタッチメントの自動生成されたDrgルート表」を選択します。
- 既存のルート表
DRG1rt
を選択します。 - 「VCN CIDRブロック」を選択します。
RPC1
という名前のDRG1
にリモート・ピアリング接続を作成します。HubLPG1rt
にルート・ルールを追加して、VCN2
およびVCN3
のターゲットとなるトラフィックをDRG1
に転送します。宛先 ターゲット・タイプ Target ルート・タイプ 説明 10.30.0.0/16
動的ルーティング・ゲートウェイ DRG1
静的 VCN3
へのトラフィックHubLPG2rt
にルート・ルールを追加して、VCN2
およびVCN3
のターゲットとなるトラフィックをDRG1
に転送します。宛先 ターゲット・タイプ Target ルート・タイプ 説明 10.30.0.0/16
動的ルーティング・ゲートウェイ DRG1
静的 VCN3
へのトラフィック
最初のスタンバイ・リージョン(リージョン2)を作成するには、次のステップを実行します。
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
へのトラフィックDRG3
をHubVCN3
にアタッチするには:- 「VCNアタッチメントの自動生成されたDrgルート表」を選択します。
- 既存のルート表
DRG3rt
を選択します。 - 「VCN CIDRブロック」を選択します。
RPC3
という名前のリモート・ピアリング接続をDRG3
に作成します。RPC1
(リージョン1)とRPC3
(リージョン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
次の追加リソースを確認します。