こんにちは!インサイトテクノロジーの松尾です。
今回は、Oracle Databaseを使っている皆さま、特にStandard Edition 2 (SE2) とOracle Cloud Infrastructure (OCI) のハイブリッド環境に興味がある方へ朗報をお届けします!
これまで、「オンプレミスのOracle SE2とOCI Base Database Service (BDS) で災害復旧(DR)環境を構築したいんだけど、TDE(透過的データ暗号化)の壁が立ちはだかって・・・😭」と悩んでいた方も多いのではないでしょうか?実は、この長年の課題に、ついに強力な解決策が登場しました。
ハイブリッド環境って、何が嬉しいの?
まず、ざっくりと「ハイブリッド環境」について触れておきます。これは、文字通りオンプレミス環境とクラウド環境(今回はOCIですね!)を連携させること。
具体的にどんなメリットがあるかというと、大きく2つ挙げられます。
-
既存オンプレ環境の回復力UP!
- リージョン外のDR環境として、災害への備え
- OCI環境は、初期インフラコストなしで利用開始できるのが魅力
-
オンプレからOCIへの段階的移行!
- まずはOCIにスタンバイサイトを作ってテスト
- その後スイッチオーバーすることでOCIをプライマリ、オンプレをスタンバイという形で、クラウドへ移行
今回注目するのは、OCIデータベースの中でも「Oracle Base Database Service」です。Base Database Serviceは、パッチ適用やメンテナンスはOCIコンソールから直接できるマネージドサービス。Oracleライセンスの費用も安く提供されているため、OCIで新規ライセンスが必要なケースではこのBase Database Serviceを選択するケースが多いと思います。
立ちはだかる「TDE」の壁、その正体とは?
さて、本題のTDE(透過的データ暗号化)問題です。
OCI Base Database ServiceではTDEが必須です。
Oracle Database Enterprise Edition (EE) なら、ASO(Advanced Security Option)という有償オプションでTDEが使えます。ウォレットキーをオンプレミスのプライマリからOCIのスタンバイへコピーすれば、簡単にスタンバイ環境が作れますし、スイッチオーバーもOK!
でも、Standard Edition 2 (SE2) の場合は話が別なんです!
オンプレミスのSE2はTDEをサポートしていません。なのに、OCI Base Database ServiceではTDEが必須なんです。。。
この状況でオンプレミスのプライマリとOCIのスタンバイでDRを構成する際に何が問題だったかというと、、、
- オンプレミスのプライマリ(非暗号化)からOCIのスタンバイ(暗号化必須)へアーカイブログを送ると、最初は動いているように見えます。
- ところが、万が一スイッチオーバーしてOCI側がプライマリになると、暗号化されたデータ(アーカイブログ)をオンプレミス側のスタンバイへ送るようになります。
- この暗号化されたデータをオンプレミス側のスタンバイで復号するには、TDEライセンス(EEのASO)が必要なんですが、SE2では使えません!
結果として、スタンバイを最新の状態に保てなくなり、オンプレミスを最新の状態にするにはエクスポート/インポートしかない、という実用的ではない状態に陥っていました。DRソリューションとしては、これじゃあ困りますよね。
救世主登場!「TABLESPACE_ENCRYPTION
」パラメータと「DECRYPT_ONLY
」設定値
この長年の悩みを解決する、まさに 「魔法」のような解決策が見つかりました!それは、Oracle 19.16以降で利用可能な新しいパラメータ「TABLESPACE_ENCRYPTION
」です!
この新しいパラメータの最も重要なポイントは、これまで必須だった「プライマリとスタンバイで同一の暗号化ポリシーを持つ」という要件が不要になったことです。
少し専門的になりますが、このパラメータにはいくつか値があります。
-
OCI Base Database Serviceのデフォルトは「
AUTO_ENABLE
」:これは、すべての新規表領域が自動的に暗号化される設定です。 -
オンプレミスのデフォルトは「
MANUAL_ENABLE
」:どの表領域を暗号化するか手動で制御できます(ただしASO付きEEがない限り暗号化はできません)。
そして、この状況を解決する まさに「魔法の値」 が、「DECRYPT_ONLY
」です!
この「DECRYPT_ONLY
」をオンプレミス側のスタンバイ環境に設定することで、OCIから送られてくる暗号化された表領域に対するアーカイブログが、スタンバイ側でちゃんと復号化されることが保証されます。
「え、ウォレット使うの?それってTDEライセンス必要なんじゃ?」と思った方!ご安心ください!
このソリューションは、Standard Editionでのセキュリティウォレットのサポートによって実現されていますが、ウォレットを使用しているにもかかわらず、データベース内のデータを暗号化せず、Oracleライセンス要件を遵守しています!
これにより、SE2のライセンスでOCI Base Database ServiceとのDRが可能になるというわけです! OCI Base Database Serviceで追加された新しい表領域やデータファイルでさえもスタンバイで復号化されます。
Dbvisit StandbyMPが、面倒な作業を「全自動」に!🤖
今回のソリューションを、さらに手軽に、そして強力にするのが、データベース災害復旧(DR)の専門家Dbvisit Softwareが提供する「Dbvisit StandbyMP」です!
Dbvisit StandbyMPは、次にリリースされるバージョン12.2からOCIハイブリッドをサポートし、以下の作業を完全自動化します。
- セットアップ:オンプレミスのプライマリでのウォレット作成やパラメータ設定、設定確認のための再起動、OCIスタンバイへのウォレットキーコピーまで自動で実施。
- スイッチオーバー:OCI Base Database Serviceへプライマリを切り替えた後であっても、新規データファイルや表領域はオンプレ側のスタンバイで自動的に復号化され、同期が保たれます。これまで同期が破綻していた問題が解決されました。
- フェイルオーバー後:暗号化されたOCI Base Database Serviceのデータベースから、オンプレミス環境で新しいスタンバイデータベースを再作成することも可能になります。(フェイルオーバーが発生しているということは元のオンプレ側のプライマリが正しく同期されていない想定のため)
注意点として、今回ご紹介したパラメータはOracle 19.16以降のみで利用可能です。また、19.25までのバージョンではstandby_file_managementに制限があります。19.27より前のバージョンを使用する場合、新規データファイルにさらなる手順が必要になる場合があります。そのため、バージョン19.27以降の利用を強く推奨します! Dbvisit StandbyMPの本機能は19.27以降で動作します。
まとめ:Oracle SE2ハイブリッドDRが現実に!
今回のソリューションは、オンプレミスOracle Standard Edition 2とOCI Base Database ServiceのTDE互換性という長年の課題を解決し、オンプレミスとOCIのハイブリッド環境による柔軟なDR計画や段階的なクラウド移行を可能にする画期的なものです。
そして、Dbvisit StandbyMP 12.2がこのプロセスの大部分を自動化してくれるため、運用も非常にシンプルなものになります。
「うちのSE2環境も、そろそろクラウドDRに挑戦したいな」「オンプレからのクラウド移行、どこから手をつければいいか…」と考えていた方にとって、このソリューションはまさにうってつけです!
ぜひ、Dbvisit StandbyMPとOracle 19.27以降の組み合わせで、セキュアで柔軟なハイブリッドDR環境を手に入れましょう!
弊社インサイトテクノロジーは、Dbvisit StandbyMPの国内販売総代理店です。
Dbvisit StandbyMPについてもう少し詳しく知りたい方は、以下のページなどをご覧ください↓↓↓