DRサイトを作って耐障害性を高めたい
IDCFクラウドでは、地理的に離れたところにDR(ディザスタリカバリ)サイトを簡単に構築することができます。
- IDCFクラウドの東日本リージョンと西日本リージョンの仮想マシンを連携させることで、万一、自然災害などが起こりどちらか一方で障害が発生した場合にも、サービスを継続させることができる、DRサイトの構築が可能です。
- IDCFクラウド内でDRサイトを構築するには、東日本リージョンと西日本リージョン間のデータの連携方法について設計する必要があります。
- データが大量で、頻繁に更新される場合は、東日本リージョンと西日本リージョンをセキュアな閉域網で接続するプライベートコネクトをご利用をご検討ください。
- 一方、データの更新量が多くなく、高信頼性を求めない場合は、インターネット経由でのデータ連携も可能です。
本マニュアルでは、コンテンツの更新頻度の少ないWeb-DBの構成を例として、WordPressのActive-Standby構成の環境を構築します。
DBはMariaDBを使用したMaster-Slave構成とし、インターネット経由でレプリケーションを実施します。
災害発生時にはDNSレコードを手動で切り替える想定とします。
(本マニュアルでは、お客さまにてドメインを取得し、DNSを運用されている前提とします。)
仮想マシンに紐付けるパブリックIPアドレスは、デフォルトのものではなく、追加でIPアドレスを取得し、スタティックNAT設定を実施します。
目次

1. 東日本リージョンで仮想マシンを作成
東日本リージョンにてWordPress環境を構築します。2021年11月時点のWordPressの要件を踏まえて、OS・ソフトウェアのバージョンは下記を使用します。
| RockeyLinux | 9.4 |
| Apache httpd | 2.4.62 |
| PHP | 8.3 |
| MariaDB | 10.11 |
東日本リージョンにて環境構築後、仮想マシンのスナップショットおよびテンプレートの作成を行います。
- クラウドコンソールより、東日本リージョン1~3からご利用のリージョンを選択し、仮想マシン「east01」を作成します。
仮想マシンの作成方法は「Webサイトの本番環境を構築したい(Web1台構成)」の「1. 仮想マシンへの作成」をご参照ください。
設定例は以下のとおりです。
| 項目 | 設定内容 |
| マシンタイプ | Light.S1 |
| イメージ | 標準テンプレート - Rocky Linux 9.4 |
| ボリューム | データディスクなし(空欄のまま) |
| SSH Key | ※注1 |
| 仮想マシン台数 | 1台 |
| ネットワークインターフェース | ※注2 |
| 詳細情報 - マシン名 | east01 |
| 詳細情報 - グループ | (なし) |
※注1: SSH Keyの項目は、SSH秘密鍵を未作成の場合は[作成]を選択し、生成された秘密鍵をローカルPCに保存します。詳しくは「めちゃ楽ガイド」6ページの手順3をご参照ください。
※注2: ご利用のアカウントによってネットワークインターフェースとして選択できるゾーン名が異なります。普段お使いのゾーン名をご選択ください。

