こんにちは。a.nakamuraです。
今回はOracle Cloud Infrastructure(OCI)のクロスリージョンボリュームレプリケーション機能を利用してレプリケーションの有効化から無効化まで検証してみます。
目次
クロスリージョンボリュームレプリケーションについて
・クロスリージョンボリュームレプリケーションは、他の地域にブロックボリューム又はブートボリュームの継続的な自動非同期レプリケーションを実行する機能です。ボリューム バックアップを必要とせずにレプリケーション先のリージョンでボリュームをクローンすることが可能です。
・初期同期プロセスが完了後、レプリケーション プロセスが継続されます。一般的なリカバリ ポイント オブジェクト (RPO) のターゲット レートは 1 時間未満です。ソース ボリュームへの大量の書き込み I/O 操作があった場合、 1 時間以上になる可能性があります。
・クロスリージョン レプリケーション機能は、ボリューム バックアップ機能を補完するものであり、代替機能ではありません。
ボリュームバックアップ:特定の時点のスナップショットからボリュームの以前のバージョンに戻すことが可能
ボリューム レプリカ:データの現在のバージョンを提供
・クロスリージョンレプリケーションが有効になっているボリュームはサイズを変更することができません。レプリケーションが有効後にボリュームのサイズを変更する際は、リージョン間のレプリケーションを無効にする(レプリカの削除が)必要です。
公式ドキュメント
設定内容/前提条件
・東京リージョンのインスタンスにアタッチしているブートボリュームのレプリカを大阪リージョンに作成し、インスタンスまで作成します。
・レプリケーション先のリージョンをサブスクライブしていること。
・大阪リージョンにネットワーク環境を作成していること。
クロスリークロスリージョンレプリケーションの有効化
ブート・ボリュームでクロス・リージョン・レプリケーションを有効化します。
1.OCIコンソール画面で左上のハンバーガーアイコン -> [ストレージ] -> [ブロック・ストレージ] -> [ブート・ボリューム] -> 対象のブート・ボリュームを選択 -> 詳細画面に移動します。

2.1.の詳細画面で[編集]を選択 -> [ボリュームの編集]画面 一番下の[クロス・リージョン・レプリケーション]で[オン]を選択 -> リージョン、可用性ドメイン、名前を入力 -> [確認]をチェック -> [変更の保存]を選択します。


3.レプリケーションが作成できると、リソースの[ブート・ボリュームのレプリカ]にレプリカの情報が表示されます。

4.レプリケーション先のリージョンに移動してレプリカが作成できたことを確認します。
リージョンをレプリケーション先(大阪)に変更 -> OCIコンソール画面で左上のハンバーガーアイコン -> [ストレージ] -> [ブロック・ストレージ] -> [ブート・ボリュームのレプリカ]を選択。

クロスリージョンレプリケーションのアクティブ化
レプリケーション先 リージョン(大阪)でレプリカからアクティブ化(新しいボリュームを作成)し、インスタンスを作成します。
作成したインスタンスで元インスタンス(158.101.79.45)と同じように以下nginxのページが表示できることを確認します。

1.リージョンをレプリケーション先(大阪)に変更 -> OCIコンソール画面で左上のハンバーガーアイコン -> [ストレージ] -> [ブロック・ストレージ] -> [ブート・ボリュームのレプリカ] -> 対象のレプリカを選択 -> [アクティブ化]を選択。

2.ポップアップが表示されるので[確認]を選択します。

3.[レプリカのアクティブ化]画面で各項目を確認し、[クローンの作成]を選択します。

4.アクティブ化が完了すると、レプリカの詳細画面に対象のボリュームが表示されます。

5.4の画面で対象のボリュームを選択 -> [インスタンスの作成]を選択します。

6.[コンピュート・インスタンスの作成]画面で各項目を入力し、[作成]を選択します。
※ イメージの項目でエラーが表示されますが、イメージが東京リージョンに存在するためです。インスタンスの起動は可能なのでそのままで大丈夫です。

7.インスタンス(140.83.57.123)が作成できたので、元インスタンスと同じようにnginxのページが表示できることを確認します。
ページが確認できました!!

レプリケーションを無効にする
今度はレプリケーションを無効にしてみます。有効化した際の選択をオフにするだけです。無効にするとレプリカは削除されます。
1.レプリケショーン元のブート・ボリューム[編集] -> [ボリュームの編集]画面 一番下の[クロス・リージョン・レプリケーション]で[オフ]を選択 -> リージョン、可用性ドメイン、名前を入力 -> [確認]をチェック -> [変更の保存]を選択します。

レプリケーション先の変更
レプリケーションの宛先リージョンまたは可用性ドメインを変更する場合は一度レプリケーションを無効にし、再度レプリケーションを有効にします。
日本のリージョンでは選択肢が少ないので変更する機会は少ないかと思います。
まとめ
ボリュームのDR対策としてクロスリージョンバックアップと一緒に利用する場面が出てきそうですね。
ただ、利用するコストがお高めなので適用対象は多くないのかなという印象です。
・クロスリージョンバックアップ(オブジェクトストレージに格納): 3.06円/GB 月
・レプリカ(ブロックボリュームに格納):3.06円/GB 月
・レプリケーション プロセス(約1時間毎の頻度で、ソースボリュームを更新したすべてのデータがレプリカに転送される):アウトバウンド通信の10TB無料枠の対象。超過分は2.75円 /GB 月