さくらのクラウドで普通のWebサーバ(nginx)のロードバランシングをやってみます。
こちらの記事で大変わかりやすくまとめられているので、さくらのクラウドのコントロールパネル上の操作はこちらを参照ください。
さくらのクラウドでロードバランサを使ってみる(1)
さくらのクラウドでロードバランサを使ってみる(2)
CentOS7 での ループバックアドレスの設定がサポート情報になかったのでその辺含めてまとめ。
ロードバランサ – さくらのサポート情報
結果、こちらの記事を参考に動きました。
CentOS7系のWebサーバでLVSのDSRに対応する設定
目標
スイッチのIPアドレスの割り当て
IPアドレス | 割り当て |
---|---|
163.43.26.164 | ロードバランサ IP |
163.43.26.165 | ロードバランサ VIP |
163.43.26.166 | webserver01 |
163.43.26.167 | webserver02 |
163.43.26.168 | 以下、とりあえず使わない |
マップはこうなる想定
ロードバランサ
挙動
http://163.43.26.165 ロードバランサへのアクセスが
時々は WebServer2へ
1台目のサーバを作ってロードバランサへつなぐ
サーバの追加
"スイッチに接続" で "IPアドレス"を 163.43.26.166 で設定
ロードバランサへ登録
追加 より
163.43.26.166 で。
webサーバ(nginx)のインストール
こちらを参考に
CentOS 7 (5, 6) で "安定版 (最新版)" のNginxをインストールする方法
# ログイン
ssh 〇〇〇@163.43.26.166
# スーパユーザになる
su
# nginx インストール
vi /etc/yum.repos.d/nginx.repo
--
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
--
yum -y --enablerepo=nginx install nginx
nginx -v
> nginx version: nginx/1.12.0
systemctl enable nginx
systemctl start nginx
http(80)ポートを開ける
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
ここまでで 163.43.26.166 でアクセスするとnginx が反応してくれる
Welcome to nginx!
ループバックの設定(これ)
参考サイトより
CentOS7系のWebサーバでLVSのDSRに対応する設定
vi /etc/sysconfig/network-scripts/ifcfg-eth0
--
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
GATEWAY=163.43.26.161
PREFIX=28
DNS2=210.188.224.11
IPADDR=163.43.26.166
DNS1=210.188.224.10
ZONE=public
#以下を追記 IPADDR1 は ロードバランサのVIP
IPADDR1=163.43.26.165
PREFIX1=32
--
#リロード
systemctl restart network
ここまでで、ロードバランサ 163.43.26.165 にアクセスすると 実サーバ
163.43.26.166 に流れる。
デフォルトのhtmlをちょっと変えとく
わかりやすいように。
vi /usr/share/nginx/html/index.html
--
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome WebServer 01!</h1> <!-- ← これ -->
--
1台目クローンして 2台目を作ってロードバランサに追加
1台目をクローン
ディスクの修正をする にチェック
IP アドレス に163.43.26.167を入力
わかりやすいように表示するページを変えておく。
ssh 〇〇〇@163.43.26.166
vi /usr/share/nginx/html/index.html
---
<h1>Welcome WebServer 02!</h1> <!-- ← これ -->
---
ロードバランサに追加
1台目と同じように。
確認
有効が はい でステータスが UP になっている
どっちかのサーバに入ってwebサーバを止めて見る
systemctl stop nginx
生きている方が表示されるはず。
終わり。
費用
webサーバ2台で一番小さい構成
1,728 円 server プラン/1Core-1GB * 2
756円 Disk SSD/20GB * 2
2,160円 Switch
2,160円 ルータ
3,456円 追加IPアドレス/28
合計 : 12,744円