Azure Functions の Premium プランAzure Functions Premium plan

Azure Functions の Premium プランは、関数アプリのホスティング オプションです。The Azure Functions Premium plan is a hosting option for function apps. Premium プランでは、VNet 接続、コールド スタートなし、プレミアム ハードウェアなどの機能が提供されます。The Premium plan provides features like VNet connectivity, no cold start, and premium hardware. 複数の関数アプリを同じ Premium プランにデプロイできます。プランでは、コンピューティング インスタンス サイズ、基本プラン サイズ、および最大プラン サイズを構成できます。Multiple function apps can be deployed to the same Premium plan, and the plan allows you to configure compute instance size, base plan size, and maximum plan size. Premium プランと、他のプランおよびホスティング タイプの比較については、関数のスケールとホスティング オプションに関するページを参照してください。For a comparison of the Premium plan and other plan and hosting types, see function scale and hosting options.

Premium プランを作成するCreate a Premium plan

  1. Azure ポータルにアクセスします。Go to the Azure portal.

  2. 左側にある [+ リソースの作成] を選択し、 [関数アプリ] を選択します。Select + Create a resource on the left hand side, then choose Function app.

  3. [ホスティング プラン] で、 [App Service プラン] を選択し、 [App Service プラン/場所] を選択します。For Hosting plan, choose App Service plan, then select App Service plan/Location.

    Function App を作成する

  4. [新規作成] を選択し、 [App Service プラン] に名前を入力し、[リージョン] で、自分の近くか使用する関数がアクセスする他のサービスの近くの場所を選択し、 [価格レベル] を選択します。Select Create new, type an App Service plan name, choose a Location in a region near you or near other services your functions access, and then select Pricing tier.

    Create App Service plan

  5. [EP1] (エラスティック Premium) プランを選択し、 [適用] を選択します。Choose the EP1 (elastic Premium) plan, then select Apply.

    Premium プランの選択

  6. [OK] を選択してプランを作成し、残りの関数アプリの設定を、図の下の表に示すように指定します。Select OK to create the plan, then use the remaining function app settings as specified in the table below the image.

    完成した App Service プラン

    SettingSetting 推奨値Suggested value 説明Description
    アプリ名App name グローバルに一意の名前Globally unique name 新しい Function App を識別する名前。Name that identifies your new function app. 有効な文字は、a-z0-9、および - です。Valid characters are a-z, 0-9, and -.
    サブスクリプションSubscription 該当するサブスクリプションYour subscription この新しい Function App が作成されるサブスクリプション。The subscription under which this new function app is created.
    リソース グループResource Group myResourceGroupmyResourceGroup Function App を作成するための新しいリソース グループの名前。Name for the new resource group in which to create your function app. 推奨値を使用することもできます。You can also use the suggested value.
    OSOS 推奨 OSPreferred OS Premium プランでは、Linux と Windows の両方がサポートされます。Both Linux and Windows are supported on the Premium plan.
    ランタイム スタックRuntime stack 優先言語Preferred language お気に入りの関数プログラミング言語をサポートするランタイムを選択します。Choose a runtime that supports your favorite function programming language. C# および F# 関数用の [.NET] を選択します。Choose .NET for C# and F# functions. 選択した OS でサポートされている言語のみが表示されます。Only languages supported on your chosen OS are displayed.
    StorageStorage グローバルに一意の名前Globally unique name 関数アプリで使用されるストレージ アカウントを作成します。Create a storage account used by your function app. ストレージ アカウント名の長さは 3 ~ 24 文字で、数字と小文字のみを使用できます。Storage account names must be between 3 and 24 characters in length and may contain numbers and lowercase letters only. 既存のアカウントを使用することもできますが、ストレージ アカウントの要件を満たしている必要があります。You can also use an existing account, which must meets the storage account requirements.
    Application InsightsApplication Insights 既定値Default 最も近いサポートされているリージョン内に同じアプリ名の Application Insights リソースを作成します。Creates an Application Insights resource of the same App name in the nearest supported region. この設定を展開することによって、 [新しいリソース名] を変更するか、またはデータを格納する Azure 地理的環境内の別の [場所] を選択することができます。By expanding this setting, you can change the New resource name or choose a different Location in an Azure geography where you want to store your data.
  7. 設定が検証されたら、 [作成] を選択します。After your settings are validated, select Create.

  8. ポータルの右上隅の通知アイコンを選択し、"デプロイメントに成功しました" というメッセージが表示されるまで待ちます。Select the Notification icon in the upper-right corner of the portal and watch for the Deployment succeeded message.

    新しい関数アプリの設定を定義する

  9. [リソースに移動] を選択して、新しい関数アプリを確認します。Select Go to resource to view your new function app. また、 [ダッシュボードにピン留めする] を選択することもできます。You can also select Pin to dashboard. ピン留めすると、ダッシュボードからこの関数アプリ リソースに戻るのが容易になります。Pinning makes it easier to return to this function app resource from your dashboard.

