VPS

Conoha DBサーバーの設定方法

最終更新日: 2024/03/19

はじめに

ConoHa VPSの解説は別ページをご参照下さい。

このページはDBの利用・設定方法だけに特化しているページです。

なお、ConoHaにはサーバー間のプライベート接続という機能が提供されていますが、それとデータベースのプライベート接続は両方同時に使えるものではないので、注意して下さい。
Webサーバー間でローカル接続をさせたいという場合には、データベースへのプライベート接続を選んだ時に提供されるローカル接続のIPアドレスを互いに使うことになります。

ConoHaのDBサーバーとは

所謂マネージドDB。
但し、サーバースペックについては未保証(あくまで共有サーバー的なものとして提供される)。

DBはデータの保全等クリティカルな部分なので、任せられるのなら任せたい。

ConoHaを使うのなら一番の理由にはなると思う。

ベンチマーク結果

同時アクセススレッドが同じユーザーに対して4までしか許されていないことに注意。
2スレッドでsysbenchテストをすると以下のようになる。
基本そこまで速いわけではない(むしろ遅い)。

Running the test with following options:
Number of threads: 2
Initializing random number generator from current time


Initializing worker threads...

Threads started!

SQL statistics:
    queries performed:
        read:                            58730
        write:                           16780
        other:                           8390
        total:                           83900
    transactions:                        4195   (69.88 per sec.)
    queries:                             83900  (1397.58 per sec.)
    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          60.0302s
    total number of events:              4195

Latency (ms):
         min:                                   11.99
         avg:                                   28.61
         max:                                  771.07
         95th percentile:                       66.84
         sum:                               120014.04

Threads fairness:
    events (avg/stddev):           2097.5000/4.50
    execution time (avg/stddev):   60.0070/0.01

Conoha DBサーバの設定方法・使い方

初めに

Conohaも公式のヘルプ記事を用意しています。

https://support.conoha.jp/v/dbnetwork/

基本そちらをベースに見て頂きながら、分からないところ・別説明を見たい時に、この文章をご活用下さい。


下準備: DBに接続するWebサーバーをDBサーバー接続用ネットワークに追加する

WebサーバーとDBサーバーは、何も設定しなければ、同じConohaのサーバーでも、インターネットを通じて会話してしまう。
ただ、効率とセキュリティ上、ローカルネットワークで会話させたいので、ローカルネットワークを通じて会話させるようにする。

その為には、まずWebサーバーを管理画面から停止

そして

ネットワーク > プライベートネットワーク > DBサーバー接続用ネットワーク

と移動し、対象のVPSインスタンスのセレクトボックスで「接続する」を選んで保存する。

そしてVPSインスタンスを起動。


DBの設定

サーバーの追加 > DBサーバー
と移動し、
・サーバースペック
・名前付け(ネームタグ)
・自動バックアップ有無
の選択をする。

なお、自動バックアップを選ぶと、
一日一回バックアップを取得し、3世代まで管理
できる。
月300円。


データベースとデータベースユーザの追加

サーバーのタブを押すと見えるサーバ一覧にDBサーバーが現れている

DBサーバーのネームタグをクリックして詳細に進む。

データベースは、サービスの名称とかを考慮しながら、データベース名とネームタグを記入して保存

ユーザーリストの方は
ユーザー名
パスワード
ユーザー種別(通常は「一般ユーザ」で問題ない)
を指定し、接続許可ホストのIPアドレスを指定する。

この場合はWebサーバーのIPアドレスを入力しておけば良い。

そして保存すると、ユーザーの方には接続先データベースという入力欄が新たに出てくるので
作ったデータベースを指定して選ぶ。


データベースヘの接続

サーバーをクリックして、サーバー一覧からDBをクリックしてDB情報の詳細に移動。
そうすると

接続先ホスト名
グローバルネットワーク …

プライベートネットワーク …
がある。

グローバルネットワークはインターネットを通じて外部からアクセスするホスト名、
プライベートネットワークはローカルネットワーク内に閉じてアクセスするホスト名。

ここからWebサーバーインスタンスのローカルIPアドレスをDBサーバと会話できる領域に設定する必要がある。

vi /etc/sysconfig/network-scripts/ifcfg-eth1

と打って

DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=172.21.***.***
NETMASK=255.255.254.0

といった内容を入れる。
IPADDRにいれるべき値は、

サーバー > Webサーバに使うVPSのインスタンスをクリック > ネットワーク情報 > 表示NICのセレクトボックスからshared-…というのを選択

した時表示されるIPアドレス。

次は、特定のネットワークへのルーティングの定義をする(プライベートネットワークの方を使わせ、インターネット経由でアクセスしようとさせない為)。

vi route-eth1

と打って

$リージョンのネットワークアドレス via $eth1のゲートウェイのIPアドレス dev eth1

と入れて保存する。
なお、$リージョンのネットワークアドレスは、
東京リージョン:
(IPアドレスが172.21.***.***の場合)172.21.74.0/23
(IPアドレスが172.29.***.***の場合)172.29.92.0/23

アメリカリージョン: 172.21.92.0/23

シンガポールリージョン: 172.21.110.0/23

となっている。

その反映が終わったら

service network restart

でネットワーク設定を反映。
※上記コマンドが使えなければ「systemctl restart NetworkManager.service」と打つ

最後に検証として、使う方のホスト名に対し

telnet ホスト名 3306

と打ってみて繋がるか確認してみる。

繋がらなければ何かおかしいので、手順を再度確認する事。