OCI Full Stack Disaster Recovery (FSDR)を使ってみよう
OCI Full Stack Disaster Recovery (FSDR) は、Oracle Cloud Infrastructure (OCI)のディザスタ・リカバリ・オーケストレーションおよび管理サービスであり、インフラ、ミドルウェア、データベース、アプリケーションなど、アプリケーション・スタックのすべてのレイヤーに包括的なディザスタ・リカバリ機能を提供します。
FSDR は以下の要素で構成されます。
-
ディザスタ・リカバリ保護グループ(DR 保護グループ)
DR 保護グループは、フル・スタック・アプリケーションのすべてのコンポーネントをグループ化し、すべてのコンポーネントをまとめてリカバリしてフル・スタック・アプリケーションをリストアできるようにします。 DR 保護グループに追加できるコンポーネントは、FSDR が対応しているコンピュート・インスタンス、ボリューム・グループ、Oracle Database などの OCI リソースです。 これらのリソースは、DR 保護グループのメンバーと呼ばれます。 DR 保護グループは、プライマリ・リージョン(本番環境)とスタンバイ・リージョン(災害対策環境)にそれぞれ 1 つずつ作成し、それらは関連付けされます。
-
ディザスタ・リカバリ計画(DR 計画)
DR 計画は、FSDR によって作成される自動 DR ワークフローで、プライマリ DR 保護グループ内のすべてのリソースの障害回復を実行します。 DR 計画は、以下の 4 種類の計画タイプが存在します。
-
フェイルオーバー(計画外)
スタンバイ DR 保護グループへのサービスの計画外切り替えを実行する DR 計画のタイプ。 フェイルオーバー計画は、プライマリ・リージョンでのサービス停止をせず、スタンバイ・リージョンでアプリケーション・スタックを起動することで即時切り替えを実行します。 フェイルオーバー計画は通常、プライマリ・リージョンが停止または障害発生した場合に使用されます。
-
スイッチオーバー(計画済)
プライマリ DR 保護グループからスタンバイ DR 保護グループへのサービスの計画済切り替えを実行する DR 計画のタイプ。 スイッチオーバー計画は、プライマリ・リージョンのアプリケーション・スタックを停止してから、スタンバイ・リージョンでそれを起動することで、順次切り替えを実行します。 スイッチオーバー計画は通常、計画済サイト・メンテナンス、ソフトウェアのパッチ適用、DR テストおよび検証の目的で使用されます。
-
ドリルの開始
DR ドリルは、災害対策環境が正常に起動できるかどうかをチェックするために実行されます。 スタンバイ DR 保護グループに、スイッチオーバーまたはフェイルオーバーの実行時に起動される環境のレプリカが作成されます。
-
ドリルの停止
DR ドリルを停止する DR 計画のタイプです。これにより、ドリルの開始で前に作成した本番スタックのレプリカが削除されます。
-
本チュートリアルでは、FSDR を用いて OCI リソースを DR 保護グループのメンバーに追加し、スイッチオーバー計画を発行して実行するまでの流れをご紹介します。
目次
- 1. 準備作業(バケットの作成)
- 2. DR 保護グループの作成
- 3. DR 保護グループの関連付け
- 4. OCI リソースを DR 保護グループのメンバーに追加
- 5. DR 計画の作成
- 6. DR 計画の実行
前提条件 :
- ユーザーに必要な IAM ポリシーが割り当てられていること。ポリシーの詳細はドキュメントを参照ください。
- 2 つ以上のリージョンをサブスクライブしていること。
注意 :
- チュートリアル内の画面ショットについては Oracle Cloud Infrastructure の現在のコンソール画面と異なっている場合があります。
- 本チュートリアルでは、Japan East(Tokyo) をプライマリ・リージョン、Japan Central(Osaka) をスタンバイ・リージョンとしています。その他のリージョンを使用してチュートリアルを行う場合は、リージョン名を読み替えながら進めてください。
所要時間 : 約 90 分
# 1. 準備作業(バケットの作成) FSDRでは、オブジェクト・ストレージを使用してDR操作ログを格納するため、事前にオブジェクト・ストレージ・バケットを作成します。 バケットはプライマリ・リージョンとスタンバイ・リージョン両方で作成する必要があります。
まずはプライマリ・リージョン(Tokyo)側からバケットを作成します。
-
メニューからストレージ → オブジェクト・ストレージ → バケットを選択し、有効な管理権限を持つコンパートメントを選択します。
-
右上でTokyoリージョンを選択し、バケットの作成ボタンを押します。
-
バケット名をfsdr-log-tokyoにして、それ以外はデフォルト設定のまま作成ボタンを押します。
次に、スタンバイ・リージョン側でバケットを作成します。
-
右上でOsakaリージョンを選択し、バケットの作成ボタンを押します。
-
バケット名をfsdr-log-osakaにして、それ以外はデフォルト設定のまま作成ボタンを押します。
# 2. DR保護グループの作成
-
メニューから移行とディザスタ・リカバリ → ディザスタ・リカバリ → DR 保護グループを選択します。
-
右上でTokyoリージョンを選択し、DR 保護グループの作成ボタンを押します。
-
名前欄にdrpg-tokyoと記入し、オブジェクト・ストレージ・バケットでfsdr-log-tokyoを選択します。それ以外の設定はデフォルトのまま作成ボタンを押します。
-
右上でOsakaリージョンを選択し、DR 保護グループの作成ボタンを押します。
-
名前欄にdrpg-osakaと記入し、オブジェクト・ストレージ・バケットでfsdr-log-osakaを選択します。それ以外の設定はデフォルトのまま作成ボタンを押します。
# 3. DR保護グループの関連付け 作成した2つのDR保護グループの関連付けを行います。
-
DR 保護グループの一覧画面で、右上からTokyoリージョンを選択し、drpg-tokyoを押します。
-
アクションを押して表示されたプルダウンメニューから関連付けを選択します。
-
ロールはプライマリ、ピア・リージョンはJapan Central(Osaka)、ピア DR 保護グループはdrpg-osakaをそれぞれ選択して、関連付けを押します。
関連付けが完了すると、**drpg-tokyo**のロールが**プライマリ**になり、ピアDR保護グループで**drpg-osaka**と表示されます。

