Durable Task Scheduler の課金

Durable Task Scheduler は、オーケストレーション状態を保持するマネージド バックエンド サービスです。 これは、それに接続するオーケストレーション フレームワークとは別に課金されます。 Durable Task Scheduler は、Durable Functions や Durable Task SDK に対して直接料金を請求することはありません。 合計コストには、次の 2 つのコンポーネントがあります。

  • Durable Task Scheduler - 選択した SKU (専用 または 従量課金) に基づいて課金されます
  • Compute リソース - アプリケーションをホストするプラットフォームによって個別に課金されます。これは、Azure Functions (Durable Functionsの場合) か、コンテナー/VM プラットフォーム (Durable Task SDK) によって個別に課金されます。

次の表は、2 つの価格モデルをひとめで比較したものです。

Dedicated 従量課金
課金モデル 容量ユニットあたりの固定月額コスト (CU) 実行されたアクションごとの支払い
最大スループット CU あたり 2,000 アクション/秒 (最大 3 CU) 1秒間に500アクション
データ保有期間 最大 90 日 最大 30 日
高可用性 サポート対象 (3 CU が必要) 該当なし
最適な用途 予測可能なボリュームを持つ運用ワークロード 開発/テストと可変ワークロード

現在の価格については、 Durable Task Scheduler の価格に関するページを参照してください。

アクションとは

アクションは、Durable Task Scheduler によってアプリケーションにディスパッチされ、オーケストレーター、アクティビティ、またはエンティティ関数の実行をトリガーするメッセージです。 "アクション" に含まれている項目:

  • オーケストレーションまたはサブオーケストレーションの開始
  • アクティビティの開始
  • タイマーの完了
  • 外部イベントをトリガーする
  • エンティティ操作の実行
  • オーケストレーションの一時停止、再開、または終了
  • アクティビティ、エンティティ呼び出し、エンティティ ロック、またはサブオーケストレーションの結果の処理

次の図は、オーケストレーション内のアクションを計算する方法を示しています。

Durable Task Scheduler オーケストレーションの課金アクションの数を計算する方法を示す図。

3 つの異なるアクティビティを呼び出すオーケストレーションでは、次のアクションが発生します。

3 つのアクティビティ関数呼び出しとそれに対応するアクションの内訳を示す Durable Task Scheduler オーケストレーション コードのスクリーンショット。

この例では、Durable Task Scheduler は次のように各アクションを処理します。

  • オーケストレーターの開始 (RunOrchestrator) で 1 つのアクションが使用される
  • アクティビティ 1 ((nameof(SayHello), "Tokyo")) では、次の 2 つのアクションが使用されます。
    • アクティビティのスケジュール設定
    • 結果の処理
  • アクティビティ 2 ((nameof(SayHello), "Seattle")) では、次の 2 つのアクションが使用されます。
    • アクティビティのスケジュール設定
    • 結果の処理
  • アクティビティ 3 ((nameof(SayHello), "London")) では、次の 2 つのアクションが使用されます。
    • アクティビティのスケジュール設定
    • 結果の処理

専用 SKU の価格と容量

専用 SKU は、事前に割り当てられた容量ユニット (CU) によって予測可能なパフォーマンスを提供します。 各デプロイでは、最大 3 つの CU がサポートされます。 専用 SKU を使用して、サブスクリプションごとにリージョンごとに最大 25 個のスケジューラと 25 個のタスク ハブを作成できます。 クォータを増やすには、サポートに連絡してください

主要な機能

特徴 説明
基本コスト CU当たりの固定月額料金(地域別価格) このサービスは「アクションごと」の課金ではありません。
パフォーマンス 各 CU では、1 秒あたり最大 2,000 個のアクションと 50 GB のオーケストレーション データ ストレージがサポートされます。
オーケストレーション データの保持 最大 90 日。
カスタム スケーリング ワークロードのニーズに合わせて CU を構成します。 デプロイごとに 1 つの CU が必要です。
高可用性 マルチ CU デプロイによる高可用性。 少なくとも 3 つの CU が必要です。

Note

高可用性デプロイの場合は、3 つの CU を構成します。 Single-CU デプロイでは冗長性が提供されません。

専用 SKU の容量ユニットを計算する

例 1

オーケストレーションには、5 つのアクティビティとエラー処理が含まれており、オーケストレーション (オーケストレーターとアクティビティの呼び出し) ごとに平均 12 個のアクションがあります。 1 か月あたり 2,000 万回のオーケストレーションを実行して計算してみましょう。