IPアドレスを新規取得し、スタティックNATの有効化を行います。
詳細手順は「仮想マシンへの接続方法 スタティックNAT編」をご参照ください。
ここではIPアドレス名を「east01」とし、上記で作成した仮想マシン「east01」に対して、NATの有効化を行います。IPアドレス名「east01」に対して、ファイアウォールルールを設定します。
詳細手順は「ファイアウォールの設定方法」をご参照ください。
設定例は以下のとおりです。
| コメント | ソースCIDR | タイプ | ポートレンジ |
| HTTP | Any | HTTP | 80 |
| SSH: | My IP | SSH | 22 |
- 手順2、3で設定したIPアドレスにて、仮想マシン「east01」にSSHでログインし、WordPressに必要なソフトウェアをインストール、設定します。
仮想マシンへのログイン方法は「Webサイトの本番環境を構築したい(Web1台構成)」の「3. 仮想マシンへのアクセス」をご参照ください。
[root@east01 ~]# dnf -y update
// Apache httpdのinstall
[root@east01 ~]# dnf -y install httpd
[root@east01 ~]# httpd -v
Server version: Apache/2.4.62 (Rocky Linux)
Server built: Jan 10 2025 00:00:00
[root@east01 ~]# systemctl start httpd
[root@east01 ~]# systemctl enable httpd
[root@east01 ~]# systemctl status httpd
[root@east01 ~]# firewall-cmd --add-service=http --permanent
[root@east01 ~]# firewall-cmd --reload
// phpのinstall
[root@east01 ~]# dnf -y install epel-release
[root@east01 ~]# dnf -y install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
[root@east01 ~]# dnf module reset php
[root@east01 ~]# dnf -y module enable php:remi-8.3
[root@east01 ~]# dnf -y install php php-devel php-mysqlnd php-pdo php-gd php-mbstring
[root@east01 ~]# php -v
[root@east01 ~]# systemctl restart httpd
[root@east01 ~]# vi /etc/yum.repos.d/mariadb.repo
~~~
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.11/rhel9-amd64
module_hotfixes=1
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enable=1
~~~
// レポジトリ追加の確認
[root@east01 ~]# dnf list MariaDB*
// MariaDBのinstall
[root@east01 ~]# dnf -y install MariaDB-server MariaDB-client MariaDB-devel --enablerepo=mariadb
[root@east01 ~]# dnf list installed | grep mariadb
[root@east01 ~]# systemctl start mariadb
[root@east01 ~]# systemctl enable mariadb
[root@east01 ~]# systemctl status mariadb
//SELinuxの設定変更
[root@east01 ~]# vi /etc/selinux/config
~~~
SELINUX=permissive
~~~
// レポジトリファイルの作成
// MariaDB公式サイト※に用意されているOS毎のレポジトリファイルを利用します。
// distribution:Rocky Linux9.4、MariDB Server version:10.11を選択時の設定例を示します。
// レポジトリを有効にするため、最後の行に「enable=1」を追加します。
● mariadb.service - MariaDB 10.6.4 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/mariadb.service.d
mqmigrated-from-my.cnf-settings.conf
Active: active (running) since 金 2021-10-29 18:37:13 JST; 15s ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 57951 (mariadbd)
Status: "Taking your SQL requests now..."
CGroup: /system.slice/mariadb.service
mq57951 /usr/sbin/mariadbd
10月 29 18:37:13 east01 mariadbd[57951]: 2021-10-29 18:37:13 0 [Note] InnoD....
10月 29 18:37:13 east01 mariadbd[57951]: 2021-10-29 18:37:13 0 [Note] InnoD...4
10月 29 18:37:13 east01 mariadbd[57951]: 2021-10-29 18:37:13 0 [Note] Plugi....
10月 29 18:37:13 east01 mariadbd[57951]: 2021-10-29 18:37:13 0 [Note] InnoD...l
10月 29 18:37:13 east01 mariadbd[57951]: 2021-10-29 18:37:13 0 [Note] Serve....
10月 29 18:37:13 east01 mariadbd[57951]: 2021-10-29 18:37:13 0 [Note] Serve....
10月 29 18:37:13 east01 mariadbd[57951]: 2021-10-29 18:37:13 0 [Note] /usr/....
10月 29 18:37:13 east01 mariadbd[57951]: Version: '10.6.4-MariaDB' socket:...r
10月 29 18:37:13 east01 systemd[1]: Started MariaDB 10.6.4 database server.
10月 29 18:37:13 east01 mariadbd[57951]: 2021-10-29 18:37:13 0 [Note] InnoD...3
Hint: Some lines were ellipsized, use -l to show in full.
※Downloads Setting up MariaDB Repositories
- 必要に応じて、MariaDBの初期設定を実施します。
// mariadb-secure-installationを実行。詳細は下記URLをご参照ください。
// https://mariadb.com/kb/en/mariadb-secure-installation/
[root@east01 ~]# mariadb-secure-installation
// 文字化け対応
[root@east01 ~]# cp -p /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf.org
[root@east01 ~]# vi /etc/my.cnf.d/server.cnf
// 以下のように「character-set-server=utf8」を追加します。
~~~
# this is read by the standalone daemon and embedded servers
[server]
character-set-server=utf8
~~~
// 設定を反映するため、MariaDBを再起動
[root@east01 ~]# systemctl restart mariadb
/var/www/htmlにWordPressをダウンロードして展開します。
[root@east01 ~]# cd /var/www/html
[root@east01 html]# wget https://ja.wordpress.org/latest-ja.tar.gz
[root@east01 html]# tar xvf latest-ja.tar.gz
[root@east01 html]# rm latest-ja.tar.gz
[root@east01 html]# chown -R apache:apache .
- MariaDBにWordPressのDBとユーザーを作成します。
ここではデータベース名、ユーザー名、パスワードとして、下記を設定することとします。
| 項目 | 内容 |
| データベース名 | wpdb |
| ユーザー名 | wpuser |
| パスワード | password |
[root@east01 ~]# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE wpdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON wpdb.* TO wpuser@localhost IDENTIFIED BY 'password';
- 手順2、3で設定したIPアドレスに対してブラウザでアクセスし、[さあ、始めましょう!]をクリックしてWordPressのインストールを開始します。
例:http://<IPアドレス名「east01」のIPアドレス>/wordpress/

