こんにちは。 ニフクラエンジニアミートアップ事務局の鮫島です。
2022年9月21日(水)に第52回ニフクラエンジニアミートアップを開催しました。
今回のテーマは「いまさら聞けない負荷分散の基礎~はじめてのロードバランサー」ということで、ニフクラの「L7ロードバランサー」の提供元である図研ネットウエイブ様の中の人をお呼びして、ロードバランサーと負荷分散の基礎についてお話しいただきました。
いまさら聞けない負荷分散の基礎
まずは、前半戦として図研ネットウエイブの営業本部第三営業部の内澤氏のセッション。
Webサーバーは、利用者が増えると大きな負荷がかかるようになりますが、快適な利用のためには、サーバーの台数を増やすなどして負荷分散を行う必要があります。
複数台のサーバーを使った負荷分散にかかせないのが、ロードバランサーです。
ロードバランサーの基本動作
そもそも、ロードバランサーって何ができる機器なのか?というお話です。
通信を複数のサーバーに分散することで負荷を軽減する…と言うのは先に述べた通りです。 もう一つの役割は、サーバーの死活監視です。サーバーに障害が起きた場合にそのサーバーへの振り分けを停止する機能も備えているので、それによってシステムの「可用性」を向上させることが出来ます。
動画のこのあたりからご覧ください。 www.youtube.com
ロードバランサーの種類
ロードバランサーには、L4とかL7といった種類があります。
「L4とL7の違いって?1分でわかりやすく説明して!」
などと言われて即答できる人はここにはいないと思いますが、私も「機能的には、L4<L7で、より細かい制御ができるんです!」程度の説明しかできません。
そういう方は、動画のこのあたりからご覧ください。 www.youtube.com
仮想ロードバランサーの選定ポイント
主に物理サーバーを運用している場合は、ロードバランサーも物理という選択は自然だと思います。 クラウドサーバーを利用している場合は仮想ネットワーク機器のロードバランサーを利用することも多いはずです。 ただ、オンプレミスとクラウドをハイブリッドで利用している場合は、迷うところではないでしょうか。 とはいえ、信頼性の高い仮想ロードバランサーがあれば運用面での柔軟性などメリットも多いと思います。
実際の導入事例は、マスメディア系のWebサーバーなどが多い印象です。
大規模かつ突発的なアクセス増に耐えるのはもちろん、メディアとしての社会的責任を考えての導入と思います。
実際にロードバランサーを設定してみた!
ここからは、後半戦です。 技術本部技術1部2課の大登氏が、実際にvTM(Ivanti virtual Traffic Manager)を設定する手順とパフォーマンスのお話をしてくださいました。 …と思ったら、いきなり脱線?ということで参考図書の紹介からスタート。 いいですね。リモートワークが多い世の中では、先輩が「これ読めば?」って言ってくれることもあまりなく。
今回大登氏が見せてくれた設定は、vTMでHTTPバランシング設定を行い、クライアントPCからのWebアクセス(HTTP通信)を3台のWebサーバーにデフォルト設定のラウンドロビンで振り分けるというもの。
基本的には、vTMの設定画面からポチポチやればいいようです。
設定の手順書はこちらからダウンロードできるそうです。
詳しくは動画のこのあたりから。 www.youtube.com
最後に、実際のパフォーマンステストの結果を見せてくださいました。
vTM1台でサーバー証明書と負荷分散用のVirtual IP Addressして、クライアントからのHTTPS通信をHTTP通信に変換して3台のWebサーバーに負荷分散する設定です。
気になるテスト結果は動画のこのあたりをご覧ください。 www.youtube.com
パフォーマンス向上のためには、サーバーのメモリーよりCPUのスペックを気にしたほうがいいようです。
QAセッション
続いて、Slidoを使ったリアルタイムQAセッションに入りました。 物理ロードバランサーは触ったことがありそうな人も、仮想ロードバランサーに興味津々のようで、様々な質問が飛び交っていました。
ロードバランサーを複数台にしたいときはどうする?とか、ロードバランサー自体の冗長化はどうするんだ?とか、クラウドで運用する際に気になる点がいろいろ出てきました。
詳しくは動画のこのあたりから。 www.youtube.com
ということで、ロードバランサーを使った負荷分散の基礎について学びつつ、高性能なL7ロードバランサーを使えばココまでやれるよ!ということがお判りいただけたかと思います。
それでは、次回もよろしくお願いします。