Gateway Load Balancer の接続問題を解決したいです。
解決策
前提条件
開始する前に、次の作業を完了します。
- ネットワークのアーキテクチャおよび、その中間デバイスをすべて確認し、接続要件を満たしていることを確認します。
- セキュリティグループ、ネットワークアクセスコントロールリスト (ネットワーク ACL)、ルートテーブルが正しく設定されていることを確認します。
- ゲートウェイロードバランサーの Amazon 仮想プライベートクラウド (VPC) エンドポイントが使用可能であることを確認します。
- ゲートウェイロードバランサーの背後に正常なアプライアンスがあることを確認します。クロスゾーンが有効になっていない場合、各アベイラビリティーゾーンには少なくとも 1 つの有効かつ正常なターゲットがあります。
- AWS Transit Gateway を使用している場合は、ホスト側ネットワークの VPC に関連付けられている Transit Gateway アタッチメントでアプライアンスモードを有効にします。
トラブルシューティングのヒント
接続エラーが解消しない場合は、次のトラブルシューティングのヒントを参考にして接続を確立します。
分析用の VPC フローログとパケットキャプチャの設定
ゲートウェイロードバランサーのエンドポイントのネットワークインターフェイスで、VPC フローログを有効にします。設定時には、次の追加フィールドを使用します。
${pkt-srcaddr}, ${pkt-dstaddr}, ${flow-direction} and ${tcp-flags}
ゲートウェイロードバランサーの背後にあるクライアント、サーバー、ターゲットアプライアンスから同時にパケットをキャプチャします。
パケットをキャプチャするには、Wireshark または tcpdump を使用します。次に、Wireshark を使用してパケットを分析します。Wireshark の使用方法については、Wireshark のウェブサイトを参照してください。
転送トラフィックフローのトラブルシューティング
転送トラフィックフローの例:
クライアント--->GWLBe--->GWLB--->アプライアンス--->GWLB--->GWLBe--->サーバー
Wireshark などのツールを使用してクライアントのパケットキャプチャを開き、パケットがサーバーの IP アドレスに送信されているかどうかを確認します。
ゲートウェイロードバランサーのエンドポイント上の、ネットワークインターフェイスの VPC フローログを確認します。これらのログで、パケットがネットワークインターフェイスに到達しているかどうかを確認します。
ゲートウェイロードバランサーのターゲットアプライアンスに関するパケットキャプチャを開きます。パケットがターゲットアプライアンスに入ってから、ゲートウェイロードバランサーに向かって送信されているかどうかを確認します。
ゲートウェイロードバランサーのエンドポイント上の、ネットワークインターフェイスの VPC フローログを確認します。これらのログで、パケットがネットワークインターフェイスを出て、サーバーに向かっているかどうかを確認します。
サーバーのパケットキャプチャをチェックして、パケットがサーバーに到達しているかどうかを確認します。
逆方向トラフィックフローのトラブルシューティング
逆方向トラフィックフローの例:
サーバー--->GWLBE--->GWLB--->アプライアンス--->GWLB--->GWLBe--->クライアント
サーバーのパケットキャプチャをチェックして、サーバーが応答を生成しているかどうかを確認します。
ゲートウェイロードバランサーのエンドポイント上の、ネットワークインターフェイスの VPC フローログを確認します。これらのログで、応答パケットがエンドポイントに到達しているかどうかを確認します。転送フローを管理したものと同じエンドポイントであることを確認してください。
ゲートウェイロードバランサーのターゲットアプライアンスに関するパケットキャプチャを開きます。応答パケットがアプライアンスに入ってから、ゲートウェイロードバランサーに向かって送信されているかどうかを確認します。
ゲートウェイロードバランサーのエンドポイント上の、ネットワークインターフェイスの VPC フローログを確認します。これらのログで、パケットがネットワークインターフェイスを出て、クライアントに向かっているかどうかを確認します。
Wireshark などのパケットキャプチャツールを使用して、応答パケットがクライアントのネットワークインターフェイスに到達していることを確認します。
注:
VPC フローログは、ゲートウェイロードバランサーのネットワークインターフェイスおよび、そのエンドポイントのネットワークインターフェイス間の通信を記録しません。
ゲートウェイロードバランサーとアプライアンス間のパケットは UDP 経由で GENEVE カプセル化されます。このため、ロードバランサーまたはターゲットのネットワークインターフェイスの VPC フローログを使用してクライアントまたはサーバーのトラフィックを追跡することはできません。
送信元ポートと、失敗した TCP 接続が開始された時間を書き留めておきます。ソースポートと時間を参考に、ネットワークパス上の後続のデバイスを介した接続をトレースし、追跡します。