3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Oracle Cloud: Cross-Region Autonomous Data Guard on VCN を構成してみてみた

Last updated at Posted at 2021-09-18

Oracle Autonomous Database (ADB)では、Autonomous Data Guardと呼ばれる機能を使用して、スタンバイ(ピア)データベースを有効にし、Autonomous Databaseインスタンスにデータ保護およびディザスタ・リカバリを提供します。
ADB は、Oracle Database の Multitenantアーキテクチャと Oracle Data Guard 機能を組み合わせて利用することで、自動化された高い可用性と回復力を可能な限り提供します。
ということで、東京-大阪間で Cross-Region Autonomous Data Guard を 構成してみてみます。

■ 構成

ADG-RPC01.jpg

■ 事前準備

On-Premises の ADB Client が 東京と大阪の ADB へ FQDN でアクセスできるように Remote Peering, Private DNS, Service Gateway,Route Table, Security List, Network Security Group, VPN 等を設定しておきます

● Remote Peering と VPN接続 設定

DRGで東京リージョンを経由して、オンプレミスと 大阪リージョンを接続してみてみた
Oracle Cloud: リージョン間を Remote VCN Peering してみてみた

● Private DNS 設定

Oracle Cloud: オンプレミスとOCIをVPN接続してPrivate DNSで名前解決してみてみた
Private DNSで PeeringしたVCNどうしホスト名(FQDN)で通信できるようにしてみてみた

■ Autonomous Database 作成

前提条件などDocumentを参考に設定
Autonomous Database: プライベート・エンドポイントを使用するAutonomous Database
プライベート・エンドポイントで必要なネットワークの前提条件

  1. OCI コンソール
    [Oracle Database] > [Autonomous Database]をクリック
    00_ADB-Tokyo01.jpg

  2. Autonomous Database画面
    [Autonomous Database]をクリック
    01_ADB作成(日本語)01.jpg

  3. Autonomous Databaseの作成画面
    以下内容を設定し、[Autonomous Database の作成]をクリック

    ・表示名: 任意の名前を設定
    ・データベース名: 任意の名前を設定 *英字と数字のみを含めて、英字で始める必要があります。最大14文字です。
    ・ワークロード・タイプの選択: 任意の任意の名前を設定を設定
    ・デプロイメント・タイプの選択: [共有インフラストラクチャ]を選択
    ・データベース・バージョンの選択: 任意のバージョンを設定
    ・OCPU 数: 任意のOCPU数を設定
    ・自動スケーリング: 任意に設定
    ・ストレージ(TB): 必要なストレージ容量を設定
    ・ユーザー名: ADMIN
    ・パスワード: ADMINパスワードを設定
    ・アクセスタイプ: ここではVCN内に配置するため[仮想クラウド・ネットワーク]を設定
    ・ライセンス・タイプ: ライセンスBOYLでは無い場合は、[ライセンス込み]を設定
    ・暗号化キー: 顧客管理キーを別途使用する場合は、[顧客管理キーを使用した暗号化]を選択

01_ADB作成(日本語)02.jpg

  1. 作成完了
    01_ADB作成(日本語)05.jpg

■ Autonomous Data Guard有効化

  1. Autonomous Data Guard 画面
    リソース欄 > Autonomous Data Guardを選択し、[スタンバイ・データベースの追加]をクリック
    01_DG設定01.jpg

  2. スタンバイ・データベースの追加
    以下内容を設定し、[Autonomous Database の作成]をクリック

    ・リージョン: Standby Databaseのリーションを千駄kジュ
    ・コンパートメントの選択: Standby Databaseのコンパートメントを選択
    ・仮想クラウド・ネットワーク: Standby DatabaseのVCNを選択
    ・サブネット: Standby Database の Subnet を選択
    ・ホスト名接頭辞: 任意の名前を設定
    ・ネットワーク・セキュリティ・グループ(NSG): Standby Database のNSGを選択

01_DG設定02.jpg

  1. 追加中
    01_DG設定03.jpg

  2. スタンバイ・データベース追加完了
    Cross-Region Standby を有効にすると、リモートリージョンに作成されたスタンバイデータベースの表示名はプライマリデータベースと同じになり、拡張子は「_Remote」になります。 「リソース」の下の[Autonomous Data Guard]をクリックすると、「Peer Autonomous Database」列の下に、スタンバイ・データベースの表示名とスタンバイ・データベースへのリンクが表示されます。
    01_DG設定04.jpg

  3. スタンバイ・データベース追加時間確認
    リソース > [作業リクエスト]クリックから、Enable Autonomous Data Guardをクリック
    02_DG設定-作業リクエスト05.jpg

  4. 大阪側 スタンバイ・データベース確認
    03_大阪Standby01.jpg