Premium プランは、Azure CLI から az functionapp plan create を使用して作成することもできます。You can also create a Premium plan using az functionapp plan create in the Azure CLI. 次の例では、Elastic Premium 1 レベルのプランを作成しています。The following example creates an Elastic Premium 1 tier plan:

az functionapp plan create --resource-group <RESOURCE_GROUP> --name <PLAN_NAME> \
--location <REGION> --sku EP1

この例の <RESOURCE_GROUP><PLAN_NAME> は、それぞれ実際のリソース グループおよびリソース グループ内で一意となる実際のプランの名前に置き換えてください。In this example, replace <RESOURCE_GROUP> with your resource group and <PLAN_NAME> with a name for your plan that is unique in the resource group. サポートされる <REGION> を指定します。Specify a supported <REGION>. Linux をサポートする Premium プランを作成するには、--is-linux オプションを指定します。To create a Premium plan that supports Linux, include the --is-linux option.

プランが作成されたら、az functionapp create を使用して関数アプリを作成できます。With the plan created, you can use az functionapp create to create your function app. ポータルで、プランとアプリの両方が同時に作成されます。In the portal, both the plan and the app are created at the same time.

機能Features

Premium プランにデプロイされた関数アプリでは、次の機能を利用できます。The following features are available to function apps deployed to a Premium plan.

事前ウォーミングされたインスタンスPre-warmed instances

従量課金プランで今日はイベントも実行も発生しない場合、ゼロ インスタンスまでアプリをスケール ダウンできます。If no events and executions occur today in the Consumption plan, your app may scale down to zero instances. 新しいイベントが発生したら、新しいインスタンスを専用化して、そこでアプリを実行する必要があります。When new events come in, a new instance needs to be specialized with your app running on it. アプリによっては、新しいインスタンスの専用化に時間がかかる場合があります。Specializing new instances may take some time depending on the app. 最初の呼び出しでこのように待機時間が長くなることを、アプリのコールド スタートと呼ぶことがよくあります。This additional latency on the first call is often called app cold start.

Premium プランでは、最小プラン サイズまで、指定された数のインスタンスでアプリを事前ウォーミングしておくことができます。In the Premium plan, you can have your app pre-warmed on a specified number of instances, up to your minimum plan size. インスタンスの事前ウォーミングによって、高負荷になる前にアプリを事前スケールすることもできます。Pre-warmed instances also let you pre-scale an app before high load. アプリがスケール アウトするとき、アプリはまず、事前ウォーミングされたインスタンスにスケールします。As the app scales out, it first scales into the pre-warmed instances. 次のスケール操作に備えて、追加のインスタンスが引き続き、すぐにバッファー アウトおよびウォーミングされます。Additional instances continue to buffer out and warm immediately in preparation for the next scale operation. 事前ウォーミングされたインスタンスのバッファーを確保しておくことで、コールド スタートの待機時間を効果的に回避できます。By having a buffer of pre-warmed instances, you can effectively avoid cold start latencies. 事前ウォーミングされたインスタンスは Premium プランの機能であり、お客様には、プランがアクティブなときは常に、少なくとも 1 つのインスタンスが実行されていて利用可能である状態を維持していただく必要があります。Pre-warmed instances is a feature of the Premium plan, and you need to keep at least one instance running and available at all times the plan is active.

Azure portal 上で事前ウォーミングされたインスタンスの数を構成するには、選択した関数アプリから、 [プラットフォーム機能] タブへ移動して、 [スケールアウト] オプションを選択します。You can configure the number of pre-warmed instances in the Azure portal by selected your Function App, going to the Platform Features tab, and selecting the Scale Out options. 関数アプリの編集ウィンドウでは、事前ウォーミングされたインスタンスはそのアプリ固有ですが、最小および最大のインスタンスはプラン全体に適用されます。In the function app edit window, pre-warmed instances is specific to that app, but the minimum and maximum instances apply to your entire plan.

エラスティック スケールの設定

アプリの事前ウォーミングされたインスタンスは、Azure CLI を使用して構成することもできますYou can also configure pre-warmed instances for an app with the Azure CLI

az resource update -g <resource_group> -n <function_app_name>/config/web --set properties.preWarmedInstanceCount=<desired_prewarmed_count> --resource-type Microsoft.Web/sites

プライベート ネットワーク接続Private network connectivity

Premium プランにデプロイされた Azure Functions では、Web アプリ向けの新しい VNet 統合を利用します。Azure Functions deployed to a Premium plan takes advantage of new VNet integration for web apps. 構成すると、アプリを VNet 内のリソースと通信させる、またはサービス エンドポイントを介してセキュリティで保護することができます。When configured, your app can communicate with resources within your VNet or secured via service endpoints. 受信トラフィックを制限するための IP 制限もアプリで利用できます。IP restrictions are also available on the app to restrict incoming traffic.

Premium プランで関数アプリにサブネットを割り当てるときは、個々の潜在的インスタンスのための十分な IP アドレスがあるサブネットが必要です。When assigning a subnet to your function app in a Premium plan, you need a subnet with enough IP addresses for each potential instance. 使用可能なアドレスが 100 以上の IP ブロックが必要です。We require an IP block with at least 100 available addresses.

