ALB / NLB 作成時に事前に作成したターゲットグループが表示されないのはなぜでしょうか
困っていること
ALB / NLB を作成する際、事前に作成したターゲットグループが選択肢に表示されない事象が発生しました。
どう対応すればいいの
ALB / NLB 作成時にターゲットグループが表示されない場合は、以下の項目を確認してください。
| 確認項目 | ALB | NLB |
|---|---|---|
| リージョン | ロードバランサーとターゲットグループが 同一リージョン | ロードバランサーとターゲットグループが 同一リージョン |
| VPC | ロードバランサーとターゲットグループが 同一 VPC | ロードバランサーとターゲットグループが 同一 VPC |
| ターゲットの種類 | instance / ip / Lambda | instance / ip / Application Load Balancer |
| プロトコル | HTTP / HTTPS | TCP / UDP / TLS |
これらの条件を満たしていないターゲットグループは、エラーメッセージは表示されず 選択肢に表示されない 挙動となります。
ポイント
- ALB にはターゲットの種類として Application Load Balancer は設定できません
- NLB にはターゲットの種類として Lambda は設定できません
- ターゲットグループは、他のロードバランサーのリスナーで使用中の場合は 「使用中」としてグレーアウトした状態で表示されます
- リスナーのプロトコルとターゲットグループのプロトコルが、ロードバランサーの仕様に合致しない場合、候補として表示されません[1]
やってみた
上述の ポイント を実際のマネジメントコンソールの挙動で確認してみます。
まず、検証用に以下のようなターゲットグループを事前に作成しています。

ターゲットグループの一覧画面では、各ターゲットグループについて以下の情報を確認できます。
- プロトコル(HTTP / HTTPS / TCP / UDP / TLS)
- ターゲットの種類(instance / ip / Application Load Balancer など)
- 他のロードバランサーで使用中かどうか
- VPC
以降の検証では、この一覧に表示されているターゲットグループを利用して、ALB / NLB のリスナー設定時の表示可否を確認します。
ターゲットの種類による表示可否
ALB のリスナー設定画面では、ターゲットの種類が Application Load Balancer のターゲットグループ(tg-alb)は表示されません。

これは、ALB がサポートしているターゲットの種類が instance / ip / Lambda に限定されているためです。
一方、NLB のリスナーを TCP で設定した場合には、ターゲットの種類が Application Load Balancer のターゲットグループ(tg-alb)が候補として表示されます。

これは、NLB が ALB をターゲットとして指定できる仕様であるためです。
他のロードバランサーで使用中の場合
ターゲットグループが既に別のロードバランサーのリスナーで使用されている場合、候補としては表示されますが、使用中と表示され、選択できない状態になります。

ターゲットグループは 同時に複数のリスナーに関連付けることができないため、このような挙動となります。
リスナープロトコルとターゲットグループのプロトコル
ALB の場合
ALB の場合、リスナーを HTTP または HTTPS に設定すると、HTTP / HTTPS のターゲットグループはいずれも候補として表示されます。


NLB の場合
NLB のリスナーを TCP に設定した場合、TCP のターゲットグループが候補として表示されます。

NLB のリスナーを TLS に設定した場合、TCP / TLS のターゲットグループが候補として表示されます。

NLB のリスナーを UDP に設定した場合、UDP のターゲットグループが候補として表示されます。

まとめと補足
ALB / NLB 作成時にターゲットグループが表示されない場合は、リージョン、VPC、ターゲットの種類、プロトコルが原因の可能性が高いです。
ただし、これらはあくまで代表的な確認ポイントであり、本記事ですべての原因を網羅しているわけではないことをご理解ください。






