はじめに
「AWSのターゲットグループって何のために使うの?」
「ロードバランサーやEC2とは、どのような関係になっているの?」と迷っていませんか。
AWSでALBなどのロードバランサーを設定していると、ターゲットグループの作成やEC2の登録、ヘルスチェックの設定が必要になり、それぞれが何をしているのか分からず迷うことがあります。
この記事では、AWSのターゲットグループの仕組みや役割、ロードバランサーとの関係、ヘルスチェックで確認している内容まで紹介します。
AWSのターゲットグループとは?

AWSのターゲットグループは、ロードバランサーが受け取ったリクエストの転送先をまとめて管理するために使います。
ここでは、ターゲットグループの役割と、ロードバランサー・リスナー・ターゲットグループがどのようにつながっているのかを説明します。
ロードバランサーがリクエストを転送する対象をまとめたグループ
ターゲットグループは、ロードバランサーがリクエストを転送するEC2インスタンスやIPアドレスなどをまとめて管理する単位です。
複数のEC2インスタンスを登録しておけば、ロードバランサーが利用可能なターゲットへリクエストを分散して転送できます。
ロードバランサー・リスナー・ターゲットグループの関係
ロードバランサーがリクエストを受け取ると、リスナーに設定されたルールを確認し、条件に合うターゲットグループへ転送します。
ターゲットグループにはEC2インスタンスやIPアドレスなどが登録されており、実際の転送先として利用されます。
AWSのターゲットグループの仕組み
AWSでは、ロードバランサーが受け取ったリクエストをリスナールールに従って対象のターゲットグループへ転送します。
ここでは、リスナールールによる転送とヘルスチェックによる振り分けの仕組みを説明します。
リスナールールに従ってターゲットグループへリクエストを転送する
ロードバランサーがリクエストを受け取ると、リスナーに設定されたルールを確認します。
ホスト名やURLのパスなどの条件に一致すると、指定されたターゲットグループへリクエストを転送します。
ヘルスチェックで正常なターゲットへリクエストを振り分ける
ターゲットグループでは、登録されたEC2インスタンスやIPアドレスなどに定期的なヘルスチェックを行います。
ロードバランサーは正常と判定されたターゲットへリクエストを振り分け、異常なターゲットへの転送を停止します。
ヘルスチェックで異常と判定される場合は、EC2側のポートやセキュリティグループの設定も確認しておくと原因を切り分けやすくなります。
▶AWSのセキュリティグループとは?設定方法や確認ポイントを解説
ターゲットグループに登録できるターゲットの種類
AWSのターゲットグループでは、ロードバランサーからリクエストを受け取る対象をターゲットとして登録します。
ここでは、ターゲットグループに登録できる主なターゲットの種類を説明します。
EC2インスタンス・IPアドレス・Lambda関数などを登録できる
AWSのターゲットグループには、EC2インスタンスやIPアドレス、Lambda関数などをターゲットとして登録できます。
登録できる対象は、ターゲットグループを作成するときに選択するターゲットタイプによって決まります。
ターゲットグループで設定する主な項目
AWSでターゲットグループを作成するときは、リクエストを転送するためのプロトコルとポートを指定します。
ここでは、ターゲットグループで設定するプロトコル・ポートと、ヘルスチェックの条件について説明します。
プロトコルとポートを設定する
ターゲットグループでは、ロードバランサーからターゲットへ転送するときに使用するプロトコルとポートを設定します。
たとえば、WebサーバーがHTTPの80番ポートで待ち受けている場合は、プロトコルをHTTP、ポートを80に設定します。
ヘルスチェックの条件を設定する
ヘルスチェックでは、登録したターゲットが正常に応答できるか確認するため、プロトコルやポート、パス、チェック間隔などを設定します。
一定回数連続して成功すると正常、失敗すると異常と判定されるため、ターゲットの状態に合わせてリクエストを振り分けられます。
複数のターゲットグループを使う理由
AWSでは、1つのロードバランサーに複数のターゲットグループを設定し、条件に応じてリクエストの転送先を分けられます。
ここでは、複数のターゲットグループを使って転送先を分ける理由を説明します。
URLのパスなどの条件によって転送先を分けられる
複数のターゲットグループを設定すると、URLのパスなどの条件に応じてリクエストの転送先を分けられます。
リスナーが条件に一致するルールを確認し、指定されたターゲットグループへリクエストを転送します。
URLごとに転送先を分けたい場合は、ALBのリスナールールでどのように条件を設定するのかも確認しておくと安心です。
▶AWSのALBとは?仕組みやリスナールールの設定方法を解説
サービスごとに異なるターゲットへ振り分けられる
サービスごとにターゲットグループを分けると、それぞれ異なるEC2インスタンスなどを転送先として登録できます。
1つのロードバランサーを使いながら、サービスごとに転送先を分けて管理できるのが特徴です。
まとめ
AWSのターゲットグループは、ロードバランサーから受け取ったリクエストを、正常に動作しているEC2インスタンスやIPアドレスなどへ届けるための仕組みです。
URLのパスやサービスごとに転送先を分けることもできるため、ロードバランサーを設定するときは、ターゲットの種類やヘルスチェックなどを確認しながら、構成に合ったターゲットグループを設定してみましょう。