Step 計算 結果
毎月のアクション 20,000,000 × 12 2億4,000万件のアクション
1 秒あたりのアクション数 240,000,000 ÷ 2,628,000 (1か月の秒数) ≈ 91 アクション/秒
必要な CU 91 ÷ 2,000 必要な CU: 0.046 → 1 CU で十分

例 2

大規模な企業では、1 か月あたり 5 億件の複雑なオーケストレーションが実行され、オーケストレーションあたり平均 15 個のアクション (オーケストレーター調整を使用した複数のアクティビティ) が実行されます。

Step 計算 結果
毎月のアクション 5億× 15 75 億件のアクション
1 秒あたりのアクション数 75億÷ 2,628,000 ≈ 2,854 アクション/秒
必要な CU 2,854 ÷ 2,000 必要な CU: 1.43 → 2 CU で十分

例 3

サービスとしてのソフトウェア (SaaS) プラットフォームでは、毎月 8 億件のオーケストレーションがサポートされ、それぞれ平均 15 個のアクション (ユーザー操作、バックグラウンド処理、外部 API 呼び出し) が含まれます。

Step 計算 結果
毎月のアクション 8億× 15 120 億件のアクション
1 秒あたりのアクション数 120億÷ 2,628,000 ≈ 4,571 アクション/秒
必要な CU 4,571 ÷ 2,000 必要な CU: 2.29 → 3 CU で十分

従量課金 SKU

従量課金制 SKU には従量課金制モデルが用意されており、可変ワークロードや開発シナリオに最適です。

従量課金 SKU を使用して、サブスクリプションごとにリージョンあたり最大 10 個のスケジューラと 5 つのタスク ハブを作成できます。 クォータを増やすには、サポートに連絡してください

主要な機能

特徴 説明
従量課金制 ディスパッチされたアクションに対してのみ支払います。 前払いコスト、最小コミットメント、または基本料金はありません。
パフォーマンス 1 秒あたり最大 500 個のアクションをサポートします。
データの保持 最大 30 日間データを保持します。

例 1

開発チームは、3 つのアクション ( "Hello City" パターン) を使用して単純なオーケストレーションをテストし、1 か月あたり 10,000 個のオーケストレーションを実行します。

Step 計算 結果
毎月のアクション 10,000 × 3 30,000 動作

例 2

eコマース アプリケーションでは、プロモーション販売イベント中に動的スケーリングが発生します。 1 か月あたり約 20,000 回実行される、合計 7 つのアクションを含むオーケストレーションを使用します。

Step 計算 結果
毎月のアクション 20,000 × 7 140,000 個のアクション

コンピューティング コスト

Durable Task Scheduler に加えて、アプリケーションをホストするコンピューティング プラットフォームの料金も支払います。 コンピューティング コストは、使用するオーケストレーション フレームワークによって異なります。

Durable Functions

Durable Functionsは Azure Functions で実行されます。 コンピューティング コストは、選択したAzure Functionsホスティング プランによって異なります。

ホスティング プラン 説明
消費プラン 関数が実行された時間に対してだけ支払います。 自動スケーリングと無料の毎月の付与が含まれます。
Flex 従量課金プラン 仮想ネットワーク統合を使用したイベント ドリブンのスケーリング。 要求処理中のインスタンスに加えて、常に準備が整っているベースラインに対しても支払いを行います。
プレミアムプラン 仮想ネットワーク接続を使用してコールド スタートを回避するための事前ウォーミングされたインスタンス。 vCPU とメモリ秒あたりに課金されます。
専用 (App Service) プラン App Service プラン内の専用仮想マシンで関数を実行します。 他の App Service インスタンスを既に実行している VM の使用に余裕がある場合に最適です。

詳細な Durable Functions の課金動作 (リプレイの課金、待機、HTTP ポーリング) については、「Durable Functions の課金」を参照してください。 Azure Functions価格については、「Azure Functions pricing」を参照してください。

Durable Task SDK

Durable Task SDK はプラットフォームに依存せず、さまざまなコンピューティング プラットフォームで実行できます。

コンピューティング プラットフォーム 説明
Azure Container Apps 従量課金ベースまたは専用の価格でホストするサーバーレス コンテナー。 vCPU とメモリ使用量に対して課金されます。
Azure Kubernetes Service (AKS) クラスター内の仮想マシン (ノード) の料金を支払うマネージド Kubernetes クラスター。
Azure App Service 機能とスケールに基づいて価格レベルが異なる Web アプリケーションをホストするためのフル マネージド プラットフォーム。

価格の詳細については、各コンピューティング サービスの課金に関するドキュメントを参照してください。