チュートリアル: プライベート エンドポイントを使用して Azure Functions を Azure 仮想ネットワークに統合する

このチュートリアルでは、Azure Functions を使用して Azure 仮想ネットワーク内のリソースに、プライベート エンドポイントを使用して接続する方法について説明します。 仮想ネットワークの背後でロックされているストレージ アカウントを使用して、関数を作成します。 仮想ネットワークでは、サービス バス キュー トリガーが使用されます。

このチュートリアルでは、次のことについて説明します。

  • Premium プランで関数アプリを作成する。
  • Azure リソース (サービス バス、ストレージ アカウント、仮想ネットワークなど) を作成する。
  • プライベート エンドポイントの背後にあるストレージ アカウントをロック ダウンする。
  • プライベート エンドポイントの背後にあるサービス バスをロック ダウンする。
  • サービス バスと HTTP の両方のトリガーを使用する関数アプリをデプロイする。
  • プライベート エンドポイントの背後にある関数アプリをロック ダウンする。
  • 関数アプリが仮想ネットワークの内部でセキュリティ保護されているかどうかをテストする。
  • リソースをクリーンアップする。

Premium プランの Function App を作成する

このチュートリアルでは C# を使用するため、Premium プランで .NET 関数アプリを作成します。 Windows では、他の言語もサポートされています。 Premium プランはサーバーレス スケールを提供しながら、仮想ネットワーク統合をサポートします。

  1. Azure portal のメニューまたは [ホーム] ページで [リソースの作成] を選択します。

  2. [新規] ページで、 [計算] 、 > [関数アプリ] の順に選択します。

  3. [基本] ページで、下の表を使用して関数アプリの設定を構成します。

    設定 推奨値 説明
    サブスクリプション 該当するサブスクリプション この新しい関数アプリが作成されるサブスクリプション。
    リソース グループ myResourceGroup 関数アプリを作成する新しいリソース グループの名前。
    関数アプリ名 グローバルに一意の名前 新しい Function App を識別する名前。 有効な文字は、a-z (大文字と小文字の区別をしない)、0-9、および -です。
    発行 コード コード ファイルまたは Docker コンテナーの発行を選択します。
    ランタイム スタック .NET このチュートリアルでは、.NET を使用します。
    リージョン 優先リージョン ユーザー、または関数がアクセスする他のサービスに近いリージョンを選択します。
  4. [Next:ホスティング] を選択します。 [ホスティング] ページで、次の設定を入力します。

    設定 推奨値 説明
    ストレージ アカウント グローバルに一意の名前 Function App で使用されるストレージ アカウントを作成します。 ストレージ アカウント名の長さは 3 から 24 文字でなければなりません。 数字と小文字のみを含めることができます。 既存のアカウントを使用することもできますが、ストレージ アカウントの要件を満たしている必要があります。
    オペレーティング システム Windows このチュートリアルでは、Windows を使用します。
    プラン Premium Function App にどのようにリソースが割り当てられるかを定義するホスティング プラン。 既定では、Premium を選択すると、新しい App Service プランが作成されます。 既定の SKU とサイズEP1 です。ここで、EP は "エラスティック Premium" を表します。 詳細については、Premium SKU の一覧を参照してください。

    Premium プランで JavaScript 関数を実行する場合は、vCPU の少ないインスタンスを選んでください。 詳しくは、シングルコア Premium プランの選択に関する記事をご覧ください。
  5. [Next:監視] を選択します。 [監視] ページで、次の設定を入力します。

    設定 推奨値 説明
    Application Insights Default 最も近いサポートされているリージョン内に同じアプリ名の Application Insights リソースを作成します。 新しいリソース名 を変更する、または Azure の地域内の別の 場所 にデータを格納する必要がある場合は、この設定を展開します。
  6. [確認および作成] を選択して、アプリ構成の選択内容を確認します。

  7. [確認と作成] ページで、設定を確認します。 次に、 [作成] を選択して、関数アプリをプロビジョニングし、デプロイします。

  8. ポータルの右上隅の [通知] アイコンを選択し、デプロイに成功しました というメッセージが表示されるまで待ちます。

  9. [リソースに移動] を選択して、新しい Function App を確認します。 また、 [ダッシュボードにピン留めする] を選択することもできます。 ピン留めすると、ダッシュボードからこの関数アプリ リソースに戻るのが容易になります。

おめでとうございます。 これで、Premium 版の関数アプリを作成できました。