# 4. OCIリソースをDR保護グループのメンバーに追加 DR保護グループの関連付けが完了したら、いよいよアプリケーションのコンポーネントをDR保護グループに登録します。 例として、ボリューム・グループ、コンピュート・インスタンス、Autonomous Databaseを、それぞれDR保護グループに登録する方法をご紹介します。 その他のOCIリソースをメンバーに追加する方法は、マニュアル ([Oracle Cloud Infrastructureドキュメント](https://docs.oracle.com/ja-jp/iaas/disaster-recovery/doc/add-members-protection-group.html)) を参照してください。
DR 保護グループのメンバーにブロック・ボリュームやブート・ボリュームを追加するとき、各ボリュームをボリューム・グループにまとめ、クロス・リージョン・レプリケーションを有効にする必要があります。 ここでは、作成済みのブロック・ボリュームをボリューム・グループに登録し、DR 保護グループに追加する流れをご紹介します。
前提条件 : Tokyo リージョンに作成済のブロック・ボリュームがあること。
-
メニューからストレージ → ブロック・ストレージ → ボリューム・グループを選択し、有効な管理権限を持つコンパートメントを選択します。
-
右上でTokyoリージョンを選択し、ボリューム・グループの作成を押します。
-
名前にfsdr-VolumeGroupと記入し、可用性ドメインでTGjA:AP-TOKYO-1-AD-1を選択します。その後、次を押します。
-
ボリュームで、作成済みのブロック・ボリュームを選択します。その後、次を押します。
-
「非同期クロス・リージョン・ボリューム・レプリケーションを有効にします。」のチェックでオンを選択し、ターゲット・リージョンでJapan Central (Osaka)、可用性ドメインでTGjA:AP-OSAKA-1-AD-1を選択します。その後、確認のチェックを入れ、次を押します。
-
設定は変更せず次を押します。
-
設定内容を確認し、問題なければ作成を押します。
-
drpg-tokyoの詳細画面でメンバーを選択し、メンバーの追加を押します。
-
リソース・タイプでボリューム・グループを選択します。
-
「すべての既存プランをリフレッシュし、検証する必要があることを理解しています」をチェックし、ボリューム・グループでfsdr-VolumeGroupを選択します。その後、追加を押します。
コンピュート・インスタンスは、以下 2 つのどちらかのタイプを選択し、DR 保護グループのメンバーに追加します。
-
移動インスタンス
移動インスタンスは、スイッチオーバー計画かフェイルオーバー計画が実行されると、プライマリ DR 保護グループからスタンバイ DR 保護グループに移動されます。 インスタンスは、FSDR がプライマリ DR 保護グループのインスタンスを自動停止(もしくは削除)し、スタンバイ DR 保護グループで新規にインスタンスを自動作成することで移動されます。 ユーザーは、事前にプライマリ・リージョンにのみインスタンスをデプロイします。
-
非移動インスタンス
非移動インスタンスは、スイッチオーバー計画かフェイルオーバー計画が実行されると、プライマリ・リージョンとスタンバイ・リージョンのインスタンスを起動もしくは停止することで、サービスの切り替えを実現します。 プライマリ DR 保護グループからスタンバイ DR 保護グループに移動されません。 ユーザーは、事前にプライマリ・リージョンとスタンバイ・リージョンの両方にインスタンスをデプロイする必要があります。
ここでは、非移動インスタンスを DR 保護グループのメンバーとして登録する流れをご紹介します。
前提条件 : Tokyo リージョンおよび Osaka リージョンにそれぞれ作成済のコンピュート・インスタンスがあること。
-
drpg-tokyoの詳細画面でメンバーを選択し、メンバーの追加を押します。
-
リソース・タイプでコンピュートを選択します。
-
「すべての既存プランをリフレッシュし、検証する必要があることを理解しています」をチェックし、インスタンスで作成済みのコンピュート・インスタンスを選択し、コンピュート・インスタンス・タイプで非移動インスタンスを選択します。
-
拡張オプションを押し、「フェイルオーバー/スイッチオーバーでのインスタンスの起動と停止」をチェックします。その後追加を押します。
-
drpg-osakaの詳細画面でメンバーを選択し、メンバーの追加を押します。
-
リソース・タイプでコンピュートを選択します。
-
「すべての既存プランをリフレッシュし、検証する必要があることを理解しています」をチェックし、インスタンスで作成済みのコンピュート・インスタンスを選択し、コンピュート・インスタンス・タイプで非移動インスタンスを選択します。
-
拡張オプションを押し、「フェイルオーバー/スイッチオーバーでのインスタンスの起動と停止」をチェックします。その後追加を押します。
Autonomous Database (ADB)を DR 保護グループのメンバーに追加するためには、事前に Autonomous Data Guard (AuDG)を構成しておく必要があります。 ここでは、作成済の ADB で AuDG を構成し、DR 保護グループに追加する流れをご紹介します。
前提条件 : Tokyo リージョンに作成済の ADB があること。
-
メニューからOracle Database → Autonomous Databaseを選択し、有効な管理権限を持つコンパートメントを選択します。
-
右上でTokyoリージョンを選択し、作成済み ADB の名前を押します。
-
ディザスタ・リカバリを選択肢、ピア・データベースの追加を押します。
-
リージョンで**日本中央(大阪)**を選択します。
-
Autonomous Data Guardを選択し、追加を押します。 これにより Autonomous Data Guard が構成されます。(作業完了まで数分かかります。) 作成が完了すると、ピア Autonomous Database 欄に、Autonomous Data Guard によって作成されてスタンバイ・データベースが表示されます。
 
