NAT Gateway と Azure サービスでの送信接続のトラブルシューティング
この記事では、NAT Gateway を他の Azure サービスと共に使用する場合の接続の問題をトラブルシューティングする方法について説明します。
Azure App Service
Azure App Services のリージョン仮想ネットワーク統合がオフになっている
NAT ゲートウェイを Azure App Service と共に使用して、アプリケーションが仮想ネットワークから送信呼び出しを行なえるようにすることができます。 この Azure App Services と NAT ゲートウェイの間の統合を使用するには、リージョン仮想ネットワーク統合を有効にする必要があります。 リージョン仮想ネットワーク統合の仕組みで詳細をご覧ください。
NAT ゲートウェイを Azure App Services で使用するには、次の手順に従います。
アプリケーションに仮想ネットワーク統合が構成されていることを確認します。「仮想ネットワーク統合を有効にする」を参照してください。
仮想ネットワーク統合に対して [Route All](すべてルーティング) が有効であることを確認します。仮想ネットワーク統合のルーティングの構成に関するページを参照してください。
NAT ゲートウェイ リソースを作成します。
新しいパブリック IP アドレスを作成するか、ネットワーク内の既存のパブリック IP アドレスを NAT ゲートウェイにアタッチします。
仮想ネットワークとアプリケーションの統合に使われているのと同じサブネットに NAT ゲートウェイを割り当てます。
仮想ネットワーク統合で NAT ゲートウェイを構成する方法の詳細な手順については、「NAT ゲートウェイ統合の構成」を参照してください。
NAT Gateway と Azure App Services の統合に関する重要な注意事項:
仮想ネットワーク統合では、仮想ネットワークからアプリへの受信プライベート アクセスが提供されません。
仮想ネットワーク統合トラフィックは、動作の性質上、Azure Network Watcher またはネットワーク セキュリティ グループ (NSG) フロー ログには出現しません。
App Services が NAT Gateway のパブリック IP アドレスを使用して送信接続を行っていない
仮想ネットワーク統合が有効になっていない場合でも、App Services はインターネットに送信接続できます。 既定では、App Service でホストされているアプリは、インターネット経由で直接アクセスでき、インターネットでホストされているエンドポイントにのみ到達できます。 詳細については、「App Services のネットワーク機能」を参照してください。
送信接続に使用される IP アドレスが NAT ゲートウェイのパブリック IP アドレスではないことに気付いた場合は、仮想ネットワーク統合が有効になっていることを確認してください。 NAT ゲートウェイが、アプリケーションとの統合に使用されるサブネットに構成されていることを確認します。
Web アプリケーションが NAT Gateway のパブリック IP を使用していることを検証するには、Web Apps 上の仮想マシンに ping を実行し、ネットワーク キャプチャを介してトラフィックを確認します。
Azure Kubernetes Service
Azure Kubernetes Service (AKS) クラスターを使用して NAT ゲートウェイをデプロイする方法
明示的な送信接続を可能にするために、AKS クラスターを使用して NAT Gateway をデプロイできます。 AKS クラスターを使用して NAT Gateway をデプロイするには、次の 2 つの異なる方法があります。
マネージド NAT ゲートウェイ: NAT ゲートウェイは AKS クラスターの作成時に Azure によってデプロイされます。 NAT ゲートウェイは AKS によって管理されます。
ユーザー割り当て NAT ゲートウェイ: AKS クラスターの既存の仮想ネットワークに NAT ゲートウェイをデプロイします。
「マネージド NAT Gateway」で詳細を確認してください。
インターネット経由で AKS クラスターから AKS API サーバーに接続する
AKS クラスターを管理するには、その API サーバーに対して操作を行います。 API サーバーの完全修飾ドメイン名 (FQDN) に解決される非プライベート クラスターを作成すると、API サーバーには既定でパブリック IP アドレスが割り当てられます。 NAT ゲートウェイを AKS クラスターのサブネットにアタッチすると、AKS API サーバーのパブリック IP に接続するために NAT Gateway が使用されます。 その他の情報と設計ガイダンスについては、次のドキュメントを参照してください。
AKS クラスターの NAT Gateway IP またはアイドル タイムアウト タイマーを更新できない
NAT ゲートウェイのパブリック IP アドレスとアイドル タイムアウト タイマーは、マネージド NAT ゲートウェイに対して "のみ" az aks update
コマンドを使用して更新できます。
ユーザー割り当て NAT ゲートウェイを AKS サブネットにデプロイした場合、az aks update
コマンドを使用してパブリック IP アドレスまたはアイドル タイムアウト タイマーを更新することはできません。 ユーザーが、ユーザー割り当て NAT ゲートウェイを管理します。 これらの構成は、NAT ゲートウェイ リソースで手動で更新する必要があります。
次の手順で、ユーザー割り当て NAT Gateway のパブリック IP アドレスを更新します。
リソース グループで、ポータルの NAT Gateway リソースを選びます。
左側のナビゲーション バーの [設定] で、 [送信 IP] を選びます。
パブリック IP アドレスを管理するには、青色の [変更] を選択します。
右側からスライドインする [パブリック IP のアドレスとプレフィックスの管理] 構成で、割り当てられたパブリック IP をドロップダウン メニューから更新するか、[新しいパブリック IP アドレスの作成] を選択します。
IP 構成の更新が完了したら、画面の下部にある [OK] ボタンを選択します。
構成ページが表示されなくなったら、[保存] ボタンを選択して変更を保存します。
手順 3 から 6 を繰り返して、パブリック IP プレフィックスに対して同じ操作を行います。
次の手順で、ユーザー割り当て NAT Gateway のアイドル タイムアウト タイマー構成を更新します。
リソース グループで、ポータルの NAT ゲートウェイ リソースを選択します。
左側のナビゲーション バーの [設定] で、 [構成] を選びます。
TCP アイドル タイムアウト (分) テキスト バーで、アイドル タイムアウト タイマーを調整します (タイマーは 4 から 120 分に構成できます)。
終了したら、[保存] ボタンを選択します。
注意
TCP アイドル タイムアウト タイマーを 4 分より長くすると、SNAT ポートが枯渇するリスクが高くなる可能性があります。
Azure Firewall
Azure Firewall を使用して送信接続した場合に送信元ネットワーク アドレス変換 (SNAT) が不足する
Azure Firewall は、仮想ネットワークへの送信インターネット接続を提供できます。 Azure Firewall では、パブリック IP アドレスごとに 2,496 のみの SNAT ポートが提供されます。 Azure Firewall はエグレス トラフィックを処理するために最大 250 個のパブリック IP アドレスに関連付けることができますが、送信接続に必要なパブリック IP アドレスはもっと少ない可能性があります。 エグレスの要件でパブリック IP アドレスが少なくなるのは、アーキテクチャ要件と宛先エンドポイントによる許可リストの制限が原因です。
送信トラフィックのスケーラビリティを高め、SNAT ポートが枯渇するリスクを軽減する方法の 1 つとして、Azure Firewall と同じサブネット内で NAT Gateway を使用することが挙げられます。 Azure Firewall サブネットで NAT ゲートウェイを設定するには、「NAT ゲートウェイと Azure Firewall を統合する」を参照してください。 Azure Firewall との NAT ゲートウェイの統合の詳細については、「Azure NAT Gateway を使用した SNAT ポートのスケーリング」を参照してください。
Note
NAT ゲートウェイは、vWAN アーキテクチャではサポートされていません。 vWAN ハブ内の Azure Firewall サブネットに NAT ゲートウェイを構成することはできません。
Azure Databricks
NAT Gateway を使用して databricks クラスターから送信接続する方法
Databricks ワークスペースを作成するときに databricks クラスターからの送信接続に NAT Gateway を使用できます。 NAT Gateway は、次の 2 つの方法のいずれかで databricks クラスターにデプロイできます。
Azure Databricks によって作成される既定の仮想ネットワークでセキュリティで保護されたクラスター接続 (パブリック IP なし) を有効にすると、NAT ゲートウェイが Azure Databricks によって自動的にデプロイされ、ワークスペースのサブネットからインターネットに送信接続されます。 この NAT ゲートウェイ リソースは Azure Databricks によって管理対象リソース グループ内に作成され、このリソース グループまたはその中にデプロイされている他のリソースを変更することはできません。
独自の仮想ネットワークに (仮想ネットワーク インジェクションを使用して) Azure Databricks ワークスペースをデプロイすると、ワークスペースのサブネットの両方に NAT ゲートウェイをデプロイして構成し、NAT ゲートウェイ経由の送信接続を確保できます。 このソリューションは、Azure テンプレートを使用するか、Azure portal から実装できます。
次のステップ
この記事で解決されていない NAT ゲートウェイの問題が発生している場合は、このページの下部から GitHub にアクセスしてフィードバックをお送りください。 お客様のエクスペリエンスを向上させるために、できるだけ早くフィードバックに対応いたします。
NAT ゲートウェイの詳細については、次の記事を参照してください。