Azure リソースを作成する

次に、ストレージ アカウント、サービス バス、および仮想ネットワークを作成します。

ストレージ アカウントの作成

仮想ネットワークには、関数アプリで作成したものとは別のストレージ アカウントが必要です。

  1. Azure portal のメニューまたは [ホーム] ページで [リソースの作成] を選択します。

  2. [新規] ページで、"ストレージ アカウント" を検索します。 [作成] を選択します。

  3. [基本] タブで、次の表を使用してストレージ アカウントの設定を構成します。 その他の設定はすべて、既定値を使用できます。

    設定 推奨値 説明
    サブスクリプション 該当するサブスクリプション リソースが作成されるサブスクリプション。
    リソース グループ myResourceGroup 関数アプリで作成したリソース グループ。
    名前 mysecurestorage プライベート エンドポイントを適用するストレージ アカウントの名前。
    リージョン myFunctionRegion 関数アプリを作成したリージョン。
  4. [Review + create](レビュー + 作成) を選択します。 検証が終了したら、 [作成] を選択します。

Service Bus の作成

  1. Azure portal のメニューまたは [ホーム] ページで [リソースの作成] を選択します。

  2. [新規] ページで、「サービス バス」を検索します。 [作成] を選択します。

  3. [基本] タブで、次の表を使用してサービス バスの設定を構成します。 その他の設定はすべて、既定値を使用できます。

    設定 推奨値 説明
    サブスクリプション 該当するサブスクリプション リソースが作成されるサブスクリプション。
    リソース グループ myResourceGroup 関数アプリで作成したリソース グループ。
    名前空間名 myServiceBus プライベート エンドポイントを適用するサービス バスの名前。
    場所 myFunctionRegion 関数アプリを作成したリージョン。
    価格レベル Premium Azure Service Bus でプライベート エンドポイントを使用するには、このレベルを選択します。
  4. [Review + create](レビュー + 作成) を選択します。 検証が終了したら、 [作成] を選択します。

仮想ネットワークの作成

このチュートリアルの Azure リソースは、仮想ネットワークと統合されているか、その内部に配置されています。 プライベート エンドポイントを使用して、仮想ネットワーク内にネットワーク トラフィックが含まれるようにします。

このチュートリアルでは、2 つのサブネットを作成します。

  • default: プライベート エンドポイントのサブネット。 プライベート IP アドレスは、このサブネットから提供されます。
  • functions: Azure Functions 仮想ネットワーク統合のためのサブネット。 このサブネットは、関数アプリに委任されます。

関数アプリの統合先となる仮想ネットワークを次のようにして作成します。

  1. Azure portal のメニューまたは [ホーム] ページで [リソースの作成] を選択します。

  2. [新規] ページで、"仮想ネットワーク" を検索します。 [作成] を選択します。

  3. [基本] タブで、次の表を使用して仮想ネットワークの設定を構成します。

    設定 推奨値 説明
    サブスクリプション 該当するサブスクリプション リソースが作成されるサブスクリプション。
    リソース グループ myResourceGroup 関数アプリで作成したリソース グループ。
    名前 myVirtualNet 関数アプリが接続する仮想ネットワークの名前。
    リージョン myFunctionRegion 関数アプリを作成したリージョン。
  4. [IP アドレス] タブで、 [サブネットの追加] を選択します。 次の表を使用して、サブネットの設定を構成します。

    [仮想ネットワークの作成] 構成ビューのスクリーンショット。

    設定 推奨値 説明
    サブネット名 functions 関数アプリの接続先となるサブネットの名前。
    サブネットのアドレス範囲 10.0.1.0/24 サブネットのアドレスの範囲。 上の図で、IPv4 アドレス空間が 10.0.0.0/16 であることに注意してください。 値が 10.1.0.0/16 の場合、推奨されるサブネットのアドレスの範囲は 10.1.1.0/24 です。
  5. [Review + create](レビュー + 作成) を選択します。 検証が終了したら、 [作成] を選択します。

ストレージ アカウントをロック ダウンする

Azure プライベート エンドポイントは、プライベート IP アドレスを使用して特定の Azure リソースに接続するために使用されます。 この接続により、ネットワーク トラフィックは選択した仮想ネットワーク内にとどまり、アクセスは特定のリソースに対してのみ許可されます。

