Webサービスを作って潰すのが趣味な人のブログ

とりあえず作ってから怒られよう

【新ConoHa】APP(VPS)とDBサーバーをプライベート(ローカル)ネットワークで接続しようとしてハマった

このページを参考に、「VPSの設定を行う」までやったあとのお話です

一応動いてるのでメモ残しておきます

www.conoha.jp

 

CentOSじゃないんだUbuntuなんだ

ということで、やることは3つあります

  1. ネットワーク設定を追加
  2. routeを追加
  3. routeに実行権限をつけて再起動後も設定が引き継がれるようにする

 

必要な値はこの画像を参考にしてください。各自で設定しないといけない部分は*IP*とかに変えておいたので適宜読み替えてください

f:id:vu2:20150625092707p:plain

※一応書いておきます。この画面はネットワーク設定でDBを規定のリージョン(たいていは東京だと思う)につなげた後、VPSの設定画面で「表示NIC」をクリックして「ext〜」→「shared-〜」を選択した時に出る画面です。ややこしいので注意してください

 

1.ネットワーク設定を追加

「/etc/network/interfaces」を開いて以下のように書き込んでください

gist1fd8023818a128ea9eb8

*IP*は上の画像の同じ*IP*の部分、*MASK*も同様に上の画像の*MASK*の部分の値を利用してください

 

それが終わったら「sudo ifup eth1」を実行してください。上手く出来ていれば立ち上がりますが「〜failed」と言われた場合は上手く設定出来ていませんので設定を見なおしてください

 

※本来なら「sudo service networking restart」なんですが、ubuntu14のバグでこのコマンドが使えません。したがって「sudo ifdown eth1 & sudo ifup eth1」としてやれば同様の事になるのでfailedになった場合はこのコマンドでエラーが消えるまで調整してください。

 

2.routeを追加

静的ルーティングというやつらしい

/etc/network/if-up.d」に移動して設定ファイルを作ります。名前はなんでもいいらしいのでとりあえず「route-eth1」ということで「vim /etc/network/if-up.d/route-eth1

gist706726171041bc38616f

 

リージョンごとのアドレスは上のサイトにのってるこれ

f:id:vu2:20150625093738p:plain

*GW*はさっき上の画像で*GW*って書いた部分。例として東京リージョンだったら下みたいな感じになります

#!/bin/sh
/sbin/route add -net 172.21.74.0/23 gw 172.21.*.* dev eth1

 

参考:

www.keih.jp

 

3.routeに実行権限をつけて再起動後も設定が引き継がれるようにする 

gist1a56087461c72a2c35fd

元々ここのディレクトリに入れた設定ファイルは起動時に読み込まれるので(というか、だからそこに作った)実行権限だけ付与してやれば後は再起動後も自動で読み込まれるようになります

作ったファイルをshコマンドで読み込んでやれば無事に設定終了です

 

一応ping打ってみよう

DBサーバーの方の設定画面の「接続先ホスト」→「プライベートネットワーク」のホストに向かって今設定したサーバーからpingを打ってください

通るようになってるはずです。もし通らなかったら設定が間違っているか、作ったファイルを読み込んで無いかどっちかでしょう

 

まとめ

多分問題ないと思いますが、もし問題あれば教えてください