実践活用ガイド - 災害復旧とバックアップ

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・ソフトウェアのバージョンは下記を使用します。

CenoOS 7.9
Apache httpd 2.4.6
PHP 7.4.25
MariaDB 10.6.4

東日本リージョンにて環境構築後、仮想マシンのスナップショットおよびテンプレートの作成を行います。

1. クラウドコンソールより、東日本リージョン1~3からご利用のリージョンを選択し、仮想マシン「east01」を作成します。
仮想マシンの作成方法は「Webサイトの本番環境を構築したい(Web1台構成)」の「1. 仮想マシンへの作成」をご参照ください。
設定例は以下のとおりです。

項目 設定内容
マシンタイプ Light.S1
イメージ おすすめTemplate - CentOS 7.9 64-bit
ボリューム データディスクなし(空欄のまま)
SSH Key ※注1
仮想マシン台数 1台
ネットワークインターフェース ※注2

詳細情報
 
マシン名 east01
グループ (なし)

※注1: SSH Keyの項目は、SSH秘密鍵を未作成の場合は[作成]を選択し、生成された秘密鍵をローカルPCに保存します。詳しくは「めちゃ楽ガイド新規ウィンドウを開きます」6ページの手順3をご参照ください。
※注2: ご利用のアカウントによってネットワークインターフェースとして選択できるゾーン名が異なります。普段お使いのゾーン名をご選択ください。


2. IPアドレスを新規取得し、スタティックNATの有効化を行います。
詳細手順は「仮想マシンへの接続方法 スタティックNAT編」をご参照ください。
ここではIPアドレス名を「east01」とし、上記で作成した仮想マシン「east01」に対して、NATの有効化を行います。

3. IPアドレス名「east01」に対して、ファイアウォールルールを設定します。
詳細手順は「ファイアウォールの設定方法」をご参照ください。
設定例は以下のとおりです。

コメント ソースCIDR タイプ ポートレンジ
HTTP
Any
HTTP 80
SSH
My IP
SSH 22


4. 手順2、3で設定したIPアドレスにて、仮想マシン「east01」にSSHでログインし、WordPressに必要なソフトウェアをインストール、設定します。
仮想マシンへのログイン方法は「Webサイトの本番環境を構築したい(Web1台構成)」の「3. 仮想マシンへのアクセス」をご参照ください。

[root@east01 ~]# yum -y update

// Apache httpdのinstall
[root@east01 ~]# yum -y install httpd
[root@east01 ~]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: Oct 19 2021 13:53:40
[root@east01 ~]#  systemctl start httpd
[root@east01 ~]#  systemctl enable httpd
[root@east01 ~]#  systemctl status httpd