ストレージ アカウントを使用して、Azure Files ストレージと Azure Blob Storage のプライベート エンドポイントを作成します。

  1. 新しいストレージ アカウントで、左側のメニューの [ネットワーク] を選択します。

  2. [プライベート エンドポイント接続] タブで、 [プライベート エンドポイント] を選択します。

    ストレージ アカウントのプライベート エンドポイントの作成方法を示すスクリーンショット。

  3. [基本] タブで、次の表に示すプライベート エンドポイント設定を使用します。

    設定 推奨値 説明
    サブスクリプション 該当するサブスクリプション リソースが作成されるサブスクリプション。
    リソース グループ myResourceGroup 関数アプリで作成したリソース グループを選択します。
    名前 file-endpoint ストレージ アカウントからのファイルのプライベート エンドポイントの名前。
    リージョン myFunctionRegion ストレージ アカウントを作成したリージョンを選択します。
  4. [リソース] タブで、次の表に示すプライベート エンドポイント設定を使用します。

    設定 推奨値 説明
    サブスクリプション 該当するサブスクリプション リソースが作成されるサブスクリプション。
    リソースの種類 Microsoft.Storage/storageAccounts ストレージ アカウントのリソースの種類。
    リソース mysecurestorage 作成したストレージ アカウント。
    ターゲット サブリソース file ストレージ アカウントからのファイルに使用されるプライベート エンドポイント。
  5. [構成] タブで、 [サブネット] 設定に [既定値] を選択します。

  6. [Review + create](レビュー + 作成) を選択します。 検証が終了したら、 [作成] を選択します。 仮想ネットワーク内のリソースがストレージ ファイルと通信できるようになりました。

  7. BLOB 用に別のプライベート エンドポイントを作成します。 [リソース] タブで、次の表に示す設定を使用します。 その他の設定については、ファイルのプライベート エンドポイントの作成に使用したものと同じ値を使用します。

    設定 推奨値 説明
    サブスクリプション 該当するサブスクリプション リソースが作成されるサブスクリプション。
    リソースの種類 Microsoft.Storage/storageAccounts ストレージ アカウントのリソースの種類。
    名前 blob-endpoint ストレージ アカウントからの BLOB のプライベート エンドポイントの名前。
    リソース mysecurestorage 作成したストレージ アカウント。
    ターゲット サブリソース blob (blob) ストレージ アカウントからの BLOB に使用されるプライベート エンドポイント。
  8. プライベート エンドポイントが作成された後、ストレージ アカウントの [ファイアウォールと仮想 ネットワーク] セクションに戻します。

  9. 選択したネットワーク が確実に選択されているようにします。 既存の仮想ネットワークを追加する必要はありません。

仮想ネットワーク内のリソースは、プライベート エンドポイントを使用してストレージ アカウントと通信できるようになりました。

サービス バスをロック ダウンする

サービス バスをロック ダウンするためのプライベート エンドポイントを作成します。

  1. 新しいサービス バスで、左側のメニューの [ネットワーク] を選択します。

  2. [プライベート エンドポイント接続] タブで、 [プライベート エンドポイント] を選択します。

    サービス バスのプライベート エンドポイントに移動する方法を示すスクリーンショット。

  3. [基本] タブで、次の表に示すプライベート エンドポイント設定を使用します。

    設定 推奨値 説明
    サブスクリプション 該当するサブスクリプション リソースが作成されるサブスクリプション。
    リソース グループ myResourceGroup 関数アプリで作成したリソース グループ。
    名前 sb-endpoint ストレージ アカウントからのファイルのプライベート エンドポイントの名前。
    リージョン myFunctionRegion ストレージ アカウントを作成したリージョン。
  4. [リソース] タブで、次の表に示すプライベート エンドポイント設定を使用します。

    設定 推奨値 説明
    サブスクリプション 該当するサブスクリプション リソースが作成されるサブスクリプション。
    リソースの種類 Microsoft.ServiceBus/namespaces サービス バスのリソースの種類。
    リソース myServiceBus チュートリアルで作成した Service Bus。
    ターゲット サブリソース namespace サービス バスの名前空間に使用されるプライベート エンドポイント。
  5. [構成] タブで、 [サブネット] 設定に [既定値] を選択します。

  6. [Review + create](レビュー + 作成) を選択します。 検証が終了したら、 [作成] を選択します。

  7. プライベート エンドポイントが作成された後、サービス バス名前空間の [ファイアウォールと仮想 ネットワーク] セクションに戻します。

  8. 選択したネットワーク が確実に選択されているようにします。

  9. [+ 既存の仮想ネットワークの追加] を選択 して、最近作成した仮想ネットワークを追加します。

  10. [ネットワークの追加] タブで、次の表のネットワーク設定を使用します。

    設定 推奨値 説明
    サブスクリプション 該当するサブスクリプション リソースが作成されるサブスクリプション。
    仮想ネットワーク myVirtualNet 関数アプリが接続する仮想ネットワークの名前。
    サブネット functions 関数アプリの接続先となるサブネットの名前。
  11. 現在のクライアント IP にその名前空間へのアクセスを許可するには、 [クライアント IP アドレスを追加する] を選択します。

    注意

    クライアント IP アドレスの許可は、このチュートリアルの後半でキューにメッセージを Azure portal が発行できるようにするために必要です。

  12. [有効にする] を選択して、サービス エンドポイントを有効にします。

  13. [追加] を選択して、選択した仮想ネットワークとサブネットをサービス バスのファイアウォール規則に追加します。

  14. [保存] を選択して、更新したファイアウォール規則を保存します。