-
drpg-tokyoの詳細画面でメンバーを選択し、メンバーの追加を押します。
-
リソース・タイプで自律型データベースを選択します。
-
「すべての既存プランをリフレッシュし、検証する必要があることを理解しています」をチェックし、データベースで作成済みの ADB を選択します。その後、追加を押します。
-
drpg-osakaの詳細画面でメンバーを選択し、メンバーの追加を押します。(ADB は、プライマリ・リージョンとスタンバイ・リージョンの両方で、DR 保護グループのメンバーとして追加します。)
-
リソース・タイプで自律型データベースを選択します。
-
「すべての既存プランをリフレッシュし、検証する必要があることを理解しています」をチェックし、データベースでスタンバイの ADB を選択します。その後、追加を押します。
# 5. DR計画の作成 DR保護グループへのメンバー追加が完了したら、DR計画を作成します。 DR計画の作成は、スタンバイDR保護グループで行います。 ここでは4つのDR計画タイプの中から、例としてスイッチオーバー計画を作成していきます。
-
drpg-osakaの詳細画面で計画を選択し、計画の作成を押します。
-
名前にdr-plan1と記入し、プラン・タイプで**スイッチオーバー(計画済)**を選択します。その後、作成を押します。
# 6. DR計画の実行 最後は作成したスイッチオーバー計画を実行し、プライマリ・リージョンとスタンバイ・リージョンの切り替えを行います。
-
DR 計画実行前の各 DR 保護グループの状態は以下の画像のように、それぞれdrpg-tokyo(左)がプライマリ、drpg-osaka(右)がスタンバイになってることを確認します。
-
drpg-osakaの詳細画面で計画を選択し、dr-plan1の三点リーダーを押します。その後、表示されたプルダウンメニューから計画の実行を選択します。
-
計画実行名にexecute_switchoverと入力し、計画の実行押します。その後、計画が開始されるので、完了まで待ちます。
-
計画が完了すると、drpg-tokyo(左)とdrpg-osaka(右)のロールが切り替わります。また、メンバーの状態も実行前と逆転します。
以上でこのチュートリアルは終了です。