Azure NAT Gateway のトラブルシューティング

この記事では、NAT ゲートウェイを正しく構成し、構成とデプロイに関連する一般的な問題のトラブルシューティングを行う方法に関するガイダンスを提供します。

NAT ゲートウェイ構成の基本

次の構成を確認して、NAT ゲートウェイを使用してトラフィックを送信できます。

  1. 少なくとも 1 つのパブリック IP アドレスまたは 1 つのパブリック IP プレフィックスが NAT ゲートウェイにアタッチされています。 少なくとも 1 つのパブリック IP アドレスが NAT ゲートウェイに関連付けられていて、送信接続を提供できなければなりません。

  2. 少なくとも 1 つのサブネットが NAT ゲートウェイに接続されています。 継続送信のため複数のサブネットを NAT ゲートウェイに接続できますが、それらのサブネットが同じ仮想ネットワーク内に存在する必要があります。 NAT ゲートウェイは、複数の仮想ネットワークにまたがることはできません。

  3. ネットワーク セキュリティ グループ (NSG) ルールまたはユーザー定義ルート (UDR) は、NAT ゲートウェイによるインターネットへの送信トラフィックの転送をブロックしていません。

接続を検証する方法

NAT ゲートウェイでは、IPv4 ユーザー データグラム プロトコル (UDP) プロトコルと伝送制御プロトコル (TCP) のプロトコルがサポートされています。 ping はサポートされておらず、失敗することが予想されます。

NAT ゲートウェイのエンドツーエンド接続を検証するには、次の手順に従います。

  1. NAT ゲートウェイのパブリック IP アドレスが使用されていないことを確認します。

  2. TCP 接続テストと UDP 固有アプリケーション層のテストを行います。

  3. NSG フロー ログを見て、NAT ゲートウェイからの送信トラフィック フローを分析します。

NAT ゲートウェイの接続を検証するために使用するツールについては、次の表を参照してください。

オペレーティング システム 汎用 TCP 接続テスト TCP アプリケーション レイヤー テスト UDP
Linux nc (汎用接続テスト) curl (TCP アプリケーション レイヤー テスト) アプリケーション固有
Windows PsPing PowerShell Invoke-WebRequest アプリケーション固有

送信接続を分析する方法

NAT ゲートウェイからの送信トラフィックを分析するには、NSG フロー ログを使用します。 NSG フロー ログでは、仮想マシンの接続情報が提供されます。 接続情報には、送信元 IP とポート、宛先 IP とポート、および接続の状態が含まれます。 トラフィック フローの方向と、トラフィックのサイズ (送信されたパケットおよびバイト数) もログに記録されます。 NSG フロー ログに明示されている送信元 IP とポートは、NAT ゲートウェイではなく、仮想マシンのものです。

NAT ゲートウェイが失敗状態にある

NAT ゲートウェイ リソースが失敗状態の場合、送信接続エラーが発生する可能性があります。 NAT ゲートウェイを失敗状態から抜け出させるには、次の手順に従います。

  1. 失敗状態のリソースを特定します。 Azure Resource Explorer に移動し、この状態のリソースを特定します。

  2. 右上隅のトグルを、[読み取り/書き込み] に更新します。

  3. 失敗状態のリソースに対して [編集] をクリックします。

  4. [PUT]、[GET] の順に選択して、プロビジョニングの状態が [成功] に更新されたことを確認します。

  5. その後は、リソースが失敗した状態ではなくなったので、他のアクションに進むことができます。

NAT ゲートウェイを追加または削除する

NAT ゲートウェイを削除できない

リソースを削除する前に、仮想ネットワーク内のすべてのサブネットから NAT ゲートウェイをデタッチする必要があります。 詳細なガイダンスについては、「既存のサブネットから NAT ゲートウェイを削除する」と「リソースを削除する」をご覧ください。

サブネットを追加または削除する

NAT ゲートウェイを、既に別の NAT ゲートウェイに接続されているサブネットにアタッチできない

インターネットへの送信接続のために、仮想ネットワーク内のサブネットに複数の NAT ゲートウェイをアタッチすることはできません。 個々の NAT ゲートウェイ リソースは、同じ仮想ネットワーク内の複数のサブネットに関連付けることができます。 NAT ゲートウェイは、複数の仮想ネットワークにまたがることはできません。

Basic リソースが NAT ゲートウェイと同じサブネットに存在できない

NAT ゲートウェイは、Basic Load Balancer や Basic パブリック IP などの Basic リソースと互換性がありません。 基本的リソースは、NAT ゲートウェイに関連付けられていないサブネットに置く必要があります。 基本的ロード バランサーと基本パブリック IP を Standard にアップグレードして、NAT ゲートウェイで使用することができます。

NAT ゲートウェイをゲートウェイ サブネットにアタッチできない

NAT ゲートウェイは、ゲートウェイ サブネットにデプロイできません。 ゲートウェイ サブネットは、VPN ゲートウェイが暗号化されたトラフィックを Azure 仮想ネットワークとオンプレミスの場所の間で送信するために使用されます。 VPN ゲートウェイの概要に関するページで、VPN ゲートウェイでゲートウェイ サブネットを使用する方法の詳細をご覧ください。

失敗状態の仮想マシン ネットワーク インターフェイスを含むサブネットに NAT ゲートウェイをアタッチできない

失敗状態の仮想マシン ネットワーク インターフェイス (ネットワーク インターフェイス) を含むサブネットに NAT ゲートウェイを関連付けようとすると、このアクションを実行できないことを示すエラー メッセージが表示されます。 NAT ゲートウェイをサブネットにアタッチするには、まず、仮想マシン ネットワーク インターフェイスの失敗状態を解決する必要があります。

