6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

③ ConoHa VPS ロードバランサーを導入して複数Webサーバーの割り振り

Last updated at Posted at 2019-03-09

前回記事:② ConoHa VPS で複数WebサーバーとDBサーバーの構成を作る

この記事でやること

前回まででロードバランサを導入する準備が整ったので、今回は

  • Conoha VPSでロードバランサを導入して複数Webサーバーを紐づけ
  • Webサーバー側の設定
  • ロードバランサによる振り分け実験

あたりを実施していきます。

Conoha VPSでロードバランサを導入して複数Webサーバーを紐づけ

さっそくConohaメニューのネットワーク>ロードバランサーからロードバランサを追加、下記キャプチャのような設定を行います。

スクリーンショット 2019-03-09 23.47.58.png

今回はヘルスモニターは無視し、いきなりロードバランサーを構築。各設定は下記です。

  • バランシングポート:httpリクエストのみで実験するので80のみ
  • バランシング方法:ラウンドロビン方式
  • バランシング先IPアドレス:前回までで作成したtestVPS1testVPS2

ロードバランサーのバーチャルIPアドレスが157.7.94.72と割り振られています。
このアドレスにhttpリクエストがくると、ロードバランサーがtestVPS1testVPS2のWebサーバーにリクエストをうまい具合に振り分けるという設定ができました。

Webサーバー側の設定

Conoha公式ドキュメントにあるように、それぞれのWebサーバー側で設定を行います。
ifcfg-lo:0というファイルを作り、そこにロードバランサーとの接続情報を記載します。

# vi /etc/sysconfig/network-scripts/ifcfg-lo:0
ifcfg-lo:0
DEVICE=lo:0
IPADDR=157.7.94.72
NETMASK=255.255.255.255
ONBOOT=yes

ネットワークサービスの再起動を行います。

# service network restart

ロードバランサによる振り分け実験

ここまでできると、157.7.94.72に連続してアクセスするとtestVPS1testVPS2の2つのWebサーバーにリクエストが割り振られる様子を実験できます。

こちらが実験の様子です。
最初のタブではtestVPS1を直接見ていて、次のタブではtestVPS2を直接見ています。
そして3つめのタブではロードバランサーのIPアドレスを叩いていて、さらに連続でリロードすることでtestVPS1testVPS2の2つのWebサーバーにリクエストが割り振られる様子が見て取れると思います。

名称未設定.gif

まとめと考察と疑問

ということでこれまで3回に分けてConoha VPSでロードバランサを利用するところまでを書いてきました。

DBサーバーの分離やロードバランサの導入はドキュメントを見ながら進めましたが、なんとかなるものですね。
ロードバランサは元々負荷分散の目的で活用されることが多いですが、個人的にはデプロイのダウンタイムを無くすという目的で使ってみたいと思います。片方のWebサーバー(環境)をロードバランサから切り離してデプロイを行い、デプロイが終わったらつなぎ直してもう一方のWebサーバー(環境)でも同じことをやれば良さそうです。

とはいえなんか非効率的な感じもするので、

  • そもそも複数環境に対してデプロイを行う時の良い方法は何か
    • それぞれにPushするのか、環境のコピーをするのか
  • Webサーバーの数が多くなったらどうするのか
  • ローリング・デプロイ / ブルーグリーン・デプロイ / イミュータブル・デプロイ とかあるがどれが良いのか
    • というか負荷分散を考えなかったら、毎回新しい環境に乗り換えるヤドカリ方式のイミュータブル・デプロイでいいんじゃないか

といった考えが頭をよぎります。

はーインフラ難しい。

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?