Elastic Load Balancing のアイコン

Elastic Load Balancing 定番2009 年〜

複数のサーバーにトラフィックを自動分散して可用性と耐障害性を高めるサービス

何ができるか

Elastic Load Balancing (ELB) は、受信したトラフィック (アクセス) を複数の EC2 インスタンスやコンテナなどのターゲットに自動的に分散するサービスです。1 台のサーバーに負荷が集中するのを防ぎ、いずれかのサーバーに障害が発生しても他のサーバーが処理を引き継ぐことで、アプリケーションの可用性と耐障害性を向上させます。トラフィック量に応じて自動的にスケールします。

どのような場面で使うか

Web アプリケーションの負荷分散、マイクロサービス間のトラフィック制御、SSL/TLS 終端処理の一元化、ブルー/グリーンデプロイメントの実現、Auto Scaling と組み合わせた自動スケーリング構成など、複数サーバーで構成されるシステムの基盤として利用されています。

身近な例え

レストランの受付係に例えるとわかりやすいでしょう。お客さん (リクエスト) が来店すると、受付係 (ロードバランサー) が空いているテーブル (サーバー) に案内します。特定のテーブルに客が集中しないよう均等に振り分け、もしあるテーブルが使えなくなっても、他のテーブルに案内を続けます。

Elastic Load Balancing とは

Elastic Load Balancing は、AWS が提供するフルマネージドのロードバランシングサービスです。ロードバランサーとは、クライアントからのリクエストを複数のバックエンドサーバーに振り分ける装置のことです。ELB はトラフィック量に応じて自動的にスケールするため、急激なアクセス増加にも対応できます。ヘルスチェック機能により、異常なターゲットを自動的に検出し、正常なターゲットにのみトラフィックを送ります。

ロードバランサーの種類

ELB には 3 つの種類があります。Application Load Balancer (ALB) は HTTP/HTTPS トラフィックに最適化されており、URL パスやホスト名に基づくルーティングが可能です。Web アプリケーションで最も一般的に使われます。Network Load Balancer (NLB) は TCP/UDP トラフィックに対応し、超低レイテンシと毎秒数百万リクエストの処理能力を持ちます。Gateway Load Balancer (GWLB) はサードパーティのネットワークアプライアンスとの統合に使用します。

Auto Scaling との連携

ELB は Auto Scaling と組み合わせることで、真に弾力的なシステムを構築できます。Auto Scaling がトラフィック量に応じて EC2 インスタンスの数を自動的に増減し、ELB が新しく追加されたインスタンスにもトラフィックを自動的に振り分けます。この組み合わせにより、ピーク時には十分なサーバーで処理し、閑散時にはサーバーを減らしてコストを削減できます。

はじめかた

ELB を使い始めるには、EC2 コンソールのロードバランサーセクションで「ロードバランサーの作成」をクリックします。種類 (ALB、NLB、GWLB) を選択し、リスナー (受信ポート) とターゲットグループ (振り分け先) を設定します。ターゲットグループに EC2 インスタンスを登録すれば、ロードバランサーの DNS 名でアクセスできるようになります。

注意点

  • ALB と NLB では料金体系が異なるため、用途に合った種類を選択すること
  • ヘルスチェックの設定が不適切だと、正常なインスタンスが異常と判定されてトラフィックが送られなくなる場合がある
  • HTTPS を使用する場合は、AWS Certificate Manager (ACM) で無料の SSL/TLS 証明書を取得してロードバランサーに設定できる

参考資料 (AWS 公式)

本ページの一次情報は AWS 公式サイトおよび公式ドキュメントです。最新の仕様 / 料金は次の公式ページで確認できます。

本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。

共有するXB!

このサービスに関する最新アップデート

このサービスのアップデートをすべて見る
新機能

AWS Transfer Family が NLB を使用する SFTP サーバーでクライアントのソース IP を保持

AWS Transfer Family は、VPC ホストエンドポイントを使用する SFTP サーバーの前に NLB を配置する場合、PPv2 を使用してクライアントのソース IP を保持するようになった。これにより、IP ベースの監査やアクセス制御、コンプライアンスでクライアントの IP を確認できる。

新機能

AWS Network Load Balancer がリスナールールでカスタムトラフィックルーティングをサポート

Network Load Balancer はリスナールールで、ソース IP アドレスの種類に基づいて接続を異なるターゲットグループにルーティングできる。IPv6 クライアントトラフィックを IPv6 ターゲット、IPv4 クライアントトラフィックを IPv4 ターゲットに送信し、両方のアドレスファミリーで元のクライアント IP アドレスをエンドツーエンドで保持する。