スキップしてコンテンツを表示

Network Load Balancer の後ろにあるターゲットが、そのターゲット自体の Network Load Balancer に接続できない理由を知りたいです。

所要時間1分
0

Network Load Balancer の後ろにあるターゲットが同じ Network Load Balancer に接続しようとする際に接続が失敗するため、この問題をトラブルシューティングしたいです。

簡単な説明

内部 Network Load Balancer のターゲットが、そのターゲット独自の Network Load Balancer への TCP 接続を確立する場合、ターゲットはそれ自体にルーティングされます。Network Load Balancer はソース IP アドレスを保持するため、到着したパケットの送信元と宛先はターゲットのプライベート IP アドレスになります。ホストのオペレーティングシステムは、パケットが無効と見なすため、ホストは応答トラフィックを送信せず、接続は失敗します。

この接続障害は、ソースとターゲットが同じ場合にのみ発生します。その結果、Network Load Balancer で使用できるターゲットの数によっては、断続的に接続障害が発生する可能性があります。

Network Load Balancer の接続障害を解決するには、ターゲットグループ属性 preserve_client_ip.enabled を使用し、TCP および TLS ターゲットグループにおいてクライアント IP の保持を無効にします。

解決策

クライアント IP の保持を無効にするには、次の手順を実行します。

  1. Amazon Elastic Compute Cloud (Amazon EC2) コンソールを開きます。
  2. ナビゲーションペインの [ロードバランシング][ターゲットグループ] を選択します。
  3. 該当するターゲットグループ名を選択します。
  4. [属性] タブで [編集] を選択します。
  5. [クライアント IP アドレスを保存] を選択解除します。
  6. [変更を保存] を選択します。

アプリケーションにクライアントの IP アドレスが必要な場合は、プロキシプロトコルのサポートを有効にします。プロキシプロトコルヘッダーからクライアントの IP アドレスにアクセスします。

注: Network Load Balancer でプロキシプロトコルを有効にする前に、ターゲットインスタンスがプロキシプロトコルヘッダーをサポートできることを確認してください。ターゲットがプロキシプロトコルヘッダーをサポートしていない場合、トラフィックは正しく処理されない可能性があります。

関連情報

ターゲットからロードバランサーへのリクエストの接続がタイムアウトする

コメントはありません