Google CloudでのExadata Database Serviceのリージョン間のディザスタ・リカバリの実装
長年にわたり、お客様はOracle Maximum Availability Architecture(MAA)を使用してOracle Exadata Database Serviceを信頼し、オンプレミスとOracle Exadata Database Serviceの両方でミッションクリティカルなアプリケーションの耐障害性を確保してきました。Oracle Database@Google Cloud上のOracle Exadata Database Serviceは、Oracle Cloud Infrastructure (OCI)上のExadataの機能と価格を同等にし、複数のGoogle Cloudリージョンにデプロイして、高可用性とディザスタ・リカバリを実現できます。
アーキテクチャ
このアーキテクチャは、リージョン間のディザスタ・リカバリ・トポロジにおいて、Oracle Database@Google Cloud上のOracle Exadata Database Serviceを使用した高可用性Google Cloudアプリケーションを示しています。
exadb-dr-db-google-cloud oracle.zip
データ保護のために、Oracle Databaseはプライマリ・リージョンのExadata仮想マシン(VM)クラスタで実行されており、Active Data Guardはスタンバイ・リージョンのExadata VMクラスタで実行されているスタンバイ・データベースにデータをレプリケートします。
Google Cloudネットワークを介してActive Data Guardトラフィックをルーティングできます。ただし、このアーキテクチャでは、ネットワークのスループットとレイテンシを最適化するために、OCIネットワークを介したActive Data Guardネットワーク・トラフィックに焦点を当てています。
Oracle Database@Google Cloudネットワーク上のOracle Exadata Database Serviceは、Oracleによって管理されるDynamic Routing Gateway (DRG)を使用してExadataクライアント・サブネットに接続されます。DRGは、異なるリージョンのVirtual Cloud Network (VCNs)間のピア接続を作成するためにも必要です。Because only one DRG is allowed per VCN in OCI, a second VCN with its own DRG is required to connect the primary and standby VCNs in each region.
データベースのTransparent Data Encryption (TDE)キーはOracle Cloud Infrastructure Vaultに格納され、OCIリージョン間でレプリケートされます。
自動バックアップは、プライマリ・リージョンとスタンバイ・リージョンの両方でOracle Database Autonomous Recovery Serviceに構成され、Google CloudまたはOCIのいずれかに配置できます。
Oracle Database Autonomous Recovery Serviceは、自動バックアップの推奨ソリューションです。または、OCI Object Storageを使用することもできます。
アーキテクチャには次のコンポーネントがあります。
- Google Cloudリージョン
Google Cloudリージョンは、リソースをホスティングするためのデータ・センターおよびインフラストラクチャを含む地理的領域です。リージョンは、リージョン内で相互に分離されたゾーンで構成されます。
- リージョン
OCIリージョンとは、可用性ドメインをホストする1つ以上のデータ・センターを含む、ローカライズされた地理的領域のことです。リージョンは他のリージョンから独立しており、長距離の場合は複数の国または大陸にまたがる領域を分離できます。
- Google仮想プライベート・クラウド
Google Virtual Private Cloud(VPC)は、Compute Engine仮想マシン(VM)インスタンス、Google Kubernetes Engine(GKE)コンテナ、データベース・サービスおよびサーバーレス・ワークロードにネットワーキング機能を提供します。VPCは、クラウドベースのサービスにグローバルでスケーラブルかつ柔軟なネットワーキングを提供します。
- OCI仮想クラウド・ネットワークおよびサブネット
仮想クラウド・ネットワーク(VCN)は、ソフトウェアで定義されたカスタマイズ可能なネットワークであり、OCIリージョン内に設定します。従来のデータ・センター・ネットワークと同様に、VCNsではネットワーク環境を制御できます。VCNには、VCNの作成後に変更できる重複しないクラスレス・ドメイン間ルーティング(CIDR)ブロックを複数含むことができます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。
- Oracle Exadata Database Service
これにより、クラウド内でExadataの機能を活用できます。Oracle Exadata Database Serviceは、パブリック・クラウドで専用に最適化されたOracle Exadataインフラストラクチャ上に、実績のあるOracle Database機能を提供します。Oracle Databaseのすべてのワークロードに組み込まれたクラウド自動化、柔軟なリソーススケーリング、セキュリティ、高速パフォーマンスにより、管理を簡素化し、コストを削減できます。
- 仮想クラウド・ネットワーク(VCN)およびサブネット
仮想クラウド・ネットワーク(VCN)は、ソフトウェアで定義されたカスタマイズ可能なネットワークであり、OCIリージョン内に設定します。従来のデータ・センター・ネットワークと同様に、VCNsではネットワーク環境を制御できます。VCNには、VCNの作成後に変更できる重複しないクラスレス・ドメイン間ルーティング(CIDR)ブロックを複数含むことができます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。
- OCIオブジェクト・ストレージ
OCI Object Storageでは、データベースのバックアップ、分析データ、画像やビデオなどのリッチ・コンテンツなど、あらゆるコンテンツ・タイプの構造化データおよび非構造化データが大量にアクセスできます。アプリケーションから直接、またはクラウド・プラットフォーム内から、データを安全かつ安全に保管できます。パフォーマンスやサービスの信頼性を低下させることなく、ストレージを拡張することができます。
迅速、即時、頻繁にアクセスする必要があるホット・ストレージには、標準ストレージを使用します。長期間保持し、ほとんどまたはほとんどアクセスしないコールド・ストレージには、アーカイブ・ストレージを使用します。
- OCI Vault
Oracle Cloud Infrastructure Vaultでは、データを保護する暗号化キーと、クラウド内のリソースへのアクセスを保護するために使用するシークレット資格証明を作成および管理できます。デフォルトのキー管理はOracle管理キーです。OCI Vaultを使用する顧客管理キーを使用することもできます。OCI Vaultには、ボールトおよびキーを管理するための豊富なREST APIセットが用意されています。
- Oracle Database Autonomous Recovery Service
Oracle Database Autonomous Recovery Serviceは、データ損失やサイバー脅威からOracle Databaseを保護するように設計されたフルマネージド・サービスです。データベース・オーバーヘッドの削減、検証されたバックアップによる信頼性の高いリカバリ、および停止またはランサムウェア攻撃の1秒未満でのリカバリを可能にするリアルタイム保護により、迅速なバックアップを実現します。このサービスは、一元化されたデータ保護ダッシュボードを提供し、高い耐障害性を備えたOracle Databaseのバックアップに推奨されます。
- 管理対象サービス
マネージド・サービスは、パフォーマンス、可用性、スケーリング、セキュリティまたはアップグレードの最適化に関連するメンテナンス・タスクを実行することなく、特定の機能を提供します。マネージド・サービスを使用すると、運用の複雑さを心配せずに、顧客に機能を提供することに集中できます。マネージド・サービスは、クラウドネイティブ開発のためのスケーラブルでセキュアなコンポーネントを提供します。マネージド・サービスを使用して、アプリケーションを開発および実行し、データを格納します。アプリを構築および運用するために各ドメインの専門知識を必要とせずに、クラス最高のソリューションを得ることができます。
- ローカル・ピアリング
ローカル・ピアリングを使用すると、同じOCIリージョン内の2つのVCNsがプライベートIPアドレスを使用して直接通信できます。この通信は、インターネットやオンプレミス・ネットワークを経由しません。ローカル・ピアリングは、VCNs間の接続ポイントとして機能するローカル・ピアリング・ゲートウェイ(LPG)によって有効になります。各VCNでLPGを構成し、1つのVCN内のインスタンス、ロード・バランサおよびその他のリソースが同じリージョン内の別のVCN内のリソースに安全にアクセスできるように、ピアリング関係を確立します。
- リモート・ピアリング
リモート・ピアリングにより、同じまたは異なるOCIリージョンに配置できる、異なるVCNs内のリソース間のプライベート通信が可能になります。各VCNは、リモート・ピアリングに独自のDynamic Routing Gateway (DRG)を使用します。DRGは、OCIのプライベート・バックボーンを介してVCNs間でトラフィックを安全にルーティングするため、リソースはインターネットまたはオンプレミス・ネットワークを介してトラフィックをルーティングすることなく、プライベートIPアドレスを使用して通信できます。リモート・ピアリングにより、リージョン間で接続する必要があるインスタンスのインターネット・ゲートウェイまたはパブリックIPアドレスが不要になります。
- Oracle Data Guard
Oracle Data GuardおよびActive Data Guardは、1つ以上のスタンバイ・データベースの作成、メンテナンス、管理およびモニターなど、一連の包括的なサービスを提供し、「本番」のOracleデータベースを障害なく使用可能にします。Oracle Data Guardでは、インメモリー・レプリケーションを使用して、これらのスタンバイ・データベースを本番データベースのコピーとして維持します。計画停止または計画外停止により、本番データベースが使用できなくなった場合、Oracle Data Guardはいずれかのスタンバイ・データベースを本番ロールに切り替えることで、停止に伴う停止時間を最小化できます。Oracle Active Data Guardには、read-mostlyワークロードをスタンバイ・データベースにオフロードする追加機能と、高度なデータ保護機能があります。
- Oracle Database@Google Cloud
Oracle Database@Google Cloudは、GoogleOracle Database@AWS Cloud環境でOracle Databaseワークロードを実行するOracle Cloudデータベース・サービスです。Oracle Database@Google Cloudのすべてのハードウェアは、Google Cloudのデータ・センターに配置され、Google Cloudネットワーキングを使用します。このサービスは、Google Cloud内の単一オペレーティング環境のシンプルさ、セキュリティおよび低レイテンシからメリットを得ます。サービスは、Google CloudコンソールまたはGoogle Cloud自動化ツールを使用して管理できます。Google Cloud IAMおよび管理は、Oracle Exadata Database Serviceのフェデレーテッド・アイデンティティおよびアクセス管理を提供します。
レコメンデーション
- アプリケーションおよびデータベースの定期的なスイッチオーバー操作を3~6か月ごとに実行するか、アプリケーションとデータベースの完全なフェイルオーバー・テストを実施します。
- プライマリ・リージョンとスタンバイ・リージョンの両方に必要なExadataインフラストラクチャをデプロイします。Exadataインスタンスごとに、Exadata VMクラスタを異なるサブネットの同じ仮想プライベート・クラウド(VPC)にデプロイします。その後、Oracle Real Application Clusters (Oracle RAC)データベースをそのクラスタ上でインスタンス化できます。同じVPCで、アプリケーションを別のサブネットにデプロイします。Configure Active Data Guard to replicate data from one Oracle Database to the other, across regions.
- OCIコンソール、OCI CLI、SDK、REST APIなどのOracle Cloud自動化ツールを使用して、Oracle Maximum Availability Architecture (MAA)のベスト・プラクティスに従ってActive Data Guardスタンバイ・データベースを自動的にプロビジョニングします。
考慮事項
Oracle Database@Google CloudでOracle Exadata Database Serviceのリージョン間のディザスタ・リカバリを実行する場合は、次の点を考慮してください。
- 様々なビジネス要件と可用性アーキテクチャを考慮した包括的な災害シナリオを使用して準備します。計画は、実行可能で、高可用性(HA)、ディザスタ・リカバリ(DR)の要件が含まれている必要があります。このアーキテクチャでは、OCI環境およびGoogle Cloud環境のディザスタ・リカバリ構成にシンプルで効果的なフェイルオーバーを使用して、アプリケーション・デプロイメントに最適なアプローチを選択する際に役立つガイドラインを提供します。
- (オプション)Oracle Data Guardオブザーバを別のVM(通常は別の場所またはアプリケーション・ネットワーク内)にインストールすることで、障害時のリカバリ時間を短縮するために自動フェイルオーバー(ファスト・スタート・フェイルオーバー)を有効にします。
- OCIまたはGoogle CloudにあるOracle Database Autonomous Recovery Serviceへの自動バックアップを構成できます。
- OCI自動化を使用して、スタンバイ・データベースの作成時にOracle Data GuardまたはActive Data Guardを構成できます。
デプロイ
プライマリ・リージョン
- Oracle Cloud Infrastructure (OCI)プライマリ・リージョンに、仮想クラウド・ネットワーク(VCN)、HUB VCNプライマリを作成します。
- VCN PrimaryとHUB VCN Primaryに、2つのローカル・ピアリング・ゲートウェイ(LPG)、Primary-LPGおよびHUB-Primary-LPGをそれぞれデプロイします。
- HUB VCN PrimaryとVCN PrimaryのLPG間にピアLPG接続を確立します。
- ハブVCNプライマリVCNに、動的ルーティング・ゲートウェイ(DRG)、プライマリ-DRGを作成します。
- HUB VCNプライマリVCNで、ルート表primary_hub_transit_drgを作成し、VCNプライマリ・クライアント・サブネット、ターゲット・タイプLPGおよびターゲットHUB-Primary-LPGの宛先を割り当てます。たとえば次のようにします。
10.5.0.0/24 target type: LPG, Target: Hub-Primary-LPG - HUB VCNプライマリVCNで、2番目のルート表primary_hub_transit_lpgを作成し、VCNスタンバイ・クライアント・サブネット、ターゲット・タイプDRGおよびターゲットプライマリ-DRGの宛先を割り当てます。たとえば次のようにします。
10.6.0.0/24 target type: DRG, Target: Primary-DRG - ハブVCNプライマリVCNから、ハブVCNプライマリをDRGにアタッチします。DRG VCNアタッチメントを編集し、拡張オプションで、タブ「VCNルート表」を編集し、primary_hub_transit_drgルート表に関連付けます。この構成では、転送ルーティングが許可されます。
- ハブVCNプライマリVCNから、primary_hub_transit_lpgルート表をハブ- プライマリ-LPGゲートウェイに関連付けます。
- 「ハブVCNプライマリ」デフォルト・ルート表で、LPGを使用するためのVCNプライマリ・クライアント・サブネットIPアドレス範囲のルート・ルールを追加します。DRGを使用するには、VCNスタンバイ・クライアント・サブネットIPアドレス範囲に別のルート・ルールを追加します。たとえば次のようにします。
10.5.0.0/24 LPG Hub-Primary-LPG 10.6.0.0/24 DRG Primary-DRG - 「プライマリ-DRG」から、DRGルート表、「RPC、VCおよびIPSecアタッチメントの自動生成DRGルート表」を選択します。次のホップ・アタッチメント・タイプがVCNで、次のホップ・アタッチメント名がプライマリ・ハブ・アタッチメントであるハブVCNプライマリVCNを使用するVCNプライマリ・サブネット・クライアントのIPアドレス範囲に静的ルートを追加します。たとえば次のようにします。
10.5.0.0/24 VCN Primary Hub attachment - 「プライマリ-DRG」リモート・ピアリング接続アタッチメント・メニューを使用して、リモート・ピアリング接続RPCを作成します。
- VCN Primaryクライアント・サブネットで、ネットワーク・セキュリティ・グループ(NSG)を更新して、TCPポート1521のイングレスを許可するセキュリティ・ルールを作成します。オプションで、データベース・サーバーへの直接SSHアクセス用のSSHポート22を追加できます。
ノート:
より正確な構成のために、RPC、VCおよびIPSecアタッチメントの自動生成DRGルート表ルート表のインポート・ルート・ディストリビューションを無効にします。VCNアタッチメントの自動生成DRGルート表に対して、必要なRPCアタッチメントのみを含む新しいインポート・ルート・ディストリビューションを作成して割り当てます。
スタンバイ・リージョン
- OCIスタンバイ・リージョンにVCN HUB VCNスタンバイを作成します。
- Standby-LPGとHUB-Standby-LPGの2つのLPGをVCN StandbyとHUB VCN Standby VCNsにそれぞれデプロイします。
- VCN StandbyとHUB VCN StandbyのLPG間にピアLPG接続を確立します。
- ハブVCNスタンバイVCNにDRG、スタンバイDRGを作成します。
- HUB VCNスタンバイVCNで、ルート表standby_hub_transit_drgを作成し、VCNスタンバイ・クライアント・サブネット、ターゲット・タイプLPGおよびターゲットHUB-Standby-LPGの宛先を割り当てます。たとえば次のようにします。
10.6.0.0/24 target type: LPG, Target: Hub-Standby-LPG - HUB VCNスタンバイVCNで、2番目のルート表standby_hub_transit_lpgを作成し、VCNプライマリ・クライアント・サブネット、ターゲット・タイプDRGおよびターゲットスタンバイDRGの宛先を割り当てます。たとえば次のようにします。
10.5.0.0/24 target type: DRG, Target: Standby-DRG - HUB VCNスタンバイVCNから、ハブVCNスタンバイVCNをDRGにアタッチします。DRG VCNアタッチメントを編集し、拡張オプションで、VCNルート表を編集してstandby_hub_transit_drgルート表に関連付けます。この構成では、転送ルーティングが許可されます。
- HUB VCNスタンバイVCNのハブVCNスタンバイ・デフォルト・ルート表で、VCNスタンバイ・クライアント・サブネットIPアドレス範囲のルート・ルールを追加してLPGを使用し、VCNプライマリ・クライアント・サブネットIPアドレス範囲でDRGを使用します。たとえば次のようにします。
10.6.0.0/24 LPG Hub-Standby-LPG 10.5.0.0/24 DRG Standby-DRG - ルート表standby_hub_transit_lpgをHub-Standby-LPGゲートウェイに関連付けます。
- 「スタンバイDRG」から、DRGルート表「RPC、VCおよびIPSecアタッチメントの自動生成されたDrgルート表」を選択します。次のホップ・アタッチメント・タイプがVCNでハブVCNスタンバイVCNを使用するVCNスタンバイ・サブネット・クライアントのIPアドレス範囲および次のホップ・アタッチメント名がスタンバイ・ハブ・アタッチメントの静的ルートを追加します。たとえば次のようにします。
10.6.0.0/24 VCN Standby Hub attachment - 「Standby-DRG」リモート・ピアリング接続添付メニューを使用して、リモート・ピアリング接続RPCを作成します。
- リモート・ピアリング接続を選択し、「接続の確立」を選択して、プライマリ-DRG OCIDを指定します。ピアリング・ステータスはピアリング済になります。両方のリージョンが接続されています。
- VCNスタンバイ・クライアント・サブネットで、NSGを更新して、TCPポート1521のイングレスを許可するセキュリティ・ルールを作成します。オプションで、データベース・サーバーへの直接SSHアクセス用のSSHポート22を追加できます。
Data Guard
Oracle DatabaseでOracle Data GuardまたはActive Data Guardを有効にするには、次のステップに従います:
- Oracle Databaseの詳細ページで、「Data Guard」グループをクリックし、「スタンバイの追加」をクリックします。
- 「スタンバイの追加」ページで、次の手順を実行します。
- スタンバイ・ピア・リージョンを選択します。
- Google Cloudゾーンにマップされたスタンバイ可用性ドメインを選択します。
- スタンバイExadataインフラストラクチャを選択します。
- 目的のスタンバイVMクラスタを選択します。
- 「Oracle Data Guard」または「Active Data Guard」を選択します。
ノート:
Oracle MAAでは、データ破損の自動ブロック修復、およびレポートのオフロード機能のためにActive Data Guardをお薦めしています。 - リージョン間Oracle Data Guardアソシエーションでは、最大パフォーマンス保護モードのみがサポートされています。
- 既存のデータベース・ホームを選択するか、作成します。
ノート:
Oracleでは、プライマリ・データベースの同じデータベース・ソフトウェア・イメージをスタンバイ・データベース・ホーム用に使用して両方で同じパッチを使用できるようにすることをお薦めします。 SYSユーザーのパスワードを入力します。- 「スタンバイの追加」をクリックします。
Oracle Data Guardを有効にすると、スタンバイ・データベースがOracle Data Guardグループ・セクションにリストされます。
- (オプション)Oracle Data Guardオブザーバを別のVM(通常は別の場所またはアプリケーション・ネットワーク内)にインストールすることで、障害発生時のリカバリ時間を短縮するために自動フェイルオーバー(ファスト・スタート・フェイルオーバー)を有効にします。
デプロイ
次のステップに従って、GitHubからコードをダウンロードし、コードをカスタマイズしてデプロイします。
- GitHubに移動します。
- リポジトリをクローニングまたはダウンロードします。
- READMEドキュメントの指示に従ってください。
