負荷分散と可用性

ターゲットグループ たーげっとぐるーぷ

ロードバランサーALBNLBヘルスチェックAWS負荷分散
ターゲットグループって何?

簡単に言うとこんな感じ!

ロードバランサー(振り分け係)が「じゃあこのグループに届けて!」と仕事を投げる相手のリストだよ。「注文を受けたらキッチンAとキッチンBに振り分ける」ときの「キッチンA・B」がターゲットグループってこと!


ターゲットグループとは

ターゲットグループとは、ロードバランサー(負荷分散装置)がリクエストを転送する宛先サーバーやコンテナのまとまりのことです。AWSのALB(Application Load Balancer)やNLB(Network Load Balancer)で広く使われる概念で、「どのサーバー群に処理を任せるか」をグループとして定義します。

たとえばWebサービスを運営していて、注文処理用のサーバーが3台・商品検索用のサーバーが2台あるとします。このとき「注文処理サーバー3台」をひとつのターゲットグループ、「検索サーバー2台」を別のターゲットグループとして登録します。ロードバランサーは受け取ったリクエストの内容(URLのパスやホスト名など)を見て、適切なターゲットグループへ振り分けます。

ターゲットグループにはヘルスチェック(死活監視)機能があり、グループ内のサーバーが正常に動いているかを定期的に確認します。不具合があるサーバーには自動的にリクエストが送られなくなるため、サービス全体の可用性(止まりにくさ)を高められます。


ターゲットグループの構造と仕組み

ターゲットグループは主に以下の要素で構成されています。

要素内容
ターゲット実際にリクエストを受け取るサーバー・コンテナ・IPアドレスなど
プロトコルとポートどの通信方式・ポート番号で受け渡しするか(例: HTTP:80)
ヘルスチェック設定正常かどうか確認するための間隔・閾値・チェック先パス
ロードバランシングアルゴリズムラウンドロビン(順番)・最小接続数など、振り分けルール

ターゲットの種類

ターゲットグループに登録できる「宛先」の種類は複数あります。

種類具体例
インスタンスEC2仮想サーバーなど
IPアドレスオンプレミス(社内)サーバーや別VPC内のサーバー
Lambda関数サーバーレス処理(AWSのFaaS)
ALB別のロードバランサーを宛先にする構成

覚え方

ターゲット(的)グループ(集合)」=ロードバランサーの矢が飛んでいく的の集まり、と覚えると直感的!矢(リクエスト)がどの的(サーバーグループ)に向かうかを定義するものだよ。


歴史と背景

  • 2009年頃:AWSがElastic Load Balancing(ELB)を提供開始。当初はシンプルな「CLB(Classic Load Balancer)」のみで、ターゲットグループの概念はなく、直接サーバーを登録する方式だった
  • 2016年:AWS が ALB(Application Load Balancer)を発表。ターゲットグループという概念が正式に導入され、URLパスやホスト名による高度な振り分けが可能になった
  • 2017年:NLB(Network Load Balancer)でもターゲットグループに対応。TCP/UDPレベルの高速振り分けと組み合わせられるようになった
  • 2018年以降:コンテナ(ECS/Kubernetes)や Lambda との連携が強化され、マイクロサービス(機能を小さく分割したシステム設計)との相性がさらに高まった
  • 現在:AWSのみならず Google Cloud の Backend Service、Azure の Backend Pool など、主要クラウドが同様の概念を採用し、業界標準の考え方として普及

ロードバランサーとターゲットグループの関係

ロードバランサーとターゲットグループは「振り分けルール(リスナールール)」を介して結びつきます。1つのロードバランサーが複数のターゲットグループに振り分けられるのが特徴です。

ロードバランサー (ALB / NLB) リスナールール /order → TG-A /search → TG-B ターゲットグループ A 注文処理サーバー群 ターゲットグループ B 検索サーバー群 サーバー A1 ✅ 正常 サーバー A2 ✅ 正常 サーバー A3 ❌ 異常 サーバー B1 ✅ 正常 サーバー B2 ✅ 正常 ❌ のサーバーはヘルスチェックで異常検知→自動的に除外

ALB vs NLB でのターゲットグループの違い

比較項目ALB(アプリケーション層)NLB(ネットワーク層)
振り分けの判断材料URL・ヘッダー・クッキーなどIPアドレス・ポート番号
主な用途WebアプリのHTTP/HTTPS通信高速・大量のTCP/UDP通信
ターゲット種類インスタンス・IP・Lambdaインスタンス・IP・ALB
ヘルスチェックHTTP/HTTPSでパスを指定TCP接続またはHTTP
向いているシステム一般的なWebサービスゲーム・金融・IoTなど

関連する規格・RFC

規格・RFC番号内容
RFC 7540HTTP/2(ALBが対応するHTTPプロトコル)
RFC 793TCP(NLBのターゲットグループで使われるトランスポート層プロトコル)
RFC 2616HTTP/1.1(ヘルスチェックのHTTPリクエストに関連)

関連用語