はじめに
Oracle Cloud Infrastructure(OCI)のクロスリージョンバックアップリストアは、あるリージョンのデータベースバックアップを別リージョンでリストアする機能です。
OCI Autonomous Recovery Service に取得された Base Database Service のバックアップを使って別リージョンでデータベースを作成してみました。
前提条件
- OCI テナンシーで2つのリージョン(ソース・ターゲット)がサブスクライブ済みであること
- 両リージョンに VCN(Virtual Cloud Network)が作成済みであること
- OCI Autonomous Recovery Service がソースリージョンで有効化済みであること
- 操作対象リソースに対する適切な IAM ポリシーが設定済みであること
この記事には書いていない作業
以下の事前設定については手順を省略しています。該当する公式ドキュメントを参照してください。
| 作業 | 公式ドキュメント |
|---|---|
| VCN の作成 | OCI ドキュメント:Virtual Cloud Networks |
| DRG(Dynamic Routing Gateway)の作成 | OCI ドキュメント:Dynamic Routing Gateways |
| リモート VCN ピアリングの基本設定 | Remote VCN Peering |
| OCI Autonomous Recovery Service の有効化とバックアップ設定 | Configure Recovery Service |
手順
Step 1: 自動バックアップの有効化と Recovery Service プライベートエンドポイント情報の記録
OCI Autonomous Recovery Service を使用してデータベースのバックアップを有効化します。Recovery Service を有効化すると、対象 VCN 内にプライベートエンドポイントが自動作成されます。
注意: このプライベートエンドポイントの FQDN とルートドメインは、後の DNS 設定で必須になります。有効化直後に必ず記録しておいてください。記録漏れがあると、DNS フォワーディング設定が不完全になりリストアが失敗します。
プライベートエンドポイントの FQDN 確認方法
方法 1(推奨): データベースサーバーの dbrsnames.ora を確認する
Recovery Service を有効化すると、データベースサーバー上に dbrsnames.ora が自動生成されます。このファイルにプライベートエンドポイントの FQDN が記載されています。
cat $ORACLE_HOME/network/admin/dbrsnames.ora
出力例:
DBRS=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCPS)
(HOST=<識別子>.rs.br.ap-tokyo-1.oci.oraclecloud.com)
(PORT=2484)
)
(CONNECT_DATA=
(SERVICE_NAME=ZRCV)
)
)
HOST= に記載されている値がプライベートエンドポイントの FQDN です。
方法 2: OCI コンソールから確認する
- ハンバーガーメニュー(左上)から Oracle Database → Recovery Service → 保護されたデータベース を選択します
- 対象データベースをクリックし、ネットワークの詳細 タブを開きます
- 表示されているプライベートエンドポイントの FQDN を確認・コピーします
確認した FQDN からルートドメインを特定します。以下の 2 種類が存在する場合があります。
| FQDN の例 | 記録するルートドメイン |
|---|---|
xxxx.rs.br.ap-tokyo-1.oci.oraclecloud.com |
ap-tokyo-1.oci.oraclecloud.com |
xxxx.rs.br.ap-tokyo-1.oraclecloud.com |
ap-tokyo-1.oraclecloud.com |
注意: VCN によっては両方のドメインが使われることがあります。DNS フォワーディングルールは確認できたドメイン分すべて設定してください。
Step 2: クロスリージョンネットワークの構築(DRG・ルートテーブル・セキュリティリスト)
DRG と VCN ピアリングの設定
両リージョンにそれぞれ DRG を作成し、各 VCN にアタッチします。その後、リモートピアリング接続を確立することで、それぞれのリージョンの VCN 間でプライベート通信が可能になります。デフォルトの DRG ルートテーブルとルート分配を使用すると、ルーティングは自動的に設定されます。
VCN ルートテーブルの設定
各リージョンのサブネットルートテーブルに最低限以下のルートを追加します。
| 宛先 CIDR | ターゲット | 説明 |
|---|---|---|
| ターゲットリージョンの VCN CIDR(例:192.168.0.0/16) | DRG | リモートリージョンへのルート |
| OCI サービス CIDR | Service Gateway | OCI マネージドサービスへのアクセス |
| 0.0.0.0/0(必要な場合) | NAT Gateway | アウトバウンドパブリックアクセス |
セキュリティリストの初期設定
テスト段階では、リモート VCN からの広範な入力を一時的に許可します(TCP/UDPのすべてのポートのイグレスを許可)。これにより、DNS やルーティングの問題を切り分けやすくなります。
Step 3: DNS ピアリングの設定
注意: このステップがクロスリージョンリストアで最も見落とされやすい設定です。Recovery Service のプライベートエンドポイントは VCN の DNS コンテキストで名前解決されるため、ターゲットリージョン から ソースリージョン の DNS を参照できるようにする必要があります。
OCI DNS リゾルバーエンドポイントを使用して、ターゲット から ソース の DNS を参照できるように設定します。
ソースリージョン:DNS リスニングエンドポイントの作成
ソースリージョンのVCN の DNS リゾルバーに リスニングエンドポイントを作成します。
操作手順
- OCI コンソールで ソースリージョンに切り替えます
- ハンバーガーメニュー → ネットワーキング → 仮想クラウド・ネットワーク を選択します
- Recovery Service が配置されている VCN をクリックします
- DNS リゾルバー をクリックします
- 表示されたリゾルバーをクリックして詳細画面を開きます
- エンドポイント タブ → エンドポイントの作成 をクリックします
- 以下の値を入力して作成します
| 項目 | 設定値 |
|---|---|
| 名前 | 任意(例:listener_from) |
| サブネット | Recovery Service プライベートエンドポイントと同じサブネット |
| タイプ | リスニング |
| リスナー IP アドレス | サブネット内の空き IP を指定 ※自動割り当ても可 |
注意: エンドポイント リスニング・アドレスのIP アドレスは後の手順で転送先として使用します。
ターゲットリージョン:DNS 転送エンドポイントの作成
ターゲットリージョンのVCN の DNS リゾルバーに 転送エンドポイントを作成します。
操作手順
- OCI コンソールで ターゲットリージョンに切り替えます
- ハンバーガーメニュー → ネットワーキング → 仮想クラウド・ネットワーク を選択します
- データベースを作成する VCN をクリックします
- DNS リゾルバー をクリックします
- 表示されたリゾルバーをクリックして詳細画面を開きます
- エンドポイント タブ → エンドポイントの作成 をクリックします
- 以下の値を入力して作成します
| 項目 | 設定値 |
|---|---|
| 名前 | 任意(例:forwarder_to) |
| サブネット | データベースを配置するサブネット |
| タイプ | 転送 |
| フォワーダー IP アドレス | サブネット内の空き IP を指定 ※自動割り当ても可 |
フォワーディングルールの追加
転送(フォワーダー)エンドポイントを作成したら、転送するドメインと転送先を指定するルールを追加します。
操作手順
- DNS リゾルバーの詳細画面で ルール タブを開きます
- ルールの管理 をクリックします
- ルールの追加をクリックします
- ソースリージョン VCNの Recovery Service ドメイン向けに以下のルールを追加します
注意: Step 1 で確認した FQDN のドメイン形式に応じて、必要なルールをすべて追加してください。
oraclecloud.comとoci.oraclecloud.comの両方が使われている場合は 2 つのルールが必要です。
| 項目 | ルール 1(Recovery Service 向け) | ルール 2(Recovery Service 向け、該当する場合) |
|---|---|---|
| ドメイン | ap-tokyo-1.oraclecloud.com |
ap-tokyo-1.oci.oraclecloud.com |
| 宛先 IPアドレス | リスニングエンドポイントの IP(例:10.0.1.82) |
同左 |
DNS 設定の検証(オプション)
ターゲットリージョンのサーバーからソースリージョンのRecovery Serviceの名前解決を確認します。
[root@customdb ~]# nslookup raphxp008-3.rs.br.ap-tokyo-1.oci.oraclecloud.com
Server: 169.254.169.254
Address: 169.254.169.254#53
Non-authoritative answer:
Name: raphxp008-3.rs.br.ap-tokyo-1.oci.oraclecloud.com
Address: 10.0.1.99
プライベート IP アドレスが返ってくれば DNS フォワーディングは正常に機能しています。
DNS 検証でタイムアウトする場合のトラブルシューティング
以下のようにタイムアウトが発生する場合は、順番に確認してください。
$ nslookup rafrap031-1.rs.br.ap-tokyo-1.oraclecloud.com
;; connection timed out; no servers could be reached
チェック 1: フォワーダーエンドポイントのサブネットとセキュリティリスト
フォワーダーエンドポイントから Phoenix リスナーエンドポイントへの UDP 53 番ポートが許可されていることを確認します。
チェック 2: フォワーディングルールのドメイン名
DNS リゾルバーのフォワーディングルールに設定した QNAME サフィックスと、実際に解決しようとしている FQDN のドメイン部分が一致しているかを確認します。
| FQDN の例 | 必要な QNAME サフィックス |
|---|---|
ranrtp031-1.rs.br.ap-tokyo-1.oraclecloud.com |
ap-tokyo-1.oraclecloud.com |
ranrtp031-1.rs.br.ap-tokyo-1.oci.oraclecloud.com |
ap-tokyo-1.oci.oraclecloud.com |
チェック 3: リスニングエンドポイントの IP アドレス
フォワーディングルールに設定した「転送先 IP」が、ソースリージョンVCNのリスニングエンドポイントの IP アドレスと一致しているかを確認します。
チェック 4: DRG ピアリングの疎通
nslookup は サーバー → フォワーダー → リスニングの経路で動作します。ターゲットリージョン から ソースリージョン リスニングエンドポイントの IP へ ping または telnet で疎通を確認します。
# ソースリージョン リスニングエンドポイントの IP(例:10.0.1.82)への疎通確認
telnet 10.0.1.82 53
Step 4: Object Storage の名前解決問題の解消
バックアップからのデータベースの作成は Recovery Service プライベートエンドポイントへのアクセスだけでなく、Oracle Managed Keys(デフォルト)を使用している場合、データベースウォレットは Oracle 管理の Object Storage ロケーションに保存されており、リストア時にアクセスが必要になります。ソースリージョン の Object Storage へのアクセスも必要です。
Object Storageの名前解決できるように構成します。( swiftobjectstorage.ap-tokyo-1.oraclecloud.com )
Private Service Access(PSA)エンドポイントを作成
ソースリージョン VCN に Object Storage サービス用の Private Service Access(PSA)エンドポイントを作成します。PSA を使用すると、Object Storage のホスト名が PSA エンドポイントのプライベート IP アドレスに解決されます。
操作手順
- OCI コンソールで ソースリージョンに切り替えます
- ハンバーガーメニュー → ネットワーキング → 仮想クラウド・ネットワーク を選択します
- Recovery Service プライベートエンドポイントが配置されている VCN をクリックします
- 詳細ページで 「プライベート・サービス・アクセス」 タブを選択し、「作成」 をクリックします
- 以下の値を入力します
| 項目 | 設定値 |
|---|---|
| 名前 | 任意(例:psa-objectstorage) |
| サービス | Object Storage Service API |
| コンパートメント | PSA エンドポイントを作成するコンパートメントを選択 |
| サブネット | Recovery Service プライベートエンドポイントと同じサブネット |
- 「プライベート・サービス・アクセス・エンドポイントの作成」 をクリックします
- エンドポイントが 「アクティブ」 になったことを確認します
PSA を作成すると、VCN の DNS リゾルバーに Object Storage ホスト名(objectstorage.ap-tokyo-1.oraclecloud.com、swiftobjectstorage.ap-tokyo-1.oraclecloud.com など)が PSA エンドポイントのプライベート IP に解決されるルールが自動登録されます。ターゲットリージョンのフォワーディングルール経由でこの解決結果が返るため、追加の DNS 設定は不要です。
PSA 設定後、ターゲットリージョン から名前解決を確認します。
[opc@customdb ~]$ nslookup swiftobjectstorage.ap-tokyo-1.oraclecloud.com
Server: 169.254.169.254
Address: 169.254.169.254#53
Non-authoritative answer:
Name: swiftobjectstorage.ap-tokyo-1.oraclecloud.com
Address: 10.0.1.44
swiftobjectstorage.ap-tokyo-1.oraclecloud.com canonical name = swiftobjectstorage.ap-tokyo-1.oci.oraclecloud.com.
プライベート IPが返ってくれば設定は成功です。
Step 5: バックアップからのデータベースの作成
操作手順
- OCI コンソールで ソースリージョンに切り替えます
- ハンバーガーメニュー → Oracle Database → Oracle Base Database を選択します
- バックアップが取得されている DB システムをクリックし、詳細画面を開きます
- データベース タブをクリックし、対象データベースを選択します
- バックアップ タブを開き、リストアに使用するバックアップを選択します
メモ: その他のアクションメニューの「バックアップからのデータベースの作成」からはリストアポイント(日時)を指定して作成することもできます。
-
選択したバックアップの右端のメニュー(︙)→ 「このバックアップからデータベースを作成」 をクリックします
-
DB システムの作成ページが開いたら、リージョン に ターゲットリージョン を選択します
-
DB システムの設定(シェイプ、ストレージ、ライセンスタイプなど)を入力します
-
ネットワーキング セクションで、ターゲットリージョン の VCN・サブネットを指定します
-
作成 をクリックしてリストアジョブを起動します
リストアジョブが開始されると、DB システムの状態が 「プロビジョニング中」 に変わります。コンソール上で進捗を確認できます。
補足: VCN Flow Logs でトラフィックを確認し NSG でポートを絞り込む
リストアが成功したら、VCN Flow Logs を使って実際に使用されたポートを確認します。
確認されたトラフィックから、以下のポートが必要であることが判明します。
| ポート | プロトコル | 用途 |
|---|---|---|
| 8005 | TCP | Database Recovery Service |
| 2484 | TCP | Database Recovery Service |
| 53 | UDP | DNS フォワーディング |
| 443 | TCP | Object Storage への API 呼び出し |
確認後、初期テスト用に広く開放していたセキュリティリストのルールを削除し、NSG で必要なポートのみに絞り込みます。
NSG 入力ルールの設定例:
| ルール説明 | ソース CIDR | 宛先ポート | プロトコル |
|---|---|---|---|
| ソースリージョンサブネットから Recovery Service | 10.0.0.0/24 | 8005, 2484 | TCP |
| ターゲットリージョンサブネットから Recovery Service | 192.168.1.0/24 | 8005, 2484 | TCP |
| DNS フォワード | 192.168.1.0/24 | 53 | UDP |
| Object Storage(PSA 経由) | 192.168.1.0/24 | 443 | TCP |
NSG のアタッチ先:
- Recovery Service プライベートエンドポイント
- Phoenix VCN の DNS リスナーエンドポイント
- Object Storage 用 PSA エンドポイント
おわりに
バックアップを使って別リージョンでデータベース作成する際の留意点を確認できました。
- クロスリージョンリストアは Recovery Service プライベートエンドポイントへのアクセスだけでなく、ソースリージョンの Object Storage へのアクセスも必要であることを実機で確認できた
- DNS フォワーディングの設定することで実現できた






