ホーム >  VPS >  ConoHaのプライベートネットワークを利用する(DBサーバを分散)


Posted:2018/01/30 9:00:55 AM|Category : VPS

ConoHaのプライベートネットワークを利用する(DBサーバを分散)

ConoHaVPSDBサーバを利用します。フロントサーバとバックエンドサーバを別々にしますが、今回はVPSとDBサーバを接続設定します。

プライベートネットワーク機能

前回は、アプリケーションを設置するVPSサーバとは別にDBサーバを立ち上げました。

プライベートネットワークを利用することで複数台のサーバをインターネットから切り離し、独自のネットワークを構成します。独自のプライベートネットワークを作れば、ネットワークを介して公開Webサーバと非公開のデータベースサーバを接続することができます。

準備

以下の準備を行います。

①ConoHaをレンタルします。

ConoHaVPSをレンタルしてみる

②ConoHaにroot以外のユーザを作ります。

ConoHaのroot以外のユーザを作る

③ConoHaにSSH接続するための設定を行います。

ConoHaのSSH接続

④ConoHaへのrootログインを禁止します。

rootからのログインを禁止

⑤ConoHaのportを22から変更します。

SSH接続するportを22から変更

⑥データベースサーバを用意し、データベースを作成します。また、DBサーバー接続用ネットワークを設定します。

ConoHaのDBサーバをを利用する

ConoHaVPSの環境

アプリケーションサーバ OS CentOS7.4

クライアントPC

操作開発用のクライアントPCを用意します。windowsでもmacでも可能ですが、今回はubuntuを利用します。

OS Ubuntu 16.04.1 LTS 64bit

ネットワークの設定情報を確認

VPSからDBサーバーに接続するためのネットワーク情報を確認します。

①ConoHaの管理画面へログインします。

②[サーバー]へ移動し、停止していた対象のVPSを起動します。

③VPSのネームタグをクリックします。VPSの詳細画面から「ネットワーク情報」にネットワークの設定情報が表示されます。

④「表示NIC」から「shared」となっているNICを選択します。

sharedとなっているNICが、DBサーバー接続用ネットワークにつながっているインターフェイスです。選択すると、IPアドレス、ネットマスク、ゲートウェイの情報が表示されます。これらの情報は、サーバーのネットワークインターフェイスに設定する情報になります。

⑤サーバー一覧からDBサーバーを選択します。

⑥データベースリストから接続先のデータベースをクリックします。すると詳細が表示されます。プライベートネットワークと表示されている部分が接続先ホスト名です。このホスト名はMySQLクライアントなどに渡します。

VPSの設定

データベースサーバーのプライベートネットワークの情報を元に、VPSからDBサーバーにアクセスできるように設定を行います。

CentOS6までは、NICインタフェースを設定するために、「/etc/sysconfig/network-scripts/ifcfg-ethX」を編集する必要がありました。しかし、CentOS7ではこの方法が非推奨になりました。CentOS7からは、ネットワークを設定するためのコマンドとして、NetworkManagerに付属するnmcliまたはnmtuiの使用が推奨されます。

①コントロールパネルのコンソールを使うか、SSHなどでVPSにログインします。

eth1デバイスの接続名変更

①デバイスを確認します。「eth1」を設定したいのですが、少し問題があります。CentOS7インストール後にNICを追加すると、デバイス「eth1」の接続が「Wired connection 1」になっています。

# nmcli d 
デバイス  タイプ    状態                       接続               
eth0      ethernet  接続済み                   eth0               
eth1      ethernet  接続中(IP 設定を取得中)  Wired connection 1 
lo        loopback  管理無し                   --       

※3つのインタフェース(「eth0」「eth1」「lo」)が表示されています。

②「Wired connection 1」という名前のデバイスを本来のデバイス名と同じ「eth1」にします。そのため、「connection.interface-name」と「connection.id」を変更します。

sudo nmcli c m "Wired connection 1" connection.interface-name eth1 connection.id eth1

再度デバイス確認すると、接続がeth1に変更されたことがわかります。

# nmcli d 
デバイス  タイプ    状態                       接続 
eth0      ethernet  接続済み                 eth0 
eth1      ethernet  接続中(IP 設定を取得中)   eth1 
lo        loopback  管理無し                   --      

eth1デバイスのipアドレス・ゲートウェイ

①ipアドレスを設定します。ipアドレスは、「ネットワークの設定情報を確認」の③で確認したipアドレスです。

sudo nmcli c m eth1 ipv4.method manual ipv4.addresses 172.xx.xx.xx/24 connection.autoconnect yes

②ゲートウェイを設定します。ゲートウェイは、「ネットワークの設定情報を確認」の③で確認したゲートウェイです。

sudo nmcli c modify eth1 ipv4.gateway 172.xx.xxx.x

静的ルーティン変更

①このネットワーク用の静的ルーティングを設定します。ルーティングはリージョン毎に異なっており、以下のネットワークアドレスを設定します。

  • 東京リージョン: 172.21.74.0/23
  • アメリカリージョン: 172.21.92.0/23
  • シンガポールリージョン: 172.21.110.0/23

以下のコマンドを実行します。

ip route add  [リージョンのIP] via [ゲートウェイのIP] dev [インタフェース名(例:eth1)]

例)

ip route add 172.21.74.0/23 via 172.21.138.1 dev eth1

②デバイスを再起動します。「systemctl restart network」コマンドでネットワークを再起動しますが、たまに関係ないnicまでコケることがあります。ですので、必要最低限のnicのみリスタートします。

sudo ifdown eth1
sudo ifup eth1

③「eth1」の詳細を確認します。

# nmcli d show eth1
GENERAL.デバイス:                       eth1
GENERAL.タイプ:                         ethernet
GENERAL.ハードウェアアドレス:           xx:xx:xx:xx:xx:xx
GENERAL.MTU:                            1500
GENERAL.状態:                           70 (接続中(IP 設定を取得中))
GENERAL.接続:                           eth1
GENERAL.CON パス:                       /org/freedesktop/NetworkManager/ActiveConnection/4190
WIRED-PROPERTIES.キャリア:              オン

pingで接続確認

①ネットワークが正しく設定されていることを確認するため、pingが通るか試します。

# ping -c 3 private.***.tyo1.database-hosting.conoha.io

PING private.unit01.database-hosting.tyo1.conoha.io (172.xx.xx.xx) 56(84) bytes of data.
64 bytes from 172.xx.xx.xx (172.xx.xx.xx): icmp_seq=1 ttl=63 time=0.472 ms
64 bytes from 172.xx.xx.xx (172.xx.xx.xx): icmp_seq=2 ttl=63 time=0.220 ms
64 bytes from 172.xx.xx.xx (172.xx.xx.xx): icmp_seq=3 ttl=63 time=0.258 ms

--- private.unit01.database-hosting.tyo1.conoha.io ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, t

次回

次回はmysqlクライアントを使って、VPSからDBサーバのmariaDBに接続します。

ConoHaのVPSからDBサーバのmariaDBに接続する


トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 2008年04月 金融機関系I

最近の投稿
人気記事
カテゴリー
広告