// phpのinstall
[root@east01 ~]# yum -y install epel-release
[root@east01 ~]# yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
[root@east01 ~]# yum -y install --enablerepo=remi,remi-php74 php php-devel php-mbstring php-pdo php-gd php-mysqlnd
[root@east01 ~]# php -v
PHP 7.4.25 (cli) (built: Oct 19 2021 15:18:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.25, Copyright (c), by Zend Technologies
[root@east01 ~]# systemctl restart httpd

// defaultでinstallされているMariaDB5.5をuninstall
[root@east01 ~]# yum list installed|grep mariadb
mariadb-libs.x86_64 1:5.5.68-1.el7 @anaconda
[root@east01 ~]# yum -y remove mariadb-libs.x86_64

// レポジトリファイルの作成
// MariaDB公式サイト※に用意されているOS毎のレポジトリファイルを利用します。
// distribution:CentOS 7(x86_64)、MariDB Server version:10.6を選択時の設定例を示します。
// レポジトリを有効にするため、最後の行に「enable=1」を追加します。
[root@east01 ~]# vi /etc/yum.repos.d/mariadb.repo
~~~
# MariaDB 10.6 CentOS repository list - created 2021-07-14 12:49 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.6/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enable=1
~~~

// レポジトリ追加の確認
[root@east01 ~]# yum list MariaDB*

// MariaDBのinstall
[root@east01 ~]# yum -y install MariaDB-devel MariaDB-client MariaDB-server
[root@east01 ~]# yum list installed | grep mariadb
[root@east01 ~]# systemctl start mariadb
[root@east01 ~]# systemctl enable mariadb
[root@east01 ~]# systemctl status mariadb
● 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新規ウィンドウを開きます

5. 必要に応じて、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
							

6. /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 .
							

7. 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';
							

8. 手順2、3で設定したIPアドレスに対してブラウザでアクセスし、[さあ、始めましょう!]をクリックしてWordPressのインストールを開始します。
例:http://<IPアドレス名「east01」のIPアドレス>/wordpress/


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


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


11. WordPressで必要な情報を入力します。
今後は、このユーザー名とパスワードでサイトの管理などを行います。
入力が終わりましたら、「WordPressをインストール」をクリックします。

項目 内容
サイトのタイトル 任意(ここではDRサイト)
ユーザー名 任意(ここではadmin)
パスワード 任意
メールアドレス 任意
プライバシー 任意(ここではテスト構築のため、チェックボックスを外す)


12. 「成功しました!」の画面が表示されればWordPressのインストールは完了です。
以降、http://<IPアドレス名「east01」のIPアドレス>/wordpress/でブログを表示できます。

WordPress管理画面にアクセスするには、下記URLにアクセスしてください。
http://<IPアドレス名「east01」のIPアドレス>/wordpress/wp-login.php


13. 今回作成した仮想マシンをテンプレートを作成します。
テンプレート作成方法は「スケーラブルなWebサイトを構築したい(Web2台構成)」の「2. スナップショットの作成」と「3. テンプレートの作成」をご参照ください。
テンプレート名を「WordPressTemplate」としてテンプレートを作成します。

14. 左メニューから[テンプレート]をクリックします。テンプレート一覧画面から今回作成したテンプレート名をクリックします。


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


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


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


以上で東日本リージョンでの元となる仮想マシンとテンプレートの作成作業は完了となります。

2. 西日本リージョンに仮想マシンを複製

東日本リージョンで作成したテンプレートを西日本リージョンに取り込み、西日本リージョンでテンプレートからサーバーを作成します。

1. クラウドコンソール上部のリージョン名「東日本リージョンX(1~3)」をクリックします。


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


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


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


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


6. 必要事項を入力して[テンプレートを作成する]をクリックしてテンプレートを作成します。テンプレート作成確認のポップアップ画面が表示されるので[はい]をクリックします。
設定例は以下のとおりです。

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


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


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


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


10. 仮想マシン作成画面にて必要事項を入力して、画面下部の[確認画面へ]をクリックします。
設定例は以下のとおりです。

項目 設定内容
マシンタイプ Light.S1
イメージ 選択済み(WordPressTemplate)
ボリューム データディスクなし(空欄のまま)
SSH Key ※注1
仮想マシン台数 1台
ネットワークインターフェース ※注2

詳細情報
 
マシン名 west01
グループ (なし)

※注1: SSH Keyは東日本リージョンとは別に登録する必要があります。東日本リージョンと同じものを使用する場合は、[アップロード]から東日本リージョンの鍵を登録します。新規に西日本リージョン用の鍵を作成する場合は、[作成]を選択し、生成された秘密鍵をローカルPCに保存します。詳しくは「めちゃ楽ガイド新規ウィンドウを開きます」6ページの手順3をご参照ください。
※注2: ご利用のアカウントによってネットワークインターフェースとして選択できるゾーン名が異なります。普段お使いのゾーン名をご選択ください。


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


12. 西日本リージョンでも、IPアドレスを新規取得し、スタティックNATの有効化を行います。
詳細手順は「仮想マシンへの接続方法 スタティックNAT編」をご参照ください。
ここではIPアドレス名を「west01」とし、上記で作成した仮想マシン「west01」に対して、NATの有効化を行います。

13. IPアドレス名「west01」に対して、ファイアウォールルールを設定します。
詳細手順は「ファイアウォールの設定方法」をご参照ください。
設定例は以下のとおりです。

コメント ソースCIDR タイプ ポートレンジ
HTTP
Any
HTTP 80
SSH
My IP
SSH 22


14. 手順12、13で設定したIPアドレスにて、仮想マシン「west01」にSSHでログインできることを確認します。
仮想マシンへのログイン方法は「Webサイトの本番環境を構築したい(Web1台構成)」の「3. 仮想マシンへのアクセス」をご参照ください。

15. 最後にIPアドレス「west01」のIPアドレスを、メモ帳などにメモしておきます。

3. 東日本/西日本リージョン間の連携

今までの手順で東日本リージョンと西日本リージョンに同じ仮想マシンを作成しました。
次にWordPressのDBを連携させるために、パブリックIPアドレスを利用してレプリケーションの設定を行います。

1. クラウドコンソール上部のリージョン名[西日本リージョン]をクリックして、[東日本リージョン1~3]からご利用のリージョン名をクリックします。


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


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


4. IPアドレス詳細画面から[ファイアウォール]をクリックし、西日本リージョンからのアクセス許可ルールを追加します。

コメント ソースCIDR タイプ ポートレンジ
MySQL from west
アドレス名「west01」のIPアドレス※/32
MySQL 3306
SSH from west
アドレス名「west01」のIPアドレス※/32
SSH 22

※「2. 西日本リージョンに仮想マシンを複製」の手順12で取得したIPアドレス名[west01]のIPアドレスです。


5. 東日本リージョンの仮想マシン「east01」にSSHでログインします。

6. 東日本リージョンの仮想マシン「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
							

7. 東日本リージョンの仮想マシン「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';
							

8. 東日本リージョンの仮想マシン「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)
							

