オラクルへのクラウド移行検討 第6回 〜Exadataシステムの高可用性は身構えなくても大丈夫〜


**OCLS（[Oracle Cloud Lift Service](https://www.oracle.com/jp/cloud/cloud-lift/))を利用して移行検討・検証した内容を、お伝えできる範囲で提供していきます！[^1]**

# 今回のユースケースは・・・・
オンプレミスで稼働している Exadata を Oracle Cloud Infrastructure(以降 OCI)で稼働させた場合に高可用性を担保する構成を検討したケースです。

# 検討のポイント！！ 
検証を行うために東京 - 大阪リージョンのマルチリージョン構成でOracle Exadata Database Service on Dedicated Infrastructure(以降、[ExaDB-D](https://speakerdeck.com/oracle4engineer/exadata-database-cloud-technical-detail))のDR環境を構築しました。
※ExaDB-Dは、Oracle Exadata Cloud Service（ExaCS）から名前が変更されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/88094426-3444-cd79-a11c-1ca999d3de30.png)

今回、クラウド移行に伴う検討ポイントとしては以下を検討しました。
本記事では**DR構成**について、重点的に取り扱います。

・**DR構成の考慮**
・SI費用の削減
・OCIを初めて利用
・システム変更なく、安心・安全なシステム移行の実現

# １．クラウドの検討理由とOCLS利用の背景について
クラウドへの移行期間に余裕がなく、本番移行に向けて要件や構成を急ぎ決めなければならないという背景がありました。
今回PoCを早期にスタートさせて移行実現性の検証と移行計画を具体化していく必要があり、また初めてOCIを利用するため、OCIのスキルを補うためにOCLSのPoC支援を活用いただきました。
他社クラウドは経験があるものの初めてOCIをご利用いただくというお客様はいらっしゃるのではないでしょうか。

# ２. 高可用性構成の「型」があります！ - MAA

DR構成による可用性の担保の仕方については、どのように災害対策されるのかに依存すると考えています。
例えば、定期メンテナンスや機器障害対策の場合は東京リージョンのみで構成するケース、OCIリージョン障害対策の場合は東京 - 大阪リージョンのマルチリージョン構成とするケース、広域災害対策の場合は東京、もしくは大阪の別拠点のデータセンターを経由してOCIのリソースにアクセスするケース等、システムの重要度および求められる要件に応じてDR構成を検討する上で様々な構成が考えられます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/2e799979-6d18-57fc-da9b-6c0a7bbc2115.png)

なお、このクラウドの構成は以下のOracle Maximum Availability Architecture（Oracle MAA）のRTO/RPOを考慮した時のリファレンス・アーキテクチャです。
Oracle MAAのレベルとしては、ケース1がSILVER、**ケース2**,ケース3がGOLD、ケース4がPLATINUMになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/b3a8af86-4cd5-26e3-fce4-d69049e33aea.png)

# ３. 簡単に構成できる技術！ - Active Data Guard

高可用性構成のソリューションとして、OCIではActive Data Guardを提供しています。
こちらはプライマリデータベースの更新情報(REDOログ)をスタンバイデータベースに転送することで複製されたデータべースを参照可能な状態で構成することができます。
この機能を利用することにより、データベース障害やリージョン障害などのRTO/RPOを短くすることが可能で、また計画停止(メンテナンス等)における切り替えも停止時間を極小化できます。
OCIのExaDB-DのエディションはExtream Perfomaneになるため、追加費用負担がなくActive Data Guardを利用可能で、ExaDB-D及びActive Data GuardのどちらもOCIの管理コンソールから設定できるので、事前に設定項目を決めておけば、OCIの経験が無い方でも簡単に構成が可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/f4b1c069-5da7-0d3c-4653-ee55ba2a922e.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/dc9df149-1d87-a5d5-b7c1-797bbf47b6d3.png)


# ４. 設定ステップがシンプル！　- OCIコンソール

OCIコンソールからActive Data Guardを構成するまでのおおまかな手順は<font color="Red">**2ステップのみ**</font>で、対象のデータベースの「Data Guardの有効化」をクリックし、必要な設定項目を入力するだけで構成されます。
ハマりポイントや詳細な手順については、参考文献にも記載している「[Data Guardを構成しよう](https://oracle-japan.github.io/ocitutorials/database/exadb-d108-dataguard/)」をご参照ください。

:::note info
Data Guard構成時のハマりポイント:
プライマリとスタンバイの**一意のデータベース名**(DB_UNIQUE_NAME)はそれぞれ異なる必要ありますので注意しましょう。
:::
:::note info
ExaDB-DでData Guardを使用するための[前提条件](https://docs.oracle.com/en/engineered-systems/exadata-cloud-service/ecscm/using-data-guard-with-exacc.html#GUID-70CC9B75-5B14-4D17-87F9-44A4E89CF45E)として、2つの既存のExadata VMクラスタが必要で、1つはData Guardによって複製される既存のデータベースを含み、もう1つはData Guardによって新しいスタンバイデータベースを格納します。
Data Guardを有効にする場合、スタンバイ側で新しいデータベースホームを作成して、Data Guardの有効化操作中に新しいスタンバイ・データベースを格納するか、既存のデータベースホームにスタンバイデータベースを構成することも可能です。
:::

# ５．最後に
今回は、ExaDB-DのDR構成として、以下<font color="Red">**ケース2**</font>の東京 - 大阪リージョンのマルチリージョン構成としましたが、Actve Data Guardはスタンバイデータベースを参照可能な状態で構成されるので実際にはアクティブ/アクティブ構成となります。
Data Guardによる高可用性構成を組んだことが無い方でもOCIの管理コンソールからActve Data Guardを簡単に構成することができるようになっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019432/d4d8944a-b816-088a-bf91-1883290d829d.png)

また、上記にも記載しましたが、DR構成による可用性の担保の仕方については、どのように災害対策されるのかに依存するため、システム要件に合うDR構成を検討及び構成いただく際の参考になれば幸いです。
また、OCIリージョン間のインフラストラクチャ、プラットフォームおよびアプリケーションの切り替えを簡単にできるFull Stack Disaster Recoveryのソリューションが提供されているので、別の機会でご紹介できればと思います。

# ６.参考文献
●ExaDB-D
[Exadata Database Cloud (Exadata Cloud Service) サービス技術詳細](https://speakerdeck.com/oracle4engineer/exadata-database-cloud-technical-detail)

●ディザスタ・リカバリ
[Data Guardを構成しよう](https://oracle-japan.github.io/ocitutorials/database/exadb-d108-dataguard/)
[BaseDB / ExaDB-D(ExaCS)におけるData Guard解説](https://speakerdeck.com/oracle4engineer/entdb-exadbd-dataguard)
[Exadata Cloud InfrastructureでOracle Data Guardを使用するための前提条件](https://docs.oracle.com/en/engineered-systems/exadata-cloud-service/ecscm/using-data-guard-with-exacc.html#GUID-70CC9B75-5B14-4D17-87F9-44A4E89CF45E)
[Oracle Exadata Database Service: 手動コマンドで Active Data Guard を構成してみてみた](https://qiita.com/shirok/items/09c67ee4945df8df9792)
[Full Stack Disaster Recovery](https://blogs.oracle.com/oracle4engineer/post/ja-oci-full-stack-disaster-recovery-launch)

●MAA
[Oracle CloudのMAAベスト・プラクティス](https://www.oracle.com/jp/database/technologies/high-availability/oracle-cloud-maa.html)