Azure Functions のネットワークについてよく寄せられる質問

この記事では、Azure Functions のネットワークについてよく寄せられる質問をまとめています。 より包括的な概要については、Functions のネットワーク オプションに関する記事を参照してください。

Functions で静的 IP を設定するにはどうすればいいですか?

関数に静的な受信/送信 IP アドレスを設定する主な方法は、App Service Environment で関数をデプロイすることです。 App Service Environment の使用の詳細については、まず「App Service Environment で内部ロード バランサーを作成して使用する」の記事から参照してください。

また、仮想ネットワーク NAT ゲートウェイを使用して、制御するパブリック IP アドレスを介して送信トラフィックをルーティングすることもできます。 詳しくは、「チュートリアル: Azure 仮想ネットワーク NAT ゲートウェイを使用して Azure Functions の送信 IP を制御する」を参照してください。

自分の関数へのインターネット アクセスを制限するにはどうすればよいですか?

インターネット アクセスは、次のようにいくつかの方法で制限することができます。

  • プライベート エンドポイント: 仮想ネットワーク上のプライベート リンクによって関数アプリへの受信トラフィックを制限し、パブリック インターネットからの受信トラフィックを事実上ブロックします。
  • IP 制限:IP 範囲によって、関数アプリへの受信トラフィックを制限する。
    • IP 制限下でサービス エンドポイントを構成できます。これにより関数は特定の仮想ネットワークから受信トラフィックのみを受け付けるよう制限できます。
  • すべての HTTP トリガーを削除する。 一部のアプリケーションでは、単に HTTP トリガーを回避し、他のイベント ソースを使用して関数をトリガーするだけで十分です。

Azure portal エディターから実行中の関数に直接アクセスする必要がある点に留意してください。 Azure portal からのコードの変更では、ポータルの参照に使用しているデバイスでその IP を承認済み一覧に追加する必要があります。 ただし、適切にネットワーク制限されたプラットフォーム機能タブの下にある機能は引き続き使用できます。

仮想ネットワークに対して自分の関数アプリを制限するにはどうすればよいですか?

サービス エンドポイントを使用して、関数アプリの受信トラフィックを仮想ネットワークに制限できます。 この構成により、関数アプリでインターネットに送信呼び出しを行うこともできます。

すべてのトラフィックが仮想ネットワークを通過するように関数を完全に制限するには、送信仮想ネットワーク統合または App Service Environment でプライベート エンドポイントを使用することができます。 詳しくは、「プライベート エンドポイントを使用して Azure Functions を Azure 仮想ネットワークに統合する」を参照してください。

関数アプリから仮想ネットワーク内のリソースにアクセスするにはどうすればいいですか?

実行中の関数から仮想ネットワーク内のリソースにアクセスするには、仮想ネットワーク統合を使用します。 詳細については、仮想ネットワーク統合に関する記事を参照してください。

サービス エンドポイントで保護されたリソースにアクセスするにはどうすればよいですか?

仮想ネットワーク統合を使用すると、実行中の関数からサービスエンドポイントで保護されたリソースにアクセスすることができます。 詳細については、仮想ネットワーク統合に関する記事を参照してください。

仮想ネットワーク内のリソースから関数をトリガーするにはどうすればよいですか?

サービス エンドポイントまたはプライベート エンドポイント接続を使用して、仮想ネットワークから HTTP トリガーを呼び出されるようにすることができます。

Premium プラン、App Service プラン、または App Service Environment に関数アプリをデプロイすることによって、仮想ネットワーク内の他のすべてのリソースから関数をトリガーすることもできます。 詳細については、「仮想ネットワーク トリガー (非 HTTP)」を参照してください。

仮想ネットワークで関数アプリをデプロイするにはどうすればよいですか?

全体が仮想ネットワーク内にある関数アプリを作成する唯一の方法は、App Service Environment にデプロイすることです。 内部ロード バランサーと App Service Environment の併用の詳細については、まず「App Service Environment で内部ロード バランサーを作成して使用する」の記事から参照してください。

仮想ネットワークのリソースへの一方向のアクセスのみが必要なシナリオ、または緩くネットワークを分離する必要があるシナリオについては、Functions のネットワークの概要に関する記事を参照してください。