ELBとは?アクセスの振り分け役|ALBとNLBの違いと障害切り分け

ELBとは?AWSの負荷分散を新社会人向けにやさしく解説

配属先で「そこはELBをかませておいて」「ロードバランサー経由で来てる?」といった会話が飛び交い、ついていけないと感じていませんか?ELBは、AWSでWebサービスを動かす現場ならほぼ必ず登場するサービスです。

この記事では、そのELBを「行列を空いているレジへ振り分ける店員さん」という例え話を軸に、しくみ・現場での使いどころ・料金の考え方まで、専門用語をかみくだいて解説します。

結論を先に言うと、ELBとは届いたアクセスを複数のサーバーへ自動でふり分けてくれるサービスです。

この記事でわかること

  • ELBがどんなサービスか(例え話つき)
  • ELBの3つの種類と、新社会人が出会う場面
  • ELBの料金の考え方と、無料枠でどこまで試せるか
目次

ELBとは?一言でいうと「行列を空いているレジへ振り分ける店員さん」

ELB(イーエルビー)とは、届いたアクセスを複数のサーバーへ自動でふり分けるサービスです。正式名称は「Elastic Load Balancing」といいます。

AWS公式は、ELBを「着信アプリケーショントラフィックを、1つ以上のアベイラビリティーゾーン内において、複数のターゲットおよび仮想アプライアンス間で自動的に分散します」と説明しています。

ここで、混みあったスーパーのレジを思いうかべてください。お客さんが1つのレジにだけ並ぶと、そこだけ長い行列ができます。そこへ店員さんが来て「3番レジが空いていますよ」と声をかけ、お客さんをふり分けてくれる。結果として、どのレジもほどよく埋まり、待ち時間が短くなります。

ELBがやっているのは、まさにこれです。利用者からのアクセスという「お客さん」を、サーバーという「レジ」へ、かたよらないようにふり分けます。

この店員さんは、もうひとつ大事な仕事をしています。閉まっているレジにお客さんを送らない、ということです。ELBも同じで、公式によると「登録されているターゲットの状態をモニタリングし、正常なターゲットにのみトラフィックをルーティングします」。このしくみをヘルスチェックと呼びます。

つまりELBは、混雑をならす役目と、故障を避ける役目を同時に引きうけているわけです。

ELBの全体イメージ:入口で受けて、元気なサーバーだけに配る
図: ELBの全体イメージ:入口で受けて、元気なサーバーだけに配る(筆者作成)

ELBのしくみと使いどころ

ELBはアクセスの「入口」に置く

ELBは、利用者とサーバーのあいだに立ちます。利用者はサーバーのアドレスではなく、ELBのアドレスにアクセスします。そこから先、どのサーバーに渡すかはELBが決めます。

この配置にすると、うれしいことが2つあります。

  • サーバーを増やしても減らしても、利用者から見た入口は変わらない
  • 1台が壊れても、ELBがそのサーバーを外してくれるのでサービスは止まらない

ふり分け先はEC2だけではありません。公式によると、コンテナやIPアドレス、Lambda関数もふり分け先にできます。この「ふり分け先のまとまり」をターゲットグループと呼びます。

ELBの3つの種類

ELBは1種類ではありません。用途に応じて次のタイプから選びます。

  • Application Load Balancer(ALB): 公式には「リクエストレベル(レイヤー7)で動作する」とあります。WebサイトやAPIなど、HTTP/HTTPSのアクセスを扱う定番です
  • Network Load Balancer(NLB): 「接続レベル(レイヤー4)で動作する」タイプです。TCPやUDPを扱い、公式は「超低レイテンシーを維持しながら毎秒数百万のリクエストを処理できる」としています
  • Gateway Load Balancer: 「既存のネットワークアプライアンスの保持」という用途で使われる、少し特殊なタイプです

レイヤー7とレイヤー4という言葉は、ここでは「中身まで見るか、通り道だけ見るか」の違いと考えてください。ALBは中身を見られるので、公式にあるとおりURLのパスで行き先を変える「パスベースのルーティング」ができます。たとえば /images/ へのアクセスは画像用のサーバーへ、といった具合です。

新社会人が最初に出会うのは、ほぼALBです。「とりあえずALBを立てて、その後ろにEC2を2台ぶら下げる」という構成は、AWSの入門書でもよく出てきます。

現場ではこんな場面で出てくる

先輩から「来週キャンペーンでアクセスが増えるから、サーバーを2台に増やしておいて」と頼まれたとします。ここでサーバーを1台足しただけでは、利用者のアクセスは元の1台に集中したままです。

