OCIディザスタ・リカバリ・アーキテクチャでの中間層レプリケーションの実装
アプリケーション・サーバーとその構成をプライマリ・リージョンとセカンダリ・リージョン間でレプリケートすることで、Oracle Cloud Infrastructure (OCI)の対称ディザスタ・リカバリ(DR)システムにミドルウェア層の進行中のレプリケーションを実装し、フェイルオーバーまたはスイッチオーバー時のダウンタイムとデータ損失を最小限に抑えます。
このソリューション・プレイブックでは、システムのライフサイクル全体にわたる中間層レプリケーションの概要を説明します。様々なレプリケーション・テクノロジを示し、実際のシナリオで実装するための詳細を提供します。プライマリ・システムとスタンバイ・システムの両方がOCIにあるアクティブ- パッシブ中間層のディザスタ・リカバリ・シナリオが適用されます。
このコンテンツは、ミドルウェアおよびOCIのディザスタ・リカバリ(DR)トポロジに精通した中間層管理者を対象としています。例および用語は、Oracle WebLogic ServerおよびWebLogicを利用するPaaSサービスを参照しますが、記述されているレプリケーション・テクノロジおよび実装は、すべての中間層システムに適用されます。
ノート:
このドキュメントでは、ディザスタ・リカバリの設定について説明していません。アーキテクチャ
このアーキテクチャは、ミドルウェアのアクティブ/パッシブ・ディザスタ・リカバリ・トポロジの概要を示しています。このプレイブックでは、プライマリ・システムとセカンダリ・システムがすでに作成されていることを前提としています。
中間層システムのアクティブ/パッシブ・ディザスタ・リカバリ・ソリューションでは、次の重要な機能を実装する必要があります。
- 地理的分離
プライマリ・システムとセカンダリ・システムは地理的に分離されているため、同じ障害イベントの影響を受けません。
- 対称
プライマリ・システムとセカンダリ・システムは対称です。セカンダリ・システムのノード数は中間層とDB層で同じであり、CPUおよびメモリー容量は類似しています。
- 一意のフロントエンド名
プライマリおよびセカンダリの一意のフロントエンド名。クライアントからシステムへのアクセスは、プライマリサイトとして使用されているサイトに依存しません。これを実現するには、フロントエンド・アドレス名が一意であり、その時点でプライマリであるシステムのIPに常にマップされている必要があります。この名前は、通常、仮想フロントエンドまたはバニティURLと呼ばれます。
- リスニングアドレス
中間層プロセスのリスニング・アドレスは、両方のシステムで解決可能なホスト名であり、ローカル・サイトのホストのIPにマップされている必要があります。
- データベースレプリケーション
プライマリ・データベースのデータは、Oracle Data Guardを使用してスタンバイ・データベースにレプリケートする必要があります。
- 中間層レプリケーション
プライマリ中間層とセカンダリ中間層は同期している必要があります。同じ構成、同じ製品バージョンおよび同じパッチ・レベルである必要があります。これを達成するための様々なアプローチがあります。プライマリ・システムとセカンダリ・システムを個別に保守できます。プライマリで変更を実行すると、セカンダリで同じ変更が繰り返されます。プライマリにパッチがインストールされている場合は、同じパッチがスタンバイにインストールされます。ただし、これにより作業が複製され、エラーが発生しやすくなります。Oracle Maximum Availability Architecture (Oracle MAA)では、中間層ファイル・システム・アーティファクトをコピーするために自動レプリケーションを実装することをお薦めします。これにより、プライマリ・システムとスタンバイ・システムが常に同期されます。
- 各サイトに固有の情報の管理
セカンダリの構成はプライマリの正確なコピーですが、各サイトに固有の情報を含むファイル・アーティファクトが存在する場合があり、プライマリとセカンダリで異なる必要があります。DRトポロジでは、これをサポートし、サイト固有の情報のカスタマイズを許可する必要があります。
ヒント :
Oracle WebLogic Serverの例
Oracle WebLogicシステムでは、プライマリ中間層はプライマリ・リージョンのデータベースに接続し、セカンダリ中間層はセカンダリ・リージョンのデータベースに接続します。プライマリおよびセカンダリ中間層システムは同じ構成であるため、各システムでローカル・データベースを指す適切な接続文字列が使用されるようにするメカニズムが必要です。Oracle Maximum Availability Architecture(Oracle MAA)では、各サイトに異なる
tnsnames.oraファイルがあるデータ・ソースにTNS別名を使用することをお薦めします。中間層レプリケーション・メソッドでは、データベースの接続文字列(tnsnames.ora)を含むファイルをスキップするか、ローカル・データベースを指すようにファイル内のデータベース接続文字列を置き換えるかのいずれかを考慮する必要があります。
次の図は、中間層システムのアクティブ/パッシブ・ディザスタ・リカバリ・ソリューションの例です。
用語
次の概念と用語を理解しておく必要があります。
- 中間層(中間層またはミドルウェア)
中間層とは、ユーザー・インタフェース(フロントエンド)とデータ・ストレージ(バックエンド)の間に位置する多層アプリケーション・アーキテクチャ内のレイヤーを指します。ビジネス・ロジック、データ処理およびセキュリティを処理し、ユーザーとデータベース間のブリッジとして機能します。
- 災害
サイトまたは地理的領域で許容できないダメージまたは損失を引き起こす、突然かつ計画外の致命的なイベント。この障害というイベントが発生すると、許容するほどの期間にわたって、重大な機能、プロセスまたはサービスを提供する機会を損なうので、組織はそのリカバリ計画を起動します。
-
ディザスタ・リカバリ(DR)
地理的に離れたセカンダリ・サイトへのアプリケーションやデータのリカバリ戦略を用意することで、本番サイトでの自然停電や計画外停止に対する保護対策の機能です。
- 障害時リカバリ・トポロジ
Oracle Fusion Middleware障害時リカバリ・ソリューションを構成する、本番サイトとセカンダリ・サイトのハードウェアおよびソフトウェアのコンポーネント。
- Oracleの可用性を最大化するアーキテクチャ
Oracle Maximum Availability Architecture(Oracle MAA)は、Oracle製品(データベース、Fusion Middleware、アプリケーション)のデータ保護および可用性のためのベスト・プラクティスのブループリントです。Oracle MAAのベスト・プラクティスの実装は、すべてのOracleデプロイメントの重要な要件の1つです。Oracleシステムを設定および管理するための推奨事項を提供します。Oracle MAAには、Oracle Fusion Middlewareエンタープライズ・デプロイメント・ガイドの推奨事項が含まれており、データ・センターまたはリージョン全体に影響する停止の計画停止時間と計画外の停止時間を最小限に抑えるための障害保護のベスト・プラクティスが追加されています。
- システム
システムとは、相互に機能することでアプリケーションをホスティングする、一連のターゲット(ホスト、データベース、アプリケーション・サーバーなど)を指します。たとえば、Oracle Enterprise Managerでアプリケーションを監視するために、最初に、アプリケーションが実行されるターゲットであるデータベース、リスナー、アプリケーション・サーバーおよびホストで構成されるシステムを作成します。
- サイト
サイトとは、アプリケーションのグループを実行するのに必要なデータ・センター内の様々なコンポーネントのセットです。サイトは、たとえば、Oracle Fusion Middlewareインスタンス、データベース、ストレージなどがあります。
- 本番またはプライマリ・サイト
システムのワークロードを正確な時点で実行しているサイト。これは、ハードウェア、ネットワークおよびストレージ・リソースとプロセスのグループであり、ビジネス・ロジックの運搬および正確な時点でのリクエストの処理に積極的に使用されます。
- セカンダリ(またはスタンバイまたはDR)サイト
セカンダリ・サイトは、ビジネス・ロジックを引き継ぐことができるバックアップの場所であり、プライマリ・サイトが処理していることを要求します。通常、セカンダリ・サイトはスタンバイ・モードまたは非アクティブ・モードのままであるため、「スタンバイ」とも呼ばれます。これは、通常の操作中に本番ワークロードを処理しないことを意味します。ただし、これはセカンダリ・サイトが他の目的に使用できないことを意味しません。これは、セカンダリ・サイトがレポート操作に使用される最新のモデルで特に当てはまります。さらに重要なのは、プライマリ・サイトに適用する前に変更を検証することです。
- リカバリ・ポイントの目標(RPO)
リカバリ・ポイントの目的は、システムがビジネス・ポイントから許容できるデータ損失の量です。たとえば、停止が発生したときに許容されるデータ損失の量です。
- リカバリ時間目的(RTO)
リカバリ時間の目的は、システムが許容できる停止時間、または停止が発生してもアプリケーションやサービスを使用できない許容時間(ビジネスの観点から)です。
- Oracle Cloud Infrastructure (OCI)
OCIは、可用性の高いホスト環境で幅広いアプリケーションおよびサービスを構築および実行できる、補完的なクラウド・サービスのセットである。OCIは、オンプレミスネットワークからセキュアにアクセスできる柔軟なオーバーレイ仮想ネットワークにおいて、高パフォーマンスなコンピュート機能(物理ハードウェア・インスタンスとしての)とストレージ容量を提供しています。
- OCIのリージョン
OCIリージョンとは、ローカライズされた地理的領域であり、1つ以上の可用性ドメインで構成されます。リージョンは他のリージョンから独立しており、複数の国または大陸をもまたがる広大な空間で分離できます。リージョンとは、災害復旧に関するサイトです。
- OCI Block Volumes
OCI Block Volumesは、組み込みの冗長性と拡張性を備えた、仮想マシンの存続期間を超えて持続する、信頼性の高い高パフォーマンスで低コストのブロック・ストレージを提供します。
- OCI File Storage
OCI File Storageは、サーバーおよびアプリケーションが共有ファイル・システムを介してデータにアクセスできるようにする、完全に管理された柔軟なエンタープライズ・グレードのストレージ・サービスです。
- DBFS
データベース・ファイル・システム(DBFS)は、Oracle Databaseの標準ファイル・システム・インタフェースです。DBFSは、ローカル・ファイル・システムと類似した共有ネットワーク・ファイル・システムを提供し、サーバー・コンポーネントとクライアント・コンポーネントの両方を持つ点で、NFSと似ています。
- WLS-HYDRフレームワーク
WLS-HYDRフレームワークとは、Oracle WebLogic Server (WLS)環境(特にOracle Cloud Infrastructure内)の対称ディザスタ・リカバリ(DR)システムを作成および構成するためのフレームワークを指します。このフレームワークは、WLSまたはFusion Middleware (FMW)ドメインのDR環境の設定に関連する手動プロセスを自動化します。
- Oracle WebLogic Server for Oracle Cloud Infrastructureスタック
Oracle WebLogic Server for OCIスタックとは、OCI MarketplaceのOracle Resource Managerを使用して構築された事前構成済の環境で、OCI上のOracle WebLogic Serverデプロイメントをプロビジョニングおよび管理します。コンピュート・インスタンス、ネットワーキング、ロード・バランサなどの様々なOCIリソースの作成と構成を、WebLogicドメインとともに自動化します。
- Oracle SOA Suite on Marketplaceスタック
Oracle SOA Suite on Marketplaceスタックは、OCI MarketplaceのOracle Resource Managerを使用して構築され、OCI上でOracle SOA Suiteアプリケーションをデプロイおよび管理するための事前構成済環境です。コンピュート・インスタンス、ネットワーキング、ロード・バランサなどの様々なOCIリソースの作成と構成を、SOA WebLogicドメインとともに自動化します。
- TNS別名
Oracleでは、TNS別名(ネット・サービス名とも呼ばれる)は、データベース接続を簡略化するわかりやすい識別子です。これはショートカットとして機能し、人間が読める名前を、特定のOracleデータベース・インスタンスに到達するために必要なより複雑な接続詳細にマップします。これらの詳細(プロトコル、ホスト、ポートおよびサービス名など)は、通常
tnsnames.oraという名前の構成ファイルに格納されます。 - TNS管理フォルダ
TNS_ADMIN環境変数で指定されたOracle TNS Adminフォルダは、tnsnames.oraなどのOracle Net Services構成ファイルが存在するディレクトリです。中間層システムでは、tnsnames.oraおよびデータベースへの接続に必要なその他のアーティファクトを含むTNS管理フォルダを使用できます。
OCIのミドルウェアのアクティブ/パッシブDR設定手順について
ミドルウェアのアクティブ/パッシブ・ディザスタ・リカバリ・トポロジでは、セカンダリ・システムはプライマリ・システムのミラーです。プライマリ・システムとセカンダリ・システムの両方がOCIにある場合、セカンダリ・システムを設定するには様々な方法があります。
- 手動
OCIコンソールまたはCLIを使用して、プライマリ・システムのミラーとして各リソースを個別に作成します。
- WLS-HYDRフレームワーク
Oracle WebLogicに基づく中間層システムにはWLS-HYDRフレームワークを使用します。このフレームワークでは、OCI SDK for Pythonを使用して、プライマリ・システムのミラーとしてセカンダリのすべてのリソースを作成します。GitHubの
wls-hydrフレームワークへのリンクについては、このプレイブックの「詳細表示」の項を参照してください。 - 同じマーケットプレイス・スタックを使用したプロビジョニング
プライマリ・システムがOracle WebLogic Server for OCIやSOA Marketplaceなどのマーケットプレイス・スタックである場合、プライマリで使用されているものと同じマーケットプレイス・スタックを使用して、スタンバイ・データベースをスナップショット・スタンバイ・モードで使用することでプロビジョニングできます。
このソリューション・プレイブックは、前述のアクティブ/パッシブ・ディザスタ・リカバリ・トポロジの機能を満たしているかぎり、これらすべてのケースに適用されます。プライマリ・システムとセカンダリ・システムがすでに作成されていることを前提としています。
ノート:
このドキュメントでは、ディザスタ・リカバリの設定について説明していません。