仮想ネットワーク内のリソースは、プライベート エンドポイントを使用してサービス バスと通信できるようになりました。

ファイル共有を作成する

  1. 作成したストレージ アカウントで、左側のメニューの [ファイル共有] を選択します。

  2. [ファイル共有] を選択します。 このチュートリアルでは、ファイル共有に "files" という名前を指定します。

    ストレージ アカウントにファイル共有を作成する方法を示すスクリーンショット。

  3. [作成] を選択します

ストレージ アカウントの接続文字列を取得する

  1. 作成したストレージ アカウントで、左側のメニューの [アクセス キー] を選択します。

  2. [キーの表示/非表示] を選択します。 接続文字列 key1 をコピーして保存します。 この接続文字列は、アプリ設定を構成するときに必要になります。

    ストレージ アカウントの接続文字列を取得する方法を示すスクリーンショット。

キューを作成する

Azure Functions サービス バス トリガーがイベントを取得するキューを作成します。

  1. サービス バスの左側のメニューで、 [キュー] を選択します。

  2. [キュー] を選択します。 このチュートリアルでは、新しいキューの名前 として名前 キュー を指定することが目的です。

    サービス バス キューを作成する方法を示すスクリーンショット。

  3. [作成] を選択します

サービス バスの接続文字列を取得する

  1. サービス バスで、左側のメニューの [共有アクセス ポリシー] を選択します。

  2. [RootManageSharedAccessKey] を選択します。 [プライマリ接続文字列] をコピーして保存します。 この接続文字列は、アプリ設定を構成するときに必要になります。

    サービス バスの接続文字列を取得する方法を示すスクリーンショット。

関数アプリを統合する

仮想ネットワークで関数アプリを使用するには、それをサブネットに参加させる必要があります。 Azure Functions 仮想ネットワーク統合には特定のサブネットを使用します。 このチュートリアルで作成する他のプライベート エンドポイントには、既定のサブネットを使用します。

  1. 関数アプリの左側のメニューで、 [ネットワーク] を選択します。

  2. [VNet 統合] の下の [ここをクリックして構成] を選択します。

    仮想ネットワーク統合に移動する方法を示すスクリーンショット。

  3. [Add VNet](VNet の追加) を選択します。

  4. [仮想ネットワーク] で、前に作成した仮想ネットワークを選択します。

  5. 先ほど作成した 関数 サブネットを選択します。 [OK] を選択します。 これで、関数アプリが仮想ネットワークと統合されました。

    関数アプリをサブネットに接続する方法を示すスクリーンショット。