詳細については、関数アプリと VNet の統合に関するページを参照してください。Fore more information, see integrate your function app with a VNet.

高速エラスティック スケールRapid elastic scale

従量課金プランと同じ高速スケーリング ロジックを使用して、追加のコンピューティング インスタンスが自動的にアプリのために追加されます。Additional compute instances are automatically added for your app using the same rapid scaling logic as the Consumption plan. スケーリングのしくみの詳細については、関数のスケールとホスティングに関するページを参照してください。To learn more about how scaling works, see Function scale and hosting.

無制限の実行継続時間Unbounded run duration

Azure Functions の従量課金プランでは、1 回の実行が 10 分までに制限されています。Azure Functions in a Consumption plan are limited to 10 minutes for a single execution. Premium プランでは、実行中の暴走を防ぐために、実行継続時間の既定値が 30 分になっています。In the Premium plan, the run duration defaults to 30 minutes to prevent runaway executions. ただし、host.json 構成を変更して、Premium プランのアプリでこれを無制限にすることができます。However, you can modify the host.json configuration to make this unbounded for Premium plan apps.

プランと SKU の設定Plan and SKU settings

プランを作成するときに、2 つの設定を構成します。インスタンスの最小数 (またはプラン サイズ) と最大バースト制限です。When you create the plan, you configure two settings: the minimum number of instances (or plan size) and the maximum burst limit. 最小インスタンスは予約されており、常に実行されています。Minimum instances are reserved and always running.

重要

関数が実行されているかどうかにかかわらず、最小インスタンスで割り当てられているインスタンスごとに課金されます。You are charged for each instance allocated in the minimum instance count regardless if functions are executing or not.

プラン サイズを超えるインスタンスがアプリに必要な場合、インスタンスの数が最大バースト制限に達するまでアプリのスケール アウトを続けることができます。If your app requires instances beyond your plan size, it can continue to scale out until the number of instances hits the maximum burst limit. プラン サイズを超えたインスタンスに対する課金は、インスタンスが実行されていてお客様に貸し出されている間のみ発生します。You are billed for instances beyond your plan size only while they are running and rented to you. 最小プランのインスタンスはお客様のアプリに対して保証されていますが、定義された最大制限までのアプリのスケール アウトに関してはベスト エフォートでの提供となります。We will make a best effort at scaling your app out to its defined maximum limit, whereas the minimum plan instances are guaranteed for your app.

プラン サイズまたは最大値は Azure portal で構成できます。プランまたはそのプランにデプロイされている関数アプリの [スケール アウト] オプションを選択します ( [プラットフォーム機能] の下にあります)。You can configure the plan size and maximums in the Azure portal by selected the Scale Out options in the plan or a function app deployed to that plan (under Platform Features).

Azure CLI から最大バースト制限を増やすこともできます。You can also increase the maximum burst limit from the Azure CLI:

az resource update -g <resource_group> -n <premium_plan_name> --set properties.maximumElasticWorkerCount=<desired_max_burst> --resource-type Microsoft.Web/serverfarms 

利用可能インスタンス SKUAvailable instance SKUs

プランを作成またはスケーリングするときは、3 つのインスタンス サイズから選択できます。When creating or scaling your plan, you can choose between three instance sizes. 合計コア数と 1 秒あたりのメモリ消費量に対して課金されます。You will be billed for the total number of cores and memory consumed per second. アプリは必要に応じて自動的に複数のインスタンスにスケール アウトできます。Your app can automatically scale out to multiple instances as needed.

SKUSKU コアCores メモリMemory StorageStorage
EP1EP1 11 3.5 GB3.5GB 250 GB250GB
EP2EP2 22 7 GB7GB 250 GB250GB
EP3EP3 44 14 GB14GB 250 GB250GB

リージョンRegions

各 OS で現在サポートされているリージョンは次のとおりです。Below are the currently supported regions for each OS.

リージョンRegion WindowsWindows LinuxLinux
オーストラリア中部Australia Central 11
オーストラリア中部 2Australia Central 2 11
オーストラリア東部Australia East
オーストラリア南東部Australia Southeast
ブラジル南部Brazil South 22
カナダ中部Canada Central
米国中部Central US
東アジアEast Asia
East USEast US
米国東部 2East US 2
フランス中部France Central
東日本Japan East
西日本Japan West
韓国中部Korea Central
米国中北部North Central US
北ヨーロッパNorth Europe
米国中南部South Central US
インド南部South India
東南アジアSoutheast Asia
英国南部UK South
英国西部UK West
西ヨーロッパWest Europe
インド西部West India
米国西部West US
米国西部 2West US 2

1最大スケールアウトは 20 個のインスタンスに制限されます。1Maximum scale out limited to 20 instances.
2最大スケールアウトは 60 個のインスタンスに制限されます。2Maximum scale out limited to 60 instances.

次の手順Next steps