Network Load Balancer の背後にあるターゲットが自身の Network Load Balancer に接続できないのはなぜですか?
最終更新日: 2018 年 6 月 4 日
簡単な説明
内部 Network Load Balancer のターゲットが自身の Network Load Balancer への TCP 接続を確立すると、ターゲットが自身にルーティングされるようにできます。
Network Load Balancer は送信元 IP を保持するため、到着したパケットの送信元と送信先の両方がターゲットのプライベート IP アドレスになります。その後、ホストオペレーティングシステムはパケットを無効とみなし、レスポンストラフィックの送信に失敗するため、接続が失敗します。
注: この接続エラーは、送信元と送信先が同じ場合にのみ発生します。その結果、Network Load Balancer で使用できるターゲットの数によっては、接続の問題が断続的に発生します。
このタイプの Network Load Balancer の接続障害を修正するには、IP ターゲットタイプを使用します。IP ターゲットタイプを使用して、ターゲットは Network Load Balancer の IP アドレスを認識します。送信元と送信先が一意であるため、接続は成功します。
解決方法
Network Load Balancer に IP ターゲットタイプを使用するには、次の手順に従います。
- ロードバランサー用の新しいターゲットグループを作成します。
- [Target type] (ターゲットタイプ) で [ip] を選択します。
注: ターゲットグループを作成した後は、ターゲットタイプを変更できません。
Amazon Elastic Container Service (Amazon ECS) をご利用の場合は、実行中のタスクごとに Elastic Network Interface、プライベート IP アドレス、プライベート DNS 名を提供するネットワークタイプ「awsvpc」を使用します。「awsvpc」ネットワークタイプは、ターゲットグループのターゲットタイプを「ip」に設定します。
ご使用のアプリケーションでそのクライアントの IP アドレスが必要な場合は、[Proxy protocol support] (プロキシプロトコルのサポート) を有効にし、そのプロキシプロトコルヘッダーからそのクライアント IP アドレスにアクセスします。