Azure研究サイト

Azure研究サイト

~理解しずらい情報をシンプルにお伝えします~

Functions料金プランの選び方


Functions を新規作成する際は、「従量課金プラン」「Flex従量課金プラン (新)」「Premiumプラン」「AppServiceプラン」「ContainerApps環境 (新)」から選択します。しかし、何を基準に料金プランを選択すれば良いかよくわからない方もいると思うので、この記事を参考にしていただけたらと思います。

従量課金プラン

従量課金プランを選択する場合、以下のポイントに納得していることが重要です。 コストの抑制:実行されたリクエストの分だけ支払うため、使用量に応じたコスト管理が可能です
コールドスタート:関数アプリがスリープ状態から起動する際に若干の遅延が発生することがあります。これに伴う待機時間を許容できる場合
実行タイミングの柔軟性:関数アプリの処理が多少遅れても、最終的に完了すれば問題ない場合
 
これらの条件に合致する場合、従量課金プランは非常に有効な選択肢となります。

Flex従量課金プラン

Flex従量課金プランを選択する場合、以下のポイントに納得していることが重要です。
 
コストの柔軟性:必要なリソースに応じて、柔軟にコストを調整できるため、変動するワークロードに対応しやすいです。
高可用性:複数のインスタンスで自動的にスケールするため、予期しないトラフィックの急増にも対応可能です。
予測可能なパフォーマンス:リソース割り当てが安定しているため、パフォーマンスが予測しやすくなります。
 
従量課金プランとの違いとメリット
仮想ネットワーク統合 (VNet統合):Flex従量課金プランでは、仮想ネットワークに接続することが可能です。これにより、セキュリティが強化され、他のAzureリソースとの安全な通信が確保されます。
スケーラビリティ:従量課金プランと比較して、Flexプランはより柔軟で高度なスケーリング機能を提供します。リソースの需要に応じて自動的にスケールアップまたはスケールダウンすることで、効率的にリソースを利用できます。
ハイパフォーマンス:Flexプランでは、リソースの割り当てが安定しているため、アプリのパフォーマンスが向上しやすくなります。これにより、重要なアプリやサービスのレスポンス時間が短縮されます。
コスト効率:Flexプランでは、利用した分だけ課金されるため、リソースの無駄遣いを防ぎ、コスト効率が高まります。予算に応じた柔軟なコスト管理が可能です。

これらの条件に合致する場合、Flex従量課金プランは非常に有効な選択肢となります。

Premiumプラン

FunctionsはPremiumプランが推奨プランとなります。以下ポイントのうち一つでも当てはまるのであれば、Premiumプランを使う必要があると思います。

  • 処理時間にシビアなシステム要件的がある
  • 処理開始時にコールドスタートを発生させたくない(デフォルト動作として、常にアクティブなインスタンスが用意される)
  • 処理中に自動でスケールアウトされるときもコールドスタートを発生させたくない

AppServiceプラン

以下の場合はAppServiceプランを利用することになると思います。

  • AppService/Functions 等の他リソースと同じAppServiceプラン上で実行させたい

※ Premiumプランのように、処理開始時にコールドスタートを発生させたくない場合、AppServiceプランに常時接続機能を有効にしましょう。
※ Premiumプランのように、必要に応じて自動でスケールアウトさせたい場合、AppServiceプランに自動スケールを設定しましょう。
 

AppServiceプランの注意点

既にAppServiceプランをもっているからといって、何でも一つのAppServiceプランに詰め込めばいいと思ったらそれは違います。一つのAppServiceプラン(Azureサーバ)で使えるリソースは有限ですので。例えば、従量課金プラン・Premiumプランはリクエストが急に増えたりリソースが足りないとAzureサーバが判断したらデフォルトで自動スケールアウトしてくれますが、AppServiceプランは自動スケールアウトは事前に設定しないと自動スケールアウトしてくれません。あと、従量課金プランはサーバーレスと書かれているようにAzure側が必要なサーバを用意して実行してくれるのですが、AppServiceプランは自分で適切な価格レベルを自分で選択する必要があります。

ご意見・ご要望はこちらへ