仮想ネットワークで Azure Functions を構成する方法

この記事では、仮想ネットワークに接続してそこで実行されるように関数アプリを構成するタスクを実行する方法について説明します。 ストレージ アカウントをセキュリティで保護する方法に関する詳細なチュートリアルについては、仮想ネットワークへの接続チュートリアルを参照してください。 Azure Functions とネットワークの詳細については、「Azure Functions のネットワーク オプション」を参照してください。

お使いのストレージ アカウントを仮想ネットワークに制限する

関数アプリを作成するときは、BLOB、Queue、および Table Storage をサポートする汎用の Azure Storage アカウントを作成またはリンクする必要があります。 このストレージ アカウントは、サービス エンドポイントまたはプライベート エンドポイントで保護されているものに置き換えることができます。 プライベート エンドポイントを使用してストレージ アカウントを構成する場合、ストレージ アカウントへのパブリック アクセスは自動的には無効になりません。 ストレージ アカウントへのパブリック アクセスを無効にするためには、選択したネットワークからのアクセスのみを許可するようにストレージ ファイアウォールを構成します。

Note

この機能は、現在、専用 (App Service) プランのすべての Windows および Linux 仮想ネットワークでサポートされている SKU と、Windows Elastic Premium プランで有効です。 従量課金レベルはサポートされていません。

プライベート ネットワークに制限されたストレージ アカウントを使用して関数を設定するには、次のようにします。

  1. サービス エンドポイントが有効になっていないストレージ アカウントを使用して関数を作成します。

  2. ご使用の仮想ネットワークに接続するように関数を構成します。

  3. 別のストレージ アカウントを作成または構成します。 これがサービス エンドポイントで保護され、関数に接続されるストレージ アカウントになります。

  4. セキュリティで保護されたストレージ アカウントにファイル共有を作成します。

  5. ストレージ アカウントのサービス エンドポイントまたはプライベート エンドポイントを有効にします。

    • プライベート エンドポイント接続を使用する場合、ストレージ アカウントには、fileblob のサブリソース用のプライベート エンドポイントが必要です。 Durable Functions のような特定の機能を使用する場合は、プライベート エンドポイント接続を介して queuetable にアクセスできる必要もあります。
    • サービス エンドポイントを使用する場合は、ストレージ アカウントに対して関数アプリ専用のサブネットを有効にします。
  6. 関数アプリのストレージ アカウントから、セキュリティで保護されたストレージ アカウントとファイル共有に、ファイルと BLOB の内容をコピーします。

  7. このストレージ アカウントの接続文字列をコピーします。

  8. 関数アプリの [構成] の下の [アプリケーションの設定] を次のように更新します。

    設定名 解説
    AzureWebJobsStorage ストレージ接続文字列 これは、セキュリティで保護されたストレージ アカウントの接続文字列です。
    WEBSITE_CONTENTAZUREFILECONNECTIONSTRING ストレージ接続文字列 これは、セキュリティで保護されたストレージ アカウントの接続文字列です。
    WEBSITE_CONTENTSHARE ファイル共有 プロジェクト配置ファイルが存在する、セキュリティで保護されたストレージ アカウントに作成されたファイル共有の名前。
    WEBSITE_CONTENTOVERVNET 1 値 1 を指定すると、ストレージ アカウントを仮想ネットワークに制限している場合に、関数アプリをスケーリングできます。 ストレージ アカウントを仮想ネットワークに制限する場合は、この設定を有効にする必要があります。
  9. [保存] を選択して、アプリケーション設定を保存します。 アプリの設定を変更すると、アプリが再起動されます。

関数アプリが再起動すると、セキュリティで保護されたストレージ アカウントに接続されるようになります。

次のステップ