■ Autonomous Database への Clientアクセス

● Download the Client Credentials

Autonomous Databaseに接続するための資格証明のzipファイルを作成したDatabase画面からダウンロードします

  1. Autonomous Database画面
    OCIコンソールから、作成したAutonomous Database画面にある [DB接続]をクリック
    01_DB接続02.jpg

  2. クライアント資格証明(ウォレット)のダウンロード画面
    [ウォレットのダウンロード]ボタンをクリックして、Client Credentialsをダウンロード
    01_DB接続02.jpg

● Client PC設定

  1. 環境変数設定
export ORACLE_HOME=/home/opc/oracle/instantclient_19_3
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME
export PATH=$PATH:$ORACLE_HOME
  1. ダウンロードしたライアント資格証明(ウォレット)ZIPファイル配置
    $TNS_ADMINディレクトリへZIPファイル配置して回答
[user@onp-inst01 ~]$ cd $ORACLE_HOME/netwok/admin
[user@onp-inst01 admin]$ ls -l
	total 128
	-rw-r--r--@ 1 shiro  staff   3074  9 19 14:18 README
	-rw-rw-rw-@ 1 shiro  staff  21677  9 19 23:18 Wallet_adb01.zip
	-rw-r--r--@ 1 shiro  staff   6701  9 19 14:18 cwallet.sso
	-rw-r--r--@ 1 shiro  staff   6656  9 19 14:18 ewallet.p12
	-rw-r--r--@ 1 shiro  staff   3190  9 19 14:18 keystore.jks
	-rw-r--r--@ 1 shiro  staff    691  9 19 14:18 ojdbc.properties
	-rw-r--r--@ 1 shiro  staff    133  9 19 23:49 sqlnet.ora
	-rw-r--r--@ 1 shiro  staff   2326  9 19 14:18 tnsnames.ora
	-rw-r--r--@ 1 shiro  staff   3378  9 19 14:18 truststore.jks
  1. tnsnames.ora確認
    description項目が2つあり、東京ADBへ接続できなかった場合大阪ADBへ接続できるよう以下東京と大阪の ADB へ接続する記述がされています。
      東京用: adbtokyo.adb.ap-tokyo-1.oraclecloud.com
      大阪用: adbosaka.adb.ap-osaka-1.oraclecloud.com
