ご無沙汰しております。田(でん)です。
となりのエンジニア第5回企画しちゃいました。今回は、GMOクラウドのプリセールスの中田さんにロードバランサについてわかりやすく教えてもらいました。
ー中田さんについて教えてください。
田:今回初めてですので、まずはじめに中田さんの経歴について教えてください。
中田:昔はプログラマーを10年近くやっていました。その後SIerを5年ほど経験した後、現在は、営業の技術面を支援するプリセールスという仕事をしています。今年で2年目になりますね。
田:エンジニアをとても長い間やられていたんですね!ちなみにプログラマーとSIerってどのように違うんですか?
田中:プログラマーはないものを作り出す仕事ですね。SIerはパッケージやOS、インフラなどを持ってきて、すでに作られたものを組み合わせてサービス化するイメージですので、SIerの方が複雑ですね。
プリセールスでは、SIer時代にやっていたようなことをお客さまと一緒に考えていきます。もっとも望ましい形で、お客さまが望むサービスを作れるように技術面をサポートすることが主な役割ですね。
田:技術のコンサルティングみたいなイメージでしょうか。知識が豊富でないとできないお仕事ですね。
ーロードバランサとは?
田:早速本題に入りますが、ロードバランサとは何ですか?質問が初歩的で申し訳ないのですが、ざっくりとサーバーの負荷を分散するものをイメージしています。
中田:ロードバランサという名前だけは知っているという方も多いですし、割と昔から使われているものですね。名前の通り、いろいろなものをバランシングするということで、ざっくり振り分けに使われると想像できるかと思います。
サービスが止まらないようにロードバランサを使ってサーバーを振り分けるので、イメージはあっていますね。昔は稼働中のサーバーが止まったら、もう一台のサーバーに振り分けるという仕様が基本的でした。これを振り分け比率で言うと100:0で、アクティブ/スタンバイとも呼ばれています。
田:100:0の振り分け方聞いたことあります!他にもいくつか振り分け方がありますよね?
中田:他にもいろいろありますね。今までは、たくさんのサーバーをロードバランサの下にぶら下げておけば一つダメになっても、止まることはないだろうという考えでした。
それでは、稼働しているサーバーで常に休んでいるものが出てくるから、リソースがもったいないし、一つのサーバーに負荷がかかっていたら、休んでいるサーバーに振り分けたほうが良いという考えが後から出てきたんです。
負荷を分散する意味で出てきた振り分け方は、ラウンドロビンと呼ばれ、分散対象のサーバー全てに均等に振り分けをします。また、静的な重み付けラウンドロビンで、各サーバーに重み付けをすることもできます。
田:なるほど!もともとロードバランサは100:0(アクティブ/スタンバイ)の考え方しかなかったんですね。知らなかったです。
ーロードバランサはどのようなサーバーに適していますか?
田:ロードバランサといえば、Webサーバーのイメージを持っているのですが、実際にはどのようなサーバーで使われることが多いんですか?
中田:先ほど伝えたように、はじめは100:0(アクティブ/スタンバイ)の考えだったので、当時は基幹システムでよく使われていました。
バランスよく振り分けられるような機能に関しては、Webサーバーのほうが相性が良く、今では負荷分散利用でWebサーバーに導入する場合がとても多くなりましたね。
なので、イメージされている通り、Webサーバーによく使われる認識でまちがいないと思います。
ーロードバランサの種類L4,L7ってどう違うの?
田:ロードバランサはL4とL7の2種類あると聞いたことがあります。どのように違うのか教えてもらえますか?
中田:まず、L4とL7は通信のレイヤーで使われる表現なんです。違いを説明するためには、先に通信の基本について触れたほうがわかりやすいので、簡単に触れますね。
田:通信の基礎・・・難しそうですね。。 (´・ω・`)
中田:通信まわりの理解が難しいかもしれないですけど、ついてきてくださいね。笑
通信のレイヤーはL1~L7まであります。各レイヤーに意味があって、下記のような図は見たことある方もいるかと思うんですが、ロードバランサでいうL4とL7はまさにこのレイヤーにあたります。
田:通信のレイヤー図見たことありますが、やさしい表現でだいぶ理解しやすいです。ありがとうございます。笑
中田:難しいレイヤー図だけ見るとなかなかく感じるかもしれませんが、簡単に言うとL4のロードバランサは基本的な振り分け(きちんと相手に届けられている)ができます。
L7のロードバランサはアプリケーションの判断ができるので、アプリケーションやWebブラウザごとに振り分け先を決めることができるんです。
田:アプリケーション別に振り分けができるんですか!高機能ですね!!!
中田:そうですね。L7ロードバランサは主に複雑な構成時にしか使われないです。先ほど田さんも言っていた通り、高機能すぎる部分があるので、一般的にはL4のロードバランサでまかなえます。L7ですと金額も上がってくるので、少し複雑な案件で使われるイメージですね。
田:L7は想像していたより高機能で少しびっくりしてます。。。ちなみに弊社のサービスの場合だとL4ロードバランサとL7ロードバランサ使えるサービスはありますか?
中田:ありますよ!共用のレンタルサーバーなどでは、ロードバランサの提供はないですが、14日間無料で使えるパブリッククラウドの「ALTUS」では、L4とL7両方使えるロードバランサが標準搭載されています。
また、プライベートクラウドと専用サーバーでは、オプションになりますが、L4とL7のロードバランサが使えます。
田:L7でも選択肢があるのは、うれしいですね!ロードバランサについていろいろ教えてくれてありがとうございました。
次回はGSLBについて教えていただく予定ですので、皆さま乞うご期待(`・ω・´)