さくらのクラウドでSorryサーバ


さくらのクラウドでSorryサーバ

ロードバランサを使ってSorryサーバを実装してみた。

構成

構成はこんな感じ

上から

  • rtsw01 - ルータ+スイッチ
  • vpcrt01 - VPCルータ
  • switch01 - スイッチ
  • websv01 - WEBサーバ(centos8)
  • sorry01 - sorryサーバ(centos8)
  • lb01 - ロードバランサ

ロードバランサ設定

ロードバランサに設定するものは、

  • ロードバランサのIPアドレス - 今回は192.168.1.250
  • ロードバランサの仮想IP(VIP) - 今回は192.168.1.10
  • 実サーバのIPアドレス - 今回は192.168.1.1
  • sorryサーバのIPアドレス - 今回は192.168.1.2

ロードバランサ - [VIP]

ここでは仮想IPとsorryサーバのIPアドレスを指定する。

ロードバランサ - [実サーバ]

ここでは監視する実サーバのIPアドレスやパスを指定する。
ここで設定した実サーバが全てDOWNするとsorryサーバへとアクセスが切り替わる。

VPCルータ - [NAT] - [スタティックNAT]

今回はVIPをNAT変換して外部からアクセスする。

実サーバ、Sorryサーバの設定

実サーバ、Sorryサーバ共通の設定

sysctl.confの設定追加

/etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.al.arp_announce = 2

ダミーインターフェース(cent8)、ループバックアドレス(cent6/7)の設定

ダミーインターフェース
nmcli connection add type dummy ifname dummy0 ipv4.method manual ipv4.addresses 192.168.1.10/32 ipv6.method ignore
ループバックアドレス /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.1.10
NETMASK=255.255.255.255

詳しくは割愛、以下を参照

ロードバランサ - 導入設定
https://manual.sakura.ad.jp/cloud/network/load-balancer.html#id13

Sorryサーバの設定

httpd.confの設定

末尾に以下を追記

/etc/httpd/conf/httpd.conf
ErrorDocument 503 /index.html

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_URI} !=/index.html
  RewriteRule ^.*$ - [R=503,L]
</IfModule>

<IfModule mod_headers.c>
  Header set Retry-After "Mon, 1 Dec 2014 9:00:00 GMT"
</IfModule>

詳しくは割愛、以下を参照

【TIPS】ロードバランサにソーリーサーバを追加 - 3.ソーリーサーバの構築
https://cloud-news.sakura.ad.jp/2016/04/14/loadbalancer-add-sorry/