ELBを入口に置いてはじめて、2台目に仕事がまわります。「サーバーを増やす」という指示の裏には、たいていELBの設定がセットで存在する、と覚えておくと理解が早くなります。

ELBと関連サービスの違い・つながり

ELBは単体では使いません。ほかのサービスと組みあわせてはじめて意味を持ちます。

  • EC2: ふり分け先の本体です。ELBが店員なら、EC2はレジそのものにあたります
  • VPC: ELBもEC2も、VPCというネットワークの中に置きます。ELBを複数のアベイラビリティーゾーンにまたがって置くことで、片方のゾーンに障害が起きても耐えられます
  • Lambda: ALBならLambda関数もふり分け先にできます。サーバーを持たない構成でもELBが使えるということです

混同しやすいのがDNSとの違いです。ドメイン名をアドレスに変換するのがDNSの役目で、AWSではRoute 53が担当します。ELBはその先で、届いたアクセスをどのサーバーに渡すかを決めます。Route 53が住所案内、ELBが店内の交通整理と考えると区別しやすくなります。

スケーリングとの関係もおさえておきましょう。サーバーの台数を自動で増減させるのはAuto Scalingの仕事です。ELBは台数を変える機能そのものではなく、増えた台数をきちんと使い切るための土台にあたります。この2つはセットで語られることが多いので、名前だけでも結びつけておくと会話についていけます。

ELBの料金と無料枠

ELBの料金は、大きく2つの合計で決まります。

  • 動かしている時間: 公式には「Application Load Balancer が実行される時間に対して1時間単位または1時間未満で」課金されるとあります
  • 使った量: LCU(ロードバランサーキャパシティーユニット)という単位で計算されます。NLBの場合はNLCUと呼びます

LCUは、新しい接続数・アクティブな接続数・処理したバイト数・ルールの評価回数という4つの物差しのうち、いちばん大きい値で計算されます。ざっくり言えば「どれか一番混んでいたところ」で料金が決まる、というイメージです。

金額の目安を挙げると、執筆時点の公式ページ(米国東部・バージニア北部リージョン)では、ALBが1時間あたり0.0225USD、LCUあたり0.008USDと記載されています。NLBは1時間あたり0.0225USD、NLCUあたり0.006USDです。東京リージョンの金額は公式の料金ページで別途たしかめてください。料金は変わることがあるため、数字は必ず公式で確認する習慣をつけましょう。

無料枠もあります。公式によると「Classic Load BalancerとApplication Load Balancer間で共有される750時間/月」が、アカウント作成後6か月間つかえます。あわせてClassic Load Balancerの15GBのデータ処理と、Application Load Balancerの15LCUが含まれます。

750時間は1か月をほぼ丸ごとカバーできる量です。学習用に1つ立てて動かしてみるぶんには、じゅうぶんな範囲といえます。ただし期間は6か月かぎりなので、使い終わったら消す癖をつけておくと安心です。

現場ノート:ELBの障害調査は「どこまで来ているか」の切り分けから

「サイトにつながらない」という障害連絡を受けたとき、筆者がまず見るのはELBです。理由は、ELBが利用者とサーバーの間の関所であり、ここのメトリクス(正常ホスト数・5xxの数)を見れば「ELBまで届いているか」「後ろのEC2が死んでいるのか」を数分で切り分けられるからです。新人のうちに覚えてほしいのは、ヘルスチェックの設定内容を「知っている」こと。チェック先のパス・間隔・何回失敗で切り離すか。障害時に「ヘルスチェックは/healthに10秒間隔、3回失敗で切り離しです」と即答できる人は、それだけで調査の主導権を持てます。

まとめ:ELBは「止まらないサービス」の土台

この記事の要点をふり返ります。

  • ELBとは、届いたアクセスを複数のサーバーへ自動でふり分けるサービス。例えるなら、空いているレジへお客さんを案内する店員さん
  • ヘルスチェックで正常なサーバーだけに渡すため、1台壊れてもサービスは止まらない。Web用途ならまずALBを選ぶ
  • 料金は動かした時間とLCUの合計。無料枠はアカウント作成後6か月間、月750時間まで

まずはAWSの管理画面でALBの作成画面を開き、どんな項目を聞かれるかだけでも眺めてみてください。ターゲットグループやヘルスチェックという言葉が、この記事とつながって見えてくるはずです。

関連するAWSサービス

アクセスをさばく仕組みを広く見たい人は、以下の記事も参考になります。

参考リンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメント一覧 (1件)

コメントする

目次