ローカルネットワーク接続で複数台構成を構築しよう

複数台のインスタンスをローカルネットワーク接続して、処理を分散させることも可能です。今回はその基本的な手順を解説します。

 

■複数台のインスタンスを接続できる

■プランの変更

■通信の確認

■MySQLのインスタンスを分ける

 

 

■複数台のインスタンスを接続できる

VPSクラウドでは、複数台のインスタンスをネットワークとして接続することができます(ただし、2G-SSDタイプ以上のインスタンスのみ)。アクセスが多いWebサイトなど、負荷が高いサービスを運用する際に、複数台のサーバーで処理を分散することができます。

例えば、インスタンスを2台使って、1台にWebサーバーをインストールし、もう1台にデータベースサーバーをインストールして、それぞれの処理に専念させるような使い方をすることができます。

 

 

■プランの変更

複数台のインスタンスを起動するには、各インスタンスを起動できるだけのポイントを満たせるように、契約者コンパネでプランを変更します。(VPSクラウドのインスタンスタイプ一覧

例えば、4G-SSDタイプ1台と2G-SSDタイプ1台をネットワークにしたい場合、それぞれのインスタンスに必要なポイントは80/40なので、合計で120ポイントが必要になります。したがって、プラン120以上に変更します。

変更の手順は次の通りです。

 

①契約者コンパネに接続します。

②「ご利用サービス」の画面で、対象のサービスの行の「詳細」ボタンをクリックし、詳細のページを開きます。

③ページをしたにスクロールし、「プラン」のところで変更後のプランを選んで、「変更する」ボタンをクリックします。

 

 

■通信の確認

インスタンスの間の通信は、ローカルIPアドレスを使って行います。

サービスコンパネにログインしてインスタンス一覧のページを開くと、「IPアドレス」の列に各インスタンスのIPアドレスが2つずつ表示されます。下の段のカッコで囲まれているIPアドレスが、ローカルIPアドレスにあたります(図1)。

 

図1 インスタンス一覧でローカルIPアドレスを確認する

図1 インスタンス一覧でローカルIPアドレスを確認する

 

 

ローカルネットワーク内で通信ができるかどうかは、「ping」というコマンドで確認することができます。2つのインスタンスAとBがあるのもとして、AからBへの通信を確認するにはインスタンスAで次のコマンドを実行します。

 

リスト pingコマンド

ping インスタンスBのローカルIPアドレス

 

例えば、ローカルIPアドレスが「172.16.23.45」の場合だと、「ping 172.16.23.45」のコマンドを実行します。通信ができていれば、通信にかかった時間が表示されます。Ctrl+Cキーを押すと、pingコマンドの実行を終了することができます。

 

 

リスト pingコマンドの実行結果の例

PING 172.16.23.45 (172.16.23.45) 56(84) bytes of data.
64 bytes from 172.16.23.45: icmp_seq=1 ttl=64 time=1.67 ms
64 bytes from 172.16.23.45: icmp_seq=2 ttl=64 time=0.396 ms
64 bytes from 172.16.23.45: icmp_seq=3 ttl=64 time=0.553 ms
64 bytes from 172.16.23.45: icmp_seq=4 ttl=64 time=0.450 ms

--- 172.16.23.45 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3423ms
rtt min/avg/max/mdev = 0.396/0.767/1.672/0.526 ms

 

 

■MySQLのインスタンスを分ける

複数のインスタンスを使ってできることは、数多くあります。ここではその一例として、インスタンスを2台使って、MySQLのインスタンスをWebサーバーなどのインスタンスとは別にすることを取り上げます。

 

・MySQLの初期化

まず、2台目のインスタンスにMySQLをインストールし、初期化も行っておきます。この手順は、「データベース(MySQL)の設定をしよう」の記事の場合と同じですので、そちらの記事を参照してください。

 

・MySQLに外部から接続できるようにする

MySQLの標準の状態では、外部から(ネットワーク越しに)MySQLに接続することはできないようになっています。MySQLのインスタンスを別にするには、外部から接続できるようなユーザーを作成します。

まず、MySQLのインスタンスで「mysql -u root -p」のコマンドを実行して、MySQLをSQL文で操作する状態にします。

そして、次のSQL文を実行します。「データベース名」などのところは、表1のように実際の値に置き換えます。

 

リスト 外部から接続するユーザーを作成する

CREATE DATABASE データベース名

GRANT ALL PRIVILEGES ON データベース名.* TO 'ユーザー名'@'IPアドレス' IDENTIFIED BY 'パスワード' WITH GRANT OPTION;

FLUSH PRIVILEGES;

 

表1 SQL文の中で置き換える箇所

項目 内容
データベース名 作成するデータベースの名前
ユーザー名 作成するユーザーの名前
IPアドレス 接続元のインスタンスのIPアドレス
パスワード ユーザーのパスワード

 

例えば、表2のような状況だとすると、次のリストのようにSQL文を実行します。

 

表2 データベースなどの状況

項目 内容
作成するデータベース名 wordpress
作成するユーザー名 foo
接続元インスタンスのIPアドレス 172.16.23.45
パスワード H$3zBLD7

 

リスト 表2の状況の場合に実行するSQL

CREATE DATABASE wordpress

GRANT ALL PRIVILEGES ON wordpress.* TO 'foo'@'172.16.23.45' IDENTIFIED BY 'H$3zBLD7' WITH GRANT OPTION;

FLUSH PRIVILEGES;

 

上記のSQL文を実行できたら、「QUIT;」のSQL文を実行して、mysqlコマンドを終了します。

 

 

・1台目のインスタンスからの接続をテストする

MySQL用のインスタンスの設定を終えたら、1台目のインスタンスから接続できるかどうかを確認します。

まず、次のコマンドを実行して、MySQL用のインスタンスのデータベースを操作する状態にします。「ユーザー名」には、MySQLに作成したユーザー名を指定します。また、「IPアドレス」には、MySQL用インスタンスのIPアドレスを指定します。

 

リスト MySQL用のインスタンスに接続する

mysql -u ユーザー名 -h IPアドレス -p

 

例えば、前述の例のように、ユーザー名が「foo」で、IPアドレスが「172.16.23.45」の場合だと、「mysql -u foo -h 172.16.23.45 -p」のコマンドを実行します。

すると、「Enter password」のプロンプトが表示されますので、MySQLに設定したパスワードを入力します。

これで、MySQLをSQL文で操作できる状態になります。「SHOW DATABASES;」のSQL文を実行してデータベース名のリストを表示し、MySQLに作成したデータベース名が出てくれば、設定は正しく行えています。

 

 

・WordPressをインストールしてみる

MySQL用のインスタンスを別にした場合、WordPressのインストール方法が若干変わります。インストールの途中で、データベースの設定を行うステップがあります。ここで、表3のように各項目を設定します。

 

表3 WordPressをインストールする際のデータベースの設定

項目 内容
データベース名 MySQLに作成したデータベースの名前
ユーザー名 MySQLに作成したユーザーの名前
パスワード MySQLに作成したユーザーのパスワード
データベースのホスト名 MySQL用インスタンスのローカルIPアドレス
テーブルの接頭辞 「_wp」のまま

 

 

 

 

 

 

うちだ
サービスクリエーション本部所属        (監修:とみなが)       

オススメ記事

関連サービス

VPS VPSクラウド