【さくらのVPS】wordpressのDBを外部サーバへ移行する（ローカルNW設定編）

#はじめに

表題の通りWordpressのDBのバックアップを取得し、別途用意したサーバにDBだけを移行します。
その時の作業手順です。

以下のようにWebサーバとDBサーバが1つになったサーバでwordpressを運用している場合を想定し、DBだけを別サーバに抜き出して運用出来るようにしていきます。

```
[Webサーバ/DBサーバ]---[インターネット]
⬇︎
[DBサーバ]---[Webサーバ]---[インターネット]
```

#環境

- さくらのVPS(東京リージョン２契約)
- CentOS7
- Apache
- MariaDB

#既存のサーバと移行用DBサーバのローカルNW設定

##さくらのVPSの管理画面にログイン
まず[さくらのVPSの管理画面](https://secure.sakura.ad.jp/vps/#/login)にログインします。

##ローカル接続用スイッチの作成
以下のような画面が出るので左側の"スイッチ"をクリックします。
![image_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/391107/774c81a3-147a-3061-fe8b-57ad55e2dec2.png)

次の画面に遷移したら右上のスイッチ作成をクリックします。
![image_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/391107/7fb252f5-388d-5c56-a7a3-a445d28cf350.png)

次の画面に遷移したら、以下の対応をしてください。

- "名前"に任意のスイッチ名を入力します。
- "ゾーン"は契約しているリージョンを選択して下さい。
- "スイッチを作成する"をクリックします。

**※ さくらのVPSでローカル接続を行うには、契約しているVPSが同じリージョンである必要があります。**
![image_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/391107/dc68e62d-84b7-9004-246b-914a1d5138a5.png)

スイッチの作成が完了した旨のMsgが出力されればOKです。
ローカル接続用スイッチの作成が完了しました。

##ローカル接続用スイッチにサーバを割り当てる
**既存のサーバと移行用DBサーバ両方に以下の対応を行って下さい。**

左側メニューから"サーバ"をクリックして、今回構築に使用するサーバをクリック、画面が切り替わったら右上の"各種設定"から"ネットワーク接続"をクリックします。
**※ サーバが起動中だとスイッチの割り当てが出来ませんので、起動している場合はシャットダウンして下さい。**
![image_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/391107/46aea215-4583-ee4e-5e4e-f051c4f01106.png)

eth1に先ほど作成したスイッチを割り当て、画面下部にある"接続先を変更する"ボタンをクリックします。
**※ セットアップ完了後に必要に応じてDBサーバ側のインターネット接続は"接続しない"に変更しましょう。**
![image_5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/391107/47dc9f94-9bbe-70f2-b3c5-a64154b3dc65.png)

ローカル接続用のスイッチの作成と各サーバへの割り当てが完了しました。
これでセットアップ後にローカル通信を行う事が出来ます。

#移行用DBサーバにCentOS7のインストール
先ほどと同様に左側のメニューから"サーバ"を選択し、画面が遷移したら対象サーバをクリックします。
その後、右上の"各種設定"から"OSインストール"を選択します。
![image_6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/391107/9ea76679-b390-de8a-3fec-29ddb19e02d9.png)

任意でカスタムOSも利用可能ですが、そういう方はこの手順を見ないと思います。
こちらは"標準OS"を選択して下さい。
インストールするOSは"CentOS7 x86_64"
次に"新しいユーザのパスワード"と確認入力に出来るだけ強固な任意のパスワードを入力して下さい。
スタートアップスクリプトは使用しません。
"設定内容を確認する"をクリックすると確認の画面がポップアップしますので、内容を確認し"インストールを実行する"をクリックして下さい。

![image_7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/391107/f25f243d-ae6b-85f6-942a-2a70c45f3e0d.png)

画面に記載される通り、数分してサーバのステータスが稼働中となればインストール完了です。
![image_8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/391107/085f41ea-148b-21bb-97ef-888a00e515a9.png)

#移行用DBサーバの初期セットアップ
ユーザの作成やsshの設定などサーバの初期セットアップは[コチラ](https://qiita.com/siba4848/items/4061a9981a9791761ddb)を参照ください。
もし既存のサーバとクライアント間でsshの公開鍵認証が既に済んでいる場合は、公開鍵を移行用DBサーバに設置してもOKです。（鍵の使い回し）


#移行用DBサーバOS側のローカルNW設定
**移行用DBサーバとは異なるIPを振って既存のサーバにも同様の設定を行なってください。**

##eth1のアクティベート
下記コマンドを実行します。

```
$ sudo nmtui
```

以下のような画面が開きます。
"接続をアクティベートする"を選択してEnterを押下します。
**※ 任意で"システムのホスト名を設定する"からサーバのホスト名を設定してください。**
![image_9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/391107/e0389096-cd47-a6be-ef40-638e5c985077.png)

eth1を選択してEnterを押下します。eth0と同様にeth1の左横に「*」が付けばOKです。
戻るを押下します。
![image_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/391107/70659a66-6cdb-1962-dbf7-bc6cca4ea741.png)

##eth1のIPアドレスの設定
次に"接続の編集"を選択してEnterを押下します。
![image_9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/391107/e0389096-cd47-a6be-ef40-638e5c985077.png)

"system eth1"を選択してEnterを押下します。
![image_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/391107/69b108a1-7545-41cb-1a45-51189f20ad86.png)

"IPv4設定"の項で"無効"となっているところを選択しEnterを押下し、"手作業"を選択します。
その後、その右側にある"表示"を選択しEnterを押下します。
![image_12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/391107/517fd1f8-b4ce-1418-9a93-3c06c9308ee2.png)

下記のような画面が表示されますので、"アドレス"と"ゲートウェイ"にローカルIPアドレスとなる任意の値を入力し控えておきます。
"自動的に接続する"に[x]を入れて画面下部にある＜OK＞を選択しEnterを押下します。
![image_16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/391107/be33f5c5-2b2e-9038-2f06-43edd5dd0667.png)

##NetworkManagerの再起動
設定を反映させる為にNetworkManagerを再起動します。

```
$ systemctl restart NetworkManager
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: username
Password:  ⬅︎ユーザパスワードの入力
==== AUTHENTICATION COMPLETE ===
```

##設定されたIPアドレスの確認
設定を確認してみます。
eth1のIPアドレスが指定した値になっていればOKです。

```
$ ip addr show
///

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether aa:aa:aa:aa:aa:aa brd ff:ff:ff:ff:ff:ff
    inet 192.168.X.X/24 brd 192.168.0.255 scope global noprefixroute eth1　　⬅︎ココ！！
       valid_lft forever preferred_lft forever

///
```

以上でローカルネットワークの設定は完了です。

#疎通確認
既存のサーバとdbサーバの疎通を確認してみます。
双方"0% packet loss"となっていればOKです。双方からやってみてください。

```
$ ping -c4 192.168.X.X
PING 192.168.X.X (192.168.X.X) 56(84) bytes of data.
64 bytes from 192.168.X.X: icmp_seq=1 ttl=64 time=12.9 ms
64 bytes from 192.168.X.X: icmp_seq=2 ttl=64 time=0.427 ms
64 bytes from 192.168.X.X: icmp_seq=3 ttl=64 time=5.20 ms
64 bytes from 192.168.X.X: icmp_seq=4 ttl=64 time=5.38 ms

--- 192.168.X.X ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 0.427/5.995/12.967/4.489 ms
```

長くなってきたので、続きは次の記事にします。

[次の記事](https://qiita.com/siba4848/private/668e31ca80e96e5a089f)