[user@onp-inst01 admin]$ cat tnsnames.ora
	adb01_high = (description_list= (failover=on) (load_balance=off) 
		(description= (retry_count=15)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adbtokyo.adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=sya6vphk3pzlkhq_adb01_high.adb.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.ap-tokyo-1.oraclecloud.com, OU=Oracle ADB TOKYO, O=Oracle Corporation, L=Redwood City, ST=California, C=US"))) 
		(description= (retry_count=15)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adbosaka.adb.ap-osaka-1.oraclecloud.com))(connect_data=(service_name=sya6vphk3pzlkhq_adb01_high.adb.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.ap-osaka-1.oraclecloud.com, OU=Oracle ADB OSAKA, O=Oracle Corporation, L=Redwood City, ST=California, C=US"))))

● Client PC の DNS 設定

Clientが東京と大阪のADBへFQDN接続できるようOCI Private DNSを使用するように設定

  1. Client PC へ OCI Private DNSのアドレスを登録
    02_MACBook設定01.jpg

  2. DNS設定確認: ADB 東京と大阪 名前解決確認
    On-Premises から 東京と大阪のADBのFQDNでアクセスできることを確認

・On-Premises -> Tokyo 名前解決確認

[user@onp-inst01 ~]$ nslookup adbtokyo.adb.ap-tokyo-1.oraclecloud.com
	Server:		10.10.0.251
	Address:	10.10.0.251#53

	Name:	adbtokyo.adb.ap-tokyo-1.oraclecloud.com
	Address: 10.10.0.19

・On-Premises -> Osaka 名前解決確認

[user@onp-inst01 ~]$ nslookup adbosaka.adb.ap-osaka-1.oraclecloud.com
	Server:		10.10.0.251
	Address:	10.10.0.251#53

	Name:	adbosaka.adb.ap-osaka-1.oraclecloud.com
	Address: 10.20.0.19

● Client 接続確認

[user@onp-inst01 ~]$ sqlplus admin/password@adb01_high

	SQL*Plus: Release 19.0.0.0.0 - Production on Mon Sep 20 00:21:29 2021
	Version 19.3.0.0.0

	Copyright (c) 1982, 2019, Oracle.  All rights reserved.

	Last Successful login time: Mon Sep 20 2021 00:17:42 +09:00

	Connected to:
	Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
	Version 19.12.0.1.0

■ Switchover

● スタンバイ Autonomous Database 画面

  1. リソースからAutonomous Data Guardをクリック
  2. ピアAutonomous Data Guard右端にある[アクション]メニュー > [スイッチオーバー]をクリック
    02_大阪画面SwitchOver(Tokyo->Osaka)01.jpg

● スタンバイへのスイッチオーバーの確認画面

  1. データベース名を入力してスイッチオーバーすることを確認
  2. [スタンバイへの手動スイッチオーバーの確認]をクリックして、スイッチオーバーを実行
    02_大阪画面SwitchOver(Tokyo->Osaka)02.jpg

● スイッチオーバー中

02_大阪画面SwitchOver(Tokyo->Osaka)03.jpg

● スイッチオーバー完了画面

  1. Autonomous Data Guardロール項目: ロールがプライマリへ変更されたことを確認
  2. Autonomous Data Guard欄: ピア・Autonomous Databaseのロールがスタンバイへ変更されたことを確認
    02_大阪画面SwitchOver(Tokyo->Osaka)04.jpg

■ Failover

・Autonomous Data Guardがローカル・スタンバイ・データベースに自動的にフェイルオーバーできない場合、ローカル・スタンバイ・データベースが使用可能な場合は、手動フェイルオーバーを実行してローカル・スタンバイ・データベースをプライマリ・データベースにすることができます。
・リージョン間のスタンバイが使用可能な場合は、スイッチオーバーを実行して、リージョン間のスタンバイ・データベースをプライマリ・データベースにし、スイッチオーバーが失敗した場合、リージョン間のスタンバイへの手動フェイルオーバーを開始できます。
・プライマリ・データベースが使用できず、ローカル・スタンバイが使用可能なときに次の画面が出現し、「フェイルオーバー」をクリックして手動フェイルオーバーを実行できます。
Failover図1.png
・フェイルオーバー後、元プライマリのADBは自動回復されスタンバイとして機能します。
・今回の検証では、プライマリ側に障害を発生させることができなかったため、コマンドでフェイルオーバーを実行します。

● Cloud Shell実行

OCIコンソール上部にあるCloud ShellアイコンをクリックするとCloud Shellが出現し、OCI CLIコマンドを実行できるようになります。
00_OCIコンソールFailover02.jpg

● Failover実行

Cloud Shell上へ次のコマンドを実行して、フェイルオーバーを実行

・コマンド

oci db autonomous-database fail-over \ 
	--peer-db-id <Primary ADB の OCID>  \
	--autonomous-database-id <Standby ADB の OCID> \ 
	--region <Standby ADB の Region>

・実行例

poc@cloudshell:~ (ap-tokyo-1)$ 	oci db autonomous-database fail-over \
	--peer-db-id ocid1.autonomousdatabase.oc1.ap-tokyo-1.anxhiljrssl65iqap75sj \
	--autonomous-database-id ocid1.autonomousdatabase.oc1.ap-osaka-1.anvwsljrssl \
	--region ap-osaka-1

● プライマリ・ロール変更中

スタンバイ・ロールの大阪リージョンを選択し、ライフサイクル状態がロール変更進行中あることを確認
01_大阪_ADW_Remot_プライマリ中01.jpg

● プライマリ・ロール変更完了

Autonomous Data Guardロール項目: ロールがプライマリへ変更されたことを確認
作業リクエストをクリックし、状態が”成功”になったことを確認
02_大阪_ADW_Remot_プライマリ完了01.jpg

● 元プライマリADB: 回復中画面

元プライマリ(スタンバイ・ロール)のリージョンを選択し、ライフサイクル状態がプロビジョニング中あることを確認
031_東京_回復(プロビジョニング中)01.jpg

● 元プライマリADB: 回復完了

ライフサイクル状態がスタンバイであることを確認
032_東京_回復(プロビジョニング)完了02.jpg

■ 参考

● Blog

Autonomous Data Guard : 数クリックでクラウド上でのデータ保護構成を実現

● マニュアル

障害時リカバリでのAutonomous Databaseでのスタンバイ・データベースの使用
スタンバイ・データベースとの手動フェイルオーバー
OCI CLI コマンドリファレンス

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?