関数アプリの設定を構成する

  1. 関数アプリの左側のメニューで、 [構成] を選択します。

  2. 仮想ネットワークで関数アプリを使用するには、次の表に示すアプリ設定を更新します。 設定を追加または編集するには、 [+ 新しいアプリケーション設定] 、またはアプリ設定の表の右端の列にある [編集] アイコンを選択します。 終了したら、 [保存] を選択します。

    プライベート エンドポイントの関数アプリ設定を構成する方法を示すスクリーンショット。

    設定 推奨値 説明
    AzureWebJobsStorage mysecurestorageConnectionString 作成したストレージ アカウントの接続文字列。 このストレージの接続文字列は、「ストレージ アカウントの接続文字列を取得する」セクションのものです。 この設定により、関数アプリは、通常操作の実行時に、セキュリティで保護されたストレージ アカウントを使用できるようになります。
    WEBSITE_CONTENTAZUREFILECONNECTIONSTRING mysecurestorageConnectionString 作成したストレージ アカウントの接続文字列。 この設定により、関数アプリは、Azure Files のセキュリティで保護されたストレージ アカウント (デプロイ中に使用されます) を使用できるようになります。
    WEBSITE_CONTENTSHARE files ストレージ アカウントで作成したファイル共有の名前。 この設定は、WEBSITE_CONTENTAZUREFILECONNECTIONSTRING と共に使用します。
    SERVICEBUS_CONNECTION myServiceBusConnectionString サービス バスの接続文字列に、このアプリ設定を作成します。 このストレージの接続文字列は、「サービス バスの接続文字列を取得する」セクションのものです。
    WEBSITE_CONTENTOVERVNET 1 このアプリ設定を作成します。 値 1 を指定すると、ストレージ アカウントを仮想ネットワークに制限している場合に、関数アプリをスケーリングできます。
    WEBSITE_DNS_SERVER 168.63.129.16 このアプリ設定を作成します。 アプリが仮想ネットワークと統合されると、仮想ネットワークと同じ DNS サーバーが使用されます。 関数アプリで Azure DNS プライベート ゾーンを操作できるようにするには、この設定が必要です。 これは、プライベート エンドポイントを使用する場合に必要です。 この設定と WEBSITE_VNET_ROUTE_ALL によって、アプリからのすべての送信呼び出しが仮想ネットワークに送信されます。
    WEBSITE_VNET_ROUTE_ALL 1 このアプリ設定を作成します。 アプリが仮想ネットワークと統合されると、仮想ネットワークと同じ DNS サーバーが使用されます。 関数アプリで Azure DNS プライベート ゾーンを操作できるようにするには、この設定が必要です。 これは、プライベート エンドポイントを使用する場合に必要です。 この設定と WEBSITE_DNS_SERVER によって、アプリからのすべての送信呼び出しが仮想ネットワークに送信されます。
  3. [構成] ビューで、 [関数のランタイム設定] タブを選択します。

  4. [ランタイム スケールの監視][オン] に設定します。 次に、 [保存] を選択します。 ランタイム駆動型のスケーリングを使用すると、仮想ネットワーク内で実行されているサービスに非 HTTP トリガー関数を接続できます。

    Azure Functions のランタイム駆動型スケーリングを有効にする方法を示すスクリーンショット。

サービス バス トリガーと HTTP トリガーをデプロイする

  1. GitHub で、次のサンプル リポジトリにアクセスします。 これには、関数アプリと 2 つの関数、HTTP トリガー、およびサービス バス キュー トリガーが含まれています。

    https://github.com/Azure-Samples/functions-vnet-tutorial

  2. ページの上部で、 [フォーク] を選択して、独自の GitHub アカウントまたは組織にこのリポジトリのフォークを作成します。

  3. 関数アプリの左側のメニューで、 [デプロイ センター] を選択します。 次に、 [設定] を選択します。

  4. [設定] タブで、次の表に示すデプロイ設定を使用します。

    設定 推奨値 説明
    ソース GitHub 手順 2 のサンプル コードに GitHub リポジトリを作成しておく必要があります。
    組織 myOrganization リポジトリがチェックインされる組織。 通常は自分のアカウントです。
    リポジトリ functions-vnet-tutorial https://github.com/Azure-Samples/functions-vnet-tutorial からフォークされたリポジトリ。
    ブランチ メイン 作成したリポジトリのメイン ブランチ。
    ランタイム スタック .NET サンプル コードは C# で作成されています。
    [バージョン] .NET Core 3.1 ランタイム バージョン。
  5. [保存] を選択します。

    ポータルを使用して Azure Functions コードを展開する方法のを示すスクリーンショット。

  6. 最初のデプロイには数分かかる場合があります。 アプリが正常にデプロイされると、 [ログ] タブに [成功 (アクティブ)] のステータス メッセージが表示されます。 必要に応じて、ページを更新してください。

おめでとうございます。 サンプルの関数アプリが正常にデプロイされました。

関数アプリをロック ダウンする

次に、プライベート エンドポイントを作成して関数アプリをロック ダウンします。 このプライベート エンドポイントは、プライベート IP アドレスを使用して、関数アプリをプライベートかつ安全に仮想ネットワークに接続します。

