さくらのクラウド やってみたシリーズ(16) エンハンスドロードバランサー
さくらのクラウドには3つのロードバランサーが提供されています。

過去2回の記事でさくらのクラウド ロードバランサーの設定を行いました。
ロードバランサ:TCPで動作します。同じゾーンの中でのみ有効です。ルータ+スイッチ or スイッチで構成したそのネットワーク内にのみ設置でき、スイッチはゾーンをまたがないため実質ソーンの中のみとなります。
エンハンスドロードバランサ:HTTP(S)に特化しています。さくらのグローバルネットワーク上で動作するためゾーンをまたいで有効です。
GSLB:グローバルサーバロードバランサ。DNSベースで動作しリージョンやゾーンをまたいだ負荷分散目的で使用します。
今日はエンハンスドロードバランサを触っていきます。
エンハンスドロードバランサ
「エンハンスドロードバランサ」は、大規模なHTTP/HTTPSサービスに最適なロードバランサアプライアンスです。お客様が構築したスイッチに接続しDSR型のロードバランサとして機能する ロードバランサ アプライアンスや、DNSが応答するIPアドレスにより実サーバへのアクセス分散を行う GSLB と異なり、さくらのクラウドのグローバルネットワークに設置するプロキシ型のロードバランサとして動作します。大規模・高性能・高機能なロードバランサが求められる環境に適した機能です。
過去の記事で触れたロードバランサと異なり、エンハンスドロードバランサはグローバルオブジェクトとして存在します。このためゾーンやリージョンに依存せずHTTP(s)リクエストをルーティングできます。したがって高い可用性が求められるシステムなどでは複数ゾーン、リージョン構成を行うためロードバランサよりこちらのエンハンスドロードバランサの利用が推奨されます。
主な仕様は以下の通りです。

さっそくやってみる
ではさっそくやっていきます。
1. 2台のウェブサーバの起動
こちらの手順と同じように2台のウェブサーバを構築します。
エンハンスドロードバランサーの特徴を試すため、1台を東京第一ゾーン、もう1台の石狩第三ゾーンに配置します。
それぞれ名前をA,Bと付けてHTML上から区別できるようにしておきます。
(環境はUbuntuで行っています)
sudo apt update
sudo apt install -y nginx
sudo systemctl start nginx
sudo vi /var/www/html/index.nginx-debian.html

以下のIPアドレスで起動されています。
石狩第三 : 133.125.238.37
東京第一 : 27.133.155.228
2. エンハンスドロードバランサの起動
コンソール左ペインからグローバル→エンハンスドLBと選択し、追加をクリックします。

東京リージョンと石狩リージョンで冗長構成を行う場合、エニーキャストモードを推奨します。この場合ロードバランサがそれぞれのリージョンで動作し仮想化されたIPが提供されます。クライアントからより近い方の実ロードバランサへルーティングされるようになりレイテンシが向上します。

性能条件を指定します。TLS処理をエンハンスドロードバランサに行わせる場合、予想される秒間アクセス数(正確にはコネクション数)の約10倍を指定します。ウエブサーバに代わりTLSの終端処理を行うためネゴシエーションや暗号処理などの負荷を考慮する必要があるためです。

その他の設定などは今後の記事で触れていきますのでその他の値はすべてデフォルトのままで作成をクリックします。
3. 待ち受けポートの設定
次に起動したら待ち受けポートタブをクリックします。

この記事ではまず最もシンプルなhttp:80で設定したあと、画面右上の反映をクリックします。

4. 実サーバの登録
次に実サーバタブから先ほど起動した2台のウェブサーバを登録します。



2台登録が完了したら、画面右上の反映をクリックします。

5. テスト
いよいよテストです。
エンハンスドロードバランサーはエニーキャストモードの様に、それ自体が冗長化されるケースもあるためVIPでアクセスを行います。

無事2台のどちらかにアクセスが出来れば成功です。

Discussion