Skip to content

プライベート Amazon VPC で NAT ゲートウェイを使用する際の、接続に関する問題をトラブルシューティングする方法を教えてください。

所要時間2分
0

プライベート Amazon Virtual Private Cloud (Amazon VPC) で NAT ゲートウェイを使用する際の、接続に関する問題をトラブルシューティングしたいです。

簡単な説明

プライベートサブネット内のリソースでは、次の要因で接続タイムアウト、突然の接続破棄、接続速度の低下などが発生することがあります。

  • エフェメラルポート範囲に対するネットワークアクセスコントロールリスト (ネットワーク ACL) ルールの制限
  • NAT ゲートウェイでの ErrorPortAllocation エラー
  • クライアントインスタンスでのポート枯渇
  • アイドル接続に起因する IdleTimeoutCount エラー
  • NAT ゲートウェイの帯域幅制限

解決策

エフェメラルポート範囲に対するネットワーク ACL ルールの制限

NAT ゲートウェイのパブリックサブネットに関連付けられたネットワーク ACL で、エフェメラルポート範囲 (1024 ~ 65535) からのトラフィックが許可されていることを確認します。

ネットワーク ACL が範囲のサブセットのみを許可し、クライアントが範囲外のポートを使用する場合、トラフィックは破棄されます。詳細については、「例: VPC with servers in private subnets and NAT」を参照してください。

NAT ゲートウェイでの ErrorPortAllocation エラー

各 NAT ゲートウェイは、宛先ごとに最大 55,000 件の同時接続をサポートしています。接続がしきい値を超えた場合、その宛先への新しい接続は失敗し、Amazon CloudWatch ではその NAT ゲートウェイの ErrorPortAllocation メトリクスが増加します。

この問題を解決するには、次の手順を実行します。

  • 1 つのプライマリ IPv4 アドレスと最大 7 つのセカンダリ IPv4 アドレスを NAT ゲートウェイに関連付けます。
  • セカンダリ IPv4 アドレスを追加し、使用可能なポートの数および同時接続数を増やします。

注: セカンダリ IPv4 アドレスにより使用可能なポートの数が増えるため、ワークロードが使用できる NAT ゲートウェイへの同時接続数も増えます。

詳細については、「NAT ゲートウェイで発生する ErrorPortAllocation エラーの解決方法を教えてください」を参照してください。

クライアントインスタンスでのポート枯渇

プライベートサブネット内のクライアントインスタンスが、オペレーティングシステム (OS) の接続クォータに達した可能性があります。

アクティブな接続の数を確認するには、次のコマンドを実行します。

Linux

netstat -ano | grep ESTABLISHED | wc --l

netstat -ano | grep TIME_WAIT | wc --l

Windows

netstat -ano | find /i "estab" /c

netstat -ano | find /i "TIME_WAIT" /c

出力が許容されるローカルポート範囲に近くなっている場合は、ポートの枯渇が原因である可能性があります。

ポートの枯渇を減らすには、次の手順を実行します。

  • 使用可能な接続のドレインが起こる要因であるアプリケーションレベルの問題を解決します。
  • 次のコマンドを実行して OS のエフェメラルポート範囲を増やします。
    net.ipv4.ip_local_port_range = 1025 61000

注: サイレント接続が閉じられるため、ポート範囲を広げてもポート割り当ての問題が解決されない場合があります。

アイドル接続に起因する IdleTimeoutCount エラー

NAT ゲートウェイがアイドル状態が 350 秒以上続く接続をタイムアウトさせることが原因で、IdleTimeoutCount メトリクスが急増します。その後、NAT ゲートウェイは、タイムアウトした接続を再開しようとするクライアントに対し、TCP Finish (FIN) ではなく TCP Reset (RST) パケットを送信します。

IdleTimeoutCount エラーを解決するには、次の手順を実行します。

  • Amazon CloudWatch の IdleTimeoutCountメトリクスを参照し、アイドル状態の接続を特定します。
  • CloudWatch Contributor Insights を使用してクライアントが Idle 状態に留まっている原因を確認します。
  • クライアントからのアイドル接続を閉じてキャパシティを解放します。
  • 長時間の接続での、トラフィックの開始頻度を上げます。
  • クライアントインスタンスで TCP keepalive を有効化し、値を 350 秒未満にします。

NAT ゲートウェイの帯域幅制限

NAT ゲートウェイは 5 Gbps の帯域幅で開始し、最大 100 Gbps まで自動的にスケールアップします。NAT ゲートウェイを使用するすべてのインスタンスのネットワークスループットの合計が 100 Gbps に達すると、トラフィックは遅くなります。詳細については、「NAT ゲートウェイのメトリクスおよびディメンション」を参照してください。

NAT ゲートウェイからの帯域幅制限を解決するには、トラフィックを別々のサブネットにある複数の NAT ゲートウェイに分散します。

詳細については、「Amazon CloudWatch メトリクスを使用して NAT ゲートウェイの帯域幅に関する問題を特定する方法を教えてください」を参照してください。

関連情報

NAT インスタンスを使用するときに発生する断続的な接続の問題を解決するするにはどうすればよいですか?

NAT ゲートウェイのトラブルシューティング

AWS公式更新しました 4ヶ月前
コメントはありません

関連するコンテンツ