詳細については、プライベート エンドポイントのドキュメントをご覧ください。

  1. 関数アプリの左側のメニューで、 [ネットワーク] を選択します。

  2. [プライベート エンドポイント接続] で、 [Configure your private endpoint connections](プライベート エンドポイント接続の構成) を選択します。

    関数アプリのプライベート エンドポイントに移動する方法を示すスクリーンショット。

  3. [追加] を選択します。

  4. 開いたウィンドウで、次のプライベート エンドポイント設定を使用します。

    関数アプリのプライベート エンドポイントを作成する方法を示すスクリーンショット。名前は functionapp-endpoint です。サブスクリプションは 'Private Test Sub CACHHAI' です。仮想ネットワークは MyVirtualNet-tutorial です。サブネットは既定値です。

  5. [OK] を選択して、プライベート エンドポイントを追加します。

おめでとうございます。 プライベート エンドポイントを追加して、関数アプリ、サービス バス、およびストレージ アカウントをセキュリティで保護できました。

ロック ダウンした関数アプリをテストする

  1. 関数アプリの左側のメニューで、 [Functions] を選択します。

  2. [ServiceBusQueueTrigger] を選択します。

  3. 左側のメニューで [監視] を選択します。

アプリを監視できないことがわかります。 お使いのブラウザーが仮想ネットワークにアクセスできず、仮想ネットワーク内のリソースに直接アクセスできないためです。

Application Insights を使用して関数を監視する別の方法を次に示します。

  1. 関数アプリの左側のメニューで、 [Application Insights] を選択します。 次に、 [Application Insights データの表示] を選択します。

    関数アプリについて Application Insights を表示する方法を示すスクリーンショット。

  2. 左側のメニューで [Live metrics] を選択します。

  3. 新しいタブを開きます。サービス バスの左側のメニューで、 [キュー] を選択します。

  4. キューを選択します。

  5. 左側のメニューで、 [Service Bus Explorer] を選択します。 [送信][コンテンツ タイプ] で、 [Text/Plain] を選択します。 次に、メッセージを入力します。

  6. [送信] を選択してメッセージを送信します。

    ポータルを使用してサービス バス メッセージを送信する方法を示すスクリーンショット。

  7. [Live metrics] タブに、サービス バス キュー トリガーが起動したことが表示されます。 確認できない場合は、 [Service Bus Explorer] からメッセージを再送信します。

    関数アプリの Live Metrics を使用してメッセージを表示する方法を示すスクリーンショット。

おめでとうございます。 これで、プライベート エンドポイントを使用した関数アプリの設定のテストが成功しました。

プライベート DNS ゾーンについて

プライベート エンドポイントを使用して Azure リソースに接続しました。 パブリック エンドポイントではなく、プライベート IP アドレスに接続しています。 既存の Azure サービスは、既存の DNS を使用してパブリック エンドポイントに接続するように構成されています。 プライベート エンドポイントに接続するには、DNS 構成を上書きする必要があります。

プライベート DNS ゾーンは、プライベート エンドポイントで構成された各 Azure リソースに対して作成されています。 DNS レコードは、プライベート エンドポイントに関連付けられているプライベート IP アドレスごとに作成されます。

このチュートリアルでは、次の DNS ゾーンを作成しました。

  • privatelink.file.core.windows.net
  • privatelink.blob.core.windows.net
  • privatelink.servicebus.windows.net
  • privatelink.azurewebsites.net

リソースをクリーンアップする

前の手順では、リソース グループ内に Azure リソースを作成しました。 これらのリソースが将来必要になると思わない場合は、リソース グループを削除してリソースを削除できます。

Azure portal メニューまたは [ホーム] ページから、 [リソース グループ] を選択します。 次に、 [リソース グループ] ページで [myResourceGroup] を選択します。

[myResourceGroup] ページで、一覧表示されたリソースが、削除しようとするリソースであることを確認します。

[リソース グループの削除] を選択し、確認のためテキスト ボックスに「myResourceGroup」と入力して、 [削除] を選択します。

次のステップ

このチュートリアルでは、Premium 関数アプリ、ストレージ アカウント、およびサービス バスを作成しました。 これらのリソースをすべて、プライベート エンドポイントの背後でセキュリティ保護しました。

ネットワーク オプションとプライベート エンドポイントの詳細については次のリンクを参照してください。