このトピックでは、NAT Gatewayの一般的な障害について説明し、ソリューションを提供します。
- 接続障害のトラブルシューティング:
- 異常なトラフィックのトラブルシューティング: クライアントがインターネットにアクセスすると、接続タイムアウトやダウンロード速度の低下などの例外が発生します
DNATエントリで指定されたElastic Compute Service (ECS) インスタンスにインターネット経由でアクセスできない
この問題は、次のいずれかの原因で発生する可能性があります。- ECSインスタンスが追加されたセキュリティグループのルールは、DNATエントリで指定されたプライベートポートへのインターネットアクセスを許可しません。
セキュリティグループルールが、DNATエントリで指定されたプライベートポートへのインターネットアクセスを許可しているかどうかを確認します。 セキュリティグループルールでDNATエントリで指定されたプライベートポートへのインターネットアクセスが許可されていない場合は、プライベートポートへのインターネットアクセスを許可するルールを追加します。 詳細については、「セキュリティグループルールの追加」をご参照ください。
同じ仮想プライベートクラウド (VPC) 内の他のECSインスタンスでtelnet <ECSインスタンスのプライベートIPアドレス> <private port>
コマンドを実行して、DNATエントリで指定されたプライベートポートにアクセスできるかどうかを確認できます。- 次のメッセージが返された場合、プライベートポートにアクセスできます。
<ECSインスタンスのプライベートIPアドレス> に接続
- 次のメッセージが返された場合、プライベートポートにアクセスできません。
リモートホストに接続できない: 接続がタイムアウト
- 次のメッセージが返された場合、プライベートポートにアクセスできます。
- ルートテーブルには、宛先CIDRブロックが0.0.0.0/0で、ネクストホップがNATゲートウェイであるカスタムルートは含まれていません。
DNATエントリで指定されたECSインスタンスには、応答を返すためにNATゲートウェイを指すルートが必要です。 システムルートテーブルまたはカスタムルートテーブルに、NATゲートウェイを指す0.0.0.0/0ルートが含まれているかどうかを確認します。 ルートが存在しない場合は、1つ追加します。 詳細については、「ルートテーブルへのルートの追加」をご参照ください。
VPCで新しく作成されたvSwitchにアタッチされたECSインスタンスは、SNATを使用してインターネットにアクセスできません
VPC内に新しく作成されたvSwitchにアタッチされたECSインスタンスはSNATを使用してインターネットにアクセスできませんが、同じVPC内の他のvSwitchにアタッチされたECSインスタンスはSNATを使用してインターネットにアクセスできます。 この問題は、次のいずれかの原因で発生する可能性があります。- NATゲートウェイの既存のSNATエントリには、新しく作成されたvSwitchのCIDRブロックは含まれません。
NATゲートウェイは、新しく作成されたvSwitchのSNATエントリを自動的に作成しません。 新しく作成されたvSwitchのCIDRブロックが、NATゲートウェイの既存のSNATエントリに含まれているかどうかを確認する必要があります。 vSwitchのCIDRブロックが既存のSNATエントリに含まれていない場合、vSwitchにアタッチされているECSインスタンスはインターネットにアクセスできません。 vSwitchのSNATエントリを作成する必要があります。 詳細については、「SNATエントリの作成と管理」をご参照ください。
- 新しく作成されたvSwitchはカスタムルートテーブルに関連付けられていますが、カスタムルートテーブルには、宛先CIDRブロックが0.0.0.0/0で、ネクストホップがNATゲートウェイであるカスタムルートは含まれていません。
カスタムルートテーブルにそのようなルートが含まれているかどうかを確認します。 ルートが存在しない場合は、1つ追加します。 詳細については、「ルートテーブルへのルートの追加」をご参照ください。
VPCに複数のNATゲートウェイが存在する場合、vSwitchのECSインスタンスはインターネットにアクセスできません
この問題は、次の条件が満たされている場合に発生します。 ルートテーブルには、宛先CIDRブロックが0.0.0.0/0で、ネクストホップがNATゲートウェイの1つであるカスタムルートが1つだけ含まれます。 vSwitchのCIDRブロックは、前のルートが指すNATゲートウェイのSNATエントリに含まれていません。
- 複数のNAT Gatewayが必要ない場合は、不要なNAT Gatewayを削除し、残りのNAT GatewayにSNATエントリを追加することを推奨します。
- 複数のNAT Gatewayが必要な場合は、「1つのVPCに複数のインターネットNATゲートウェイをデプロイする」をご参照ください。
クライアントがインターネットにアクセスすると、接続タイムアウトやダウンロード速度の低下などの例外が発生します
ECSインスタンス上のアプリケーションなどのクライアントがインターネットにアクセスすると、接続タイムアウトやダウンロード速度の低下などの例外が発生します。 次のいずれかの方法を使用して問題をトラブルシューティングできます。
- モニタリングデータに、例外が時折発生し、次の2つの理由が原因ではないことが示されている場合は、トラフィックモニタリング機能を有効にして例外の発生源を特定できます。
これにより、複数のECSインスタンスを使用する場合のトラブルシューティング効率が向上します。 詳細については、「モニタリングデータの表示」をご参照ください。
- 仕様課金NATゲートウェイを使用する場合は、同時接続数、新規接続率、またはその他のメトリックが仕様の上限を超えているかどうかを確認します。 詳細については、「モニタリングデータの表示」をご参照ください。 上限に達したために接続が切断された場合は、NATゲートウェイの仕様をアップグレードすることを推奨します。
- モニタリングデータを表示して、NATゲートウェイに関連付けられているEIPの最大帯域幅値を超えたためにパケットがドロップされたかどうかを確認します。 詳細については、「モニタリングデータの表示」をご参照ください。 帯域幅の制限によりパケットがドロップされた場合は、EIPの最大帯域幅値を増やすことを推奨します。
- Linuxを実行する複数のECSインスタンスがNATゲートウェイを使用してLinuxを実行するサーバーにアクセスする場合、TCP接続要求がLinuxカーネルによってドロップされる可能性があり、これにより接続のタイムアウトや障害が発生する可能性があります。 Weを無効にすることをお勧めLinuxネット。ipv4.tcp_tw_リサイクルオプションにサーバーまたはLinuxネット。ipv4.tcp_タイムスタンプオプションに。