9. 東日本リージョンの仮想マシン「east01」MariaDを停止し、DBの内容をダンプします。

[root@east01 ~]# mysqldump -u root -p --all-databases --lock-all-tables > /var/tmp/dbdump.db
							

10. 東日本リージョンの仮想マシン「east01」にて、DBのロックを解除します。

[root@east01 ~]# mysql -u root -p
MariaDB [(none)]> UNLOCK TABLES;

							

11. 西日本リージョンの仮想マシン「west01」にSSHでログインします。

12. 西日本リージョンの仮想マシン「west01」にて、東日本リージョンの仮想マシン「east01」にアクセスするためのSSH鍵を作成します。

[root@west01 ~]# ssh-keygen
							

13. 手順12で作成した仮想マシン「west01」のSSH公開鍵(~/.ssh/id_rsa.pub)の内容を、仮想マシン「east01」の~/.ssh/authorized_keysに追加します。

14. 仮想マシン「west01」にてscpコマンドを用いて、仮想マシン「east01」のダンプファイルを転送します。

[root@west01 ~]# scp root@アドレス名「east01」のIPアドレス:/var/tmp/dbdump.db /var/tmp/
							

15. 西日本リージョンの仮想マシン「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
							

16. 西日本リージョンの仮想マシン「west01」にて、転送したダンプデータをインポートします。

[root@west01 ~]# mysql -u root -p < /var/tmp/dbdump.db
							

17. 西日本リージョンの仮想マシン「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;
							

18. 西日本リージョンの仮想マシン「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: 
                   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)
							

以上で東日本/西日本リージョン間の連携が完了しました。

4. DNSレコードの設定

最後にDNSレコードの設定を行います。
IDCFクラウド DNSでの設定例を紹介します。お客さま環境に応じて、同様の設定を行ってください。
IDCFクラウド DNSの詳細な操作手順については「DNS/GSLBご利用ガイド」をご参照ください。

1. [コンピュート」をクリックしてサービス一覧を表示し、ネットワーキングより[DNS/GSLB]をクリックしてください。


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


3. [+レコード登録]をクリックして、東日本リージョンに向けたAレコードを登録します。
設定例は以下のとおりです。

項目 設定内容
タイプ A
レコード名 www
GSLB※ 無効
TTL 600
east01のパブリックIPアドレス

※今回はGSLB機能は使わないので無効とします。GSLBについては「DNS/GSLBご利用ガイド」をご参照ください。


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

5. DR切り替えテスト

以上の手順で東日本/西日本リージョン間で連携を行い、東日本リージョンのWordPressの記事を更新すると、西日本リージョン側のWordPressにも反映される環境が構築できました。
最後に実際に障害に見立てて東日本リージョンの仮想マシンをshutdownし、DNSレコードを手動で変更することで、Aレコードを西日本リージョンの仮想マシンに切り替えの動作確認を行います。

1. 東日本リージョンの仮想マシン「east01」にて、Apache httpdプロセスを停止します。

[root@east01 ~]# systemctl stop httpd
							


2. ブラウザにて、「4. DNSレコードの設定」の手順3で設定したFQDNに対してアクセスを行い、アクセスできない状態になっていることを確認します。
例:http://<設定したFQDN>/wordpress/


3. クラウドコンソールにてDNSに切り替え、先ほど設定したAレコードの値を東日本リージョンのパブリックIPアドレスから西日本リージョンのパブリックIPアドレスへ変更し、[変更する]をクリックします。

項目 設定内容
レコード名 www
タイプ A
west01のパブリックIPアドレス
TTL 600


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


今回は簡易的なDRサイトの構築を行いました。実際にはWordPressのプラグイン領域なども複製するような仕組みを設けてDRサイトを構築する必要があります。
DBについてもSlave側で運用する形になるため、すぐに復旧する見込みが立たない場合はMasterに昇格させて更新できるように調整をする必要があります。
しかし、緊急の際にサービス停止を避ける意味合いであれば、今回のようなDRサイトでも有用です。

今回は、コンテンツの更新頻度が少ない前提で、パブリックIPアドレスを経由したDBのレプリケーションの設定を行いましたが、コンテンツ領域についても同期をしたり頻繁に大量のファイルをやりとりする必要がある場合は、プライベートコネクトで接続することをおすすめいたします。

このページの先頭へ このページの先頭へ