仮想マシン ネットワーク インターフェイスを失敗状態から抜け出させるには、次の 2 つの方法のいずれかを使用できます。

PowerShell を使用して仮想マシン ネットワーク インターフェイスを失敗状態から抜け出させる

  1. Get-AzNetworkInterface PowerShell コマンドを使用し、"provisioningState" の値を "Succeeded" に設定して、ネットワーク インターフェイスのプロビジョニングの状態を判断します。

  2. ネットワーク インターフェイスで GET/SET PowerShell コマンドを実行します。 これらの PowerShell コマンドによって、プロビジョニングの状態が更新されます。

  3. ネットワーク インターフェイスのプロビジョニングの状態を再度調べて、この操作の結果を確認します (手順 1 のコマンドに従います)。

Azure Resource Explorer を使用して仮想マシン ネットワーク インターフェイスを失敗状態から抜け出させる

  1. Azure Resource Explorer に移動します (Microsoft Edge ブラウザーを使用することをお勧めします)

  2. [サブスクリプション] を展開します (表示されるまで数秒かかります)。

  3. 失敗状態の仮想マシン ネットワーク インターフェイスを含むサブスクリプションを展開します。

  4. ResourceGroupsを展開します。

  5. 失敗状態の仮想マシン ネットワーク インターフェイスを含む、正しいリソース グループを展開します。

  6. providers を展開します。

  7. Microsoft.Network を展開します。

  8. networkInterfaces を展開します。

  9. プロビジョニングの状態が失敗になっているネットワーク インターフェイスを選択します。

  10. 画面上部の読み取り/書き込みボタンを選択します。

  11. 緑色の取得ボタンを選択します。

  12. 青色の取得ボタンを選択します。

  13. 緑色の挿入ボタンを選択します。

  14. 上部にある [ 読み取り専用 ] ボタンを選択します。

  15. 仮想マシン ネットワーク インターフェイスのプロビジョニングの状態が成功になっているはずです。 ブラウザーは閉じてもかまいません。

パブリック IP アドレスを追加または削除する

NAT ゲートウェイのパブリック IP アドレスの数は 16 個を超えることはできない

NAT ゲートウェイを、16 個を超えるパブリック IP アドレスと関連付けることはできません。 NAT ゲートウェイではパブリック IP アドレスとプレフィックスの任意の組み合わせを使用できますが、合計 16 個の IP アドレスまでです。 パブリック IP を追加または削除するには、「パブリック IP アドレスを追加または削除する」を参照してください。

NAT ゲートウェイでは、次の IP プレフィックス サイズを使用できます。

  • /28 (16 個のアドレス)

  • /29 (8 個のアドレス)

  • /30 (4 個のアドレス)

  • /31 (2 個のアドレス)

IPv6 の共存

NAT Gateway では、IPv4 UDP および TCP プロトコルがサポートされています。 NAT ゲートウェイを、IPv6 パブリック IP アドレスまたは IPv6 パブリック IP プレフィックスに関連付けることはできません。 NAT ゲートウェイはデュアル スタック サブネットにデプロイできますが、送信トラフィックの転送には IPv4 パブリック IP アドレスのみを使用します。 IPv6 リソースが IPv4 リソースと同じサブネットに存在する必要がある場合は、NAT ゲートウェイをデュアル スタック サブネットにデプロイします。 デュアル スタック サブネットから IPv4 と IPv6 の送信接続を提供する方法については、「NAT ゲートウェイとパブリック ロード バランサーを使用してデュアル スタック送信接続を構成する」を参照してください。

NAT ゲートウェイで Basic パブリック IP を使用できない

NAT ゲートウェイは Standard リソースであり、Basic パブリック IP アドレスを含む Basic リソースでは使用できません。 NAT ゲートウェイで使用するために Basic パブリック IP アドレスをアップグレードするには、ガイダンス「パブリック IP アドレスをアップグレードする」を参照してください。

パブリック IP アドレスと NAT ゲートウェイのゾーンの不一致は許可されない

NAT ゲートウェイはゾーン ベースのリソースであり、特定のゾーンに、または "ゾーンなし" に指定できます。NAT ゲートウェイが "ゾーンなし" に配置されている場合、NAT ゲートウェイは Azure によって自動的にゾーンに配置されますが、ユーザーからは NAT ゲートウェイが配置されているゾーンを認識できません。

NAT ゲートウェイは、独自の可用性ゾーンの構成に応じて、特定のゾーン、ゾーンなし、すべてのゾーン (ゾーン冗長) に指定されたパブリック IP アドレスと共に使用できます。

NAT ゲートウェイの可用性ゾーンの指定 使用できるパブリック IP アドレス / プレフィックスの指定
ゾーンなし ゾーン冗長、ゾーンなし、またはゾーン ベース (ゾーンなし NAT ゲートウェイで使用するためには、パブリック IP のゾーン指定はリージョン内の任意のゾーンにすることができます)
特定のゾーンに指定 ゾーン冗長またはゾーン パブリック IP を使用できます

Note

NAT ゲートウェイが存在するゾーンを知る必要がある場合は、必ず特定の可用性ゾーンに指定してください。

その他の トラブルシューティングのガイダンス

発生している問題がこの記事で取り上げられていない場合は、NAT ゲートウェイのトラブルシューティングに関する他の記事を参照してください。

次のステップ

この記事に記載されていない、または解決されていない NAT ゲートウェイの問題が発生している場合は、このページの下部から GitHub にアクセスしてフィードバックをお送りください。 お客様のエクスペリエンスを向上させるために、できるだけ早くフィードバックに対応いたします。

NAT ゲートウェイの詳細については、次の記事を参照してください。