- 続いて、WordPressがデータベースに接続するための情報を入力します。
さきほど設定した
- データベース名
- ユーザー名
- パスワード
を入力してください。
入力が完了しましたら、[送信]をクリックします。
(任意で設定した場合、各パラメーターは設定したものと読み替えてください。)

- [インストール実行]をクリックします。

- WordPressで必要な情報を入力します。
今後は、このユーザー名とパスワードでサイトの管理などを行います。
入力が終わりましたら、「WordPressをインストール」をクリックします。
| 項目 | 内容 |
| サイトのタイトル | 任意(ここではDRサイト) |
| ユーザー名 | 任意(ここではadmin) |
| パスワード | 任意 |
| メールアドレス | 任意 |
| プライバシー | 任意(ここではテスト構築のため、チェックボックスを外す) |

- 「成功しました!」の画面が表示されればWordPressのインストールは完了です。
以降、http://<IPアドレス名「east01」のIPアドレス>/wordpress/でブログを表示できます。
WordPress管理画面にアクセスするには、下記URLにアクセスしてください。 http://<IPアドレス名「east01」のIPアドレス>/wordpress/wp-login.php

今回作成した仮想マシンをテンプレートを作成します。
テンプレート作成方法は「スケーラブルなWebサイトを構築したい(Web2台構成)」の「2. スナップショットの作成」と「3. テンプレートの作成」をご参照ください。 テンプレート名を「WordPressTemplate」としてテンプレートを作成します。左メニューから[テンプレート]をクリックします。テンプレート一覧画面から今回作成したテンプレート名をクリックします。

- テンプレート詳細画面から[エクスポート]をクリックします。

- テンプレートエクスポート画面で[URLを発行する]をクリックします。確認のポップアップ画面が表示されるので[はい]をクリックします。

- 生成されたテンプレートエクスポート用URLをメモ帳などにコピーしておきます。

以上で東日本リージョンでの元となる仮想マシンとテンプレートの作成作業は完了となります。
2. 西日本リージョンに仮想マシンを複製
東日本リージョンで作成したテンプレートを西日本リージョンに取り込み、西日本リージョンでテンプレートからサーバーを作成します。
- クラウドコンソール上部のリージョン名「東日本リージョンX(1~3)」をクリックします。

- [西日本リージョン]をクリックします。
(選択したリージョンが初回アクセスの場合、リージョンを有効にするかポップアップ画面が表示される場合があります。サービス規約に同意するとお申し込み画面が表示されます。
[はい]をクリックすることで選択したリージョンのコンピュートのクラウドコンソールを表示させることが可能となります。)

- クラウドコンソールにて、西日本リージョンのコンピュートが選択されていることを確認します。

- 左メニューから[テンプレート]をクリックします。

- テンプレート一覧画面にて[テンプレート作成]をクリックしてテンプレート作成画面を表示させます。

- 必要事項を入力して[テンプレートを作成する]をクリックしてテンプレートを作成します。テンプレート作成確認のポップアップ画面が表示されるので[はい]をクリックします。
設定例は以下のとおりです。
| 項目 | 設定内容 |
| テンプレート名 | WordPressTemplate |
| 説明 | WordPressのテンプレート |
| ゾーン | ※ご利用のゾーン名を選択してください |
| 許可IPアドレスリスト | ※ゾーンを選択後、自動表示されます |
| URL | ※(1)の手順17にてメモ帳などにコピーしたURLをhttpsからhttpに書き換えて入力してください |
| OSタイプ | ※お使いのOSタイプと同じもの、もしくは近いものをご選択ください |
| ハイパーバイザー | VMWare |
| フォーマット | OVA |
| エクスポート | 有効 |
| パスワードリセット | 有効 |
| ダイナミックスケール | 有効 |
| ルートディスクコントローラ | scsi |
| NICアダプタ | Vmxnet3 |
| キーボード | Japanese |

- ステータスがDownload Completeになったことを確認し、作成したテンプレート名をクリックします。

- テンプレート詳細画面にて[仮想マシン作成]をクリックします。

- テンプレートの仮想マシン作成メニューにて[仮想マシン作成画面へ]をクリックします。

- 仮想マシン作成画面にて必要事項を入力して、画面下部の[確認画面へ]をクリックします。
設定例は以下のとおりです。
| 項目 | 設定内容 |
| マシンタイプ | Light.S1 |
| イメージ | 選択済み(WordPressTemplate) |
| ボリューム | データディスクなし(空欄のまま) |
| SSH Key | ※注1 |
| 仮想マシン台数 | 1台 |
| ネットワークインターフェース | ※注2 |
| 詳細情報 - マシン名 | west01 |
| 詳細情報 - グループ | (なし) |
- ※注1: SSH Keyは東日本リージョンとは別に登録する必要があります。東日本リージョンと同じものを使用する場合は、[アップロード]から東日本リージョンの鍵を登録します。新規に西日本リージョン用の鍵を作成する場合は、[作成]を選択し、生成された秘密鍵をローカルPCに保存します。詳しくは「めちゃ楽ガイド」6ページの手順3をご参照ください。
- ※注2: ご利用のアカウントによってネットワークインターフェースとして選択できるゾーン名が異なります。普段お使いのゾーン名をご選択ください。

- 確認画面で内容を確認し、画面下部の[作成]をクリックします。

西日本リージョンでも、IPアドレスを新規取得し、スタティックNATの有効化を行います。 詳細手順は「仮想マシンへの接続方法 スタティックNAT編」をご参照ください。
ここではIPアドレス名を「west01」とし、上記で作成した仮想マシン「west01」に対して、NATの有効化を行います。IPアドレス名「west01」に対して、ファイアウォールルールを設定します。 詳細手順は「ファイアウォールの設定方法」をご参照ください。
設定例は以下のとおりです。
| コメント | ソースCIDR | タイプ | ポートレンジ |
| HTTP | Any | HTTP | 80 |
| SSH | My IP | SSH | 22 |
手順12、13で設定したIPアドレスにて、仮想マシン「west01」にSSHでログインできることを確認します。
仮想マシンへのログイン方法は「Webサイトの本番環境を構築したい(Web1台構成)」の「3. 仮想マシンへのアクセス」をご参照ください。最後にIPアドレス「west01」のIPアドレスを、メモ帳などにメモしておきます。
3. 東日本/西日本リージョン間の連携
今までの手順で東日本リージョンと西日本リージョンに同じ仮想マシンを作成しました。
次にWordPressのDBを連携させるために、パブリックIPアドレスを利用してレプリケーションの設定を行います。
- クラウドコンソール上部のリージョン名[西日本リージョン]をクリックして、[東日本リージョン1~3]からご利用のリージョン名をクリックします。

- クラウドコンソールにて、東日本リージョン1~3のご利用のリージョンのコンピュートが選択されていることを確認します。

- 左メニューから[IPアドレス]をクリックし、IPアドレス一覧画面から「1. 東日本リージョンで仮想マシンを作成」の手順2で取得したIPアドレス名[east01]をクリックします。

- IPアドレス詳細画面から[ファイアウォール]をクリックし、西日本リージョンからのアクセス許可ルールを追加します。
| コメント | ソースCIDR | タイプ | ポートレンジ |
| MySQL from west | アドレス名「west01」のIPアドレス ※/32 | MySQL | 3306 |
| SSH from west | アドレス名「west01」のIPアドレス ※/32 | SSH | 22 |
※「2. 西日本リージョンに仮想マシンを複製」の手順12で取得したIPアドレス名[west01]のIPアドレスです。

東日本リージョンの仮想マシン「east01」にSSHでログインします。
東日本リージョンの仮想マシン「east01」のMariaDBL設定ファイル(my.cnf)を編集して映します。
[root@east01 ~]# cp -p /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf.org
[root@east01 ~]# vi /etc/my.cnf.d/server.cnf
// [mysqld]以下に設定を追加
~~~
[mysqld]
log-bin=mysql-bin
server-id=1
expire_logs_days=5
~~~
// 設定を反映するため、MariaDBを再起動
[root@east01 ~]# systemctl restart mariadb
- 東日本リージョンの仮想マシン「east01」のMariaDBにレプリケーション用ユーザーを追加します。
ここではユーザー名、パスワード、IPアドレスとして、下記を設定することとします。
| 項目 | 設定内容 |
| ユーザー名 | repl |
| パスワード | password |
| ホスト | ※西日本リージョンのIPアドレス名「west01」のIPアドレス |
[root@east01 ~]# mysql -u root -p
MariaDB [(none)]> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'IPアドレス名「west01」のIPアドレス' IDENTIFIED BY 'password';
- 東日本リージョンの仮想マシン「east01」のMariDBのMasterポジションを確認して、メモ帳などにメモしておきます。出力例は以下のとおりです。
[root@east01 ~]# mysql -u root -p
// 書き込みをおこなわないように、DBをロック
MariaDB [(none)]> FLUSH TABLES WITH READ LOCK;
Query OK, 0 rows affected (0.000 sec)
// Masterポジションを確認。File, Positionの出力をメモ。
MariaDB [(none)]> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 532 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.000 sec)
- 東日本リージョンの仮想マシン「east01」MariaDを停止し、DBの内容をダンプします。
[root@east01 ~]# mysqldump -u root -p --all-databases --lock-all-tables > /var/tmp/dbdump.db
- 東日本リージョンの仮想マシン「east01」にて、DBのロックを解除します。
[root@east01 ~]# mysql -u root -p
MariaDB [(none)]> UNLOCK TABLES;
西日本リージョンの仮想マシン「west01」にSSHでログインします。
西日本リージョンの仮想マシン「west01」にて、東日本リージョンの仮想マシン「east01」にアクセスするためのSSH鍵を作成します。
[root@west01 ~]# ssh-keygen
手順12で作成した仮想マシン「west01」のSSH公開鍵(
/.ssh/id_rsa.pub)の内容を、仮想マシン「east01」の/.ssh/authorized_keysに追加します。仮想マシン「west01」にてscpコマンドを用いて、仮想マシン「east01」のダンプファイルを転送します。
[root@west01 ~]# scp root@アドレス名「east01」のIPアドレス:/var/tmp/dbdump.db /var/tmp/
- 西日本リージョンの仮想マシン「west01」のMariDB設定ファイル(server.cnf)を編集します。
[root@west01 ~]# cp -p /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf.org
[root@west01 ~]# vi /etc/my.cnf.d/server.cnf
// [mysqld]以下に設定を追加
~~~
[mysqld]
log-bin=mysql-bin
server-id=2
read_only=1
~~~
// 設定を反映するため、MariaDBを再起動
[root@west01 ~]# systemctl restart mariadb
- 西日本リージョンの仮想マシン「west01」にて、転送したダンプデータをインポートします。
[root@west01 ~]# mysql -u root -p < /var/tmp/dbdump.db
- 西日本リージョンの仮想マシン「west01」にて、下記設定を行います。
| 項目 | 設定内容 |
| MASTER_HOST | IPアドレス名「east01」のIPアドレス |
| MASTER_USER | wpuser ※1 |
| MASTER_PASSWORD | password ※1 |
| MASTER_LOG_FILE | mysql-bin.000001 ※2 |
| MASTER_LOG_POS | 532 ※2 |
※1: 「3. 東日本/西日本リージョン間の連携」の手順7で設定したものを入力します。
※2: 「3. 東日本/西日本リージョン間の連携」の手順8で確認したものを入力します。
[root@west01 ~]# mysql -u root -p
MariaDB [(none)]> CHANGE MASTER TO \
-> MASTER_HOST='アドレス名「east01」のIPアドレス', \
-> MASTER_USER='repl', \
-> MASTER_PASSWORD='password', \
-> MASTER_LOG_FILE='mysql-bin.000001', \
-> MASTER_LOG_POS=532;
MariaDB [(none)]> START SLAVE;
- 西日本リージョンの仮想マシン「west01」にて、Slaveの状態を確認します。
Slave_IO_RunningとSlave_SQL_RunningがともにYesであれば正常に設定ができています。
[root@west01 ~]# mysql -u root -p
MariaDB [(none)]> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: <ipアドレス名「east01」のipアドレス>
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 532
Relay_Log_File: west01-relay-bin.000002
Relay_Log_Pos: 555
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 532
Relay_Log_Space: 865
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid: No
Gtid_IO_Pos:
Replicate_Do_Domain_Ids:
Replicate_Ignore_Domain_Ids:
Parallel_Mode: optimistic
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
Slave_DDL_Groups: 0
Slave_Non_Transactional_Groups: 0
Slave_Transactional_Groups: 0
1 row in set (0.001 sec)
</ipアドレス名「east01」のipアドレス>
以上で東日本/西日本リージョン間の連携が完了しました。
4. DNSレコードの設定
最後にDNSレコードの設定を行います。
IDCFクラウド DNSでの設定例を紹介します。お客さま環境に応じて、同様の設定を行ってください。
IDCFクラウド DNSの詳細な操作手順については「DNS/GSLBご利用ガイド」をご参照ください。
- [コンピュート」をクリックしてサービス一覧を表示し、ネットワーキングより[DNS/GSLB]をクリックしてください。

- 作成してあるDNSゾーン名をクリックしてレコード設定画面を表示します。
※DNSゾーンを作成していない場合は別途DNSゾーンを作成してください。

- [+レコード登録]をクリックして、東日本リージョンに向けたAレコードを登録します。
設定例は以下のとおりです。
| 項目 | 設定内容 |
| タイプ | A |
| レコード名 | www |
| GSLB※ | 無効 |
| TTL | 600 |
| 値 | east01のパブリックIPアドレス |
※今回はGSLB機能は使わないので無効とします。GSLBについては「DNS/GSLBご利用ガイド」をご参照ください。

- ブラウザにて、手順3で設定したFQDNに対してアクセスして正常に表示されることを確認します。
例:http://<設定したFQDN>/wordpress/

5. DR切り替えテスト
以上の手順で東日本/西日本リージョン間で連携を行い、東日本リージョンのWordPressの記事を更新すると、西日本リージョン側のWordPressにも反映される環境が構築できました。
最後に実際に障害に見立てて東日本リージョンの仮想マシンをshutdownし、DNSレコードを手動で変更することで、Aレコードを西日本リージョンの仮想マシンに切り替えの動作確認を行います。
- 東日本リージョンの仮想マシン「east01」にて、Apache httpdプロセスを停止します。
[root@east01 ~]# systemctl stop httpd
- ブラウザにて、「4. DNSレコードの設定」の手順3で設定したFQDNに対してアクセスを行い、アクセスできない状態になっていることを確認します。
例:http://<設定したFQDN>/wordpress/

- クラウドコンソールにてDNSに切り替え、先ほど設定したAレコードの値を東日本リージョンのパブリックIPアドレスから西日本リージョンのパブリックIPアドレスへ変更し、[変更する]をクリックします。
| 項目 | 設定内容 |
|---|---|
| レコード名 | www |
| タイプ | A |
| 値 | east01のパブリックIPアドレス |
| TTL | 600 |

- AレコードのTTL値が切れるのを待って、「4. DNSレコードの設定」の手順3で設定したFQDNに対して、ブラウザでアクセスを行い、WordPressのコンテンツが表示されることを確認します。
例:http://<設定したFQDN>/wordpress/
これで一旦、西日本リージョンにてリカバリができました。

今回は簡易的なDRサイトの構築を行いました。実際にはWordPressのプラグイン領域なども複製するような仕組みを設けてDRサイトを構築する必要があります。
DBについてもSlave側で運用する形になるため、すぐに復旧する見込みが立たない場合はMasterに昇格させて更新できるように調整をする必要があります。
しかし、緊急の際にサービス停止を避ける意味合いであれば、今回のようなDRサイトでも有用です。
今回は、コンテンツの更新頻度が少ない前提で、パブリックIPアドレスを経由したDBのレプリケーションの設定を行いましたが、コンテンツ領域についても同期をしたり頻繁に大量のファイルをやりとりする必要がある場合は、プライベートコネクトで接続することをおすすめいたします。