Azure App Service の料金体系とその特徴

App Service のアイキャッチ

近年、非常に高いシェア拡大率を維持している Microsoft Azure ですが、中でも Azure App Service は使いやすく柔軟、かつ開発者にとっても企業にとってもおすすめできるサービスとなっています。

この記事では、Azure App Serviceの料金体系とそのユニークな特徴を深掘りし、あなたのプロジェクトに最適なプランを選択するためのガイドを提供します。

はじめに

Azure App Service の概要

Azure App Service は Microsoft 社が提供するクラウドプラットフォーム Microsoft Azure のサービスの一つであり、いわゆる PaaS に位置づけられるものです。

Azure App Service を利用することで、開発者はインフラのメンテナンス、維持管理、運用といったタスクにかかる工数を最小限に抑え、アプリの開発に集中することが可能となります。

Azure App Service において、OSやミドルウェアなどのアップデートは全て Azure 側で行われ、ユーザー側でそのタイミング、詳細バージョンなどは Azure ポータル等で指定できる範囲を超えて、細かく指定することは出来ません。

また、使用できるプログラミング言語やミドルウェアに対しても制限があり、 Azure App Service に提供されるものに限られています。

それらの制限を許容し Azure App Service 上で運用ができるアプリの場合、 Azure App Service を使用することはユーザーにとってメリットの大きいものとなります。

Azure App Service で利用できるOSや言語

下記の公式ドキュメントにも記載がありますが、 Azure App Service では OS の種類として Windows / Linux が選択でき、OSの種類によって利用可能なプログラミング言語・ミドルウェアが決まります。

概要 – Azure App Service | Microsoft Learn

また、より柔軟にカスタマイズしたい場合などは App Service / Web App for Containers が利用可能です。

Web App for Containers では、 App Service のアーキテクチャ上でユーザーが構築したコンテナイメージを起動することができるサービスとなっており、任意のコンテナレジストリにあるイメージを指定して、 App Service のアプリとして起動することが出来ます。

例えば、 Ruby などは現在 App Service のプログラミング言語にラインナップされていませんが、 Web App for Containers を使用することで Ruby で稼働するアプリを App Service アプリとして作成することが可能です。

Azure App Service の料金体系

Azure App Service は他のクラウドにおける類似サービス (GCP での App Engine など)とは異なる特徴的な料金体系となっています。

App Service Plan とアプリの関係

App Service では App Service Plan という概念とアプリという概念があります。

App Service Plan は平たく言うとアプリが詰まった箱のようなイメージです。

そのため、 1 つの App Service Plan 内に複数のアプリを稼働させることが出来ます。

一方で、 App Service Plan に割り当てられている計算リソース(CPUやメモリ等)は App Service Plan 単位となりますので、複数のアプリが 1 つの App Service Plan で稼働している場合、それらのアプリは同一 App Service Plan の計算リソースを共有して使用することになります。

App Service Plan 概念図
App Service Plan 概念図

App Service の課金方法

App Service そのものの料金については、上述の App Service Plan の稼働時間に基づいて従量課金として費用が発生します。

App Service の料金 | Microsoft Azure

つまり、 App Service としてアプリが 3 つ稼働していても、 1 つだけの稼働であっても、そのアプリが “どの App Service Plan で稼働しているか” によって料金が変わります。

そのため、下記の構成における “ASP-A” と “ASP-B” は稼働しているアプリ数が異なっていても(両方の App Service Plan の SKU ≒ スペックが同一の場合) App Service の料金としては同じということになります。

※ Shared SKU を除く

App Service Plan 名アプリ名アプリ名アプリ名
ASP-AApp-A-1App-A-2App-A-3
ASP-BApp-B-1
App Service Plan とアプリの数における費用の考え方

これらの内容は Azure サポートチームの下記の記事でも詳しく解説されています。

App Service を構成する主要な要素とそれぞれの役割

App Service Plan の選び方

App Service Plan には、複数の SKU (≒スペック) があります。

App Service の料金 | Microsoft Azure

上記ページにも記載がありますが、それぞれの SKU によって

  • 使える機能
  • 計算リソースのスペック
  • 費用

が異なります。

つまり、これらの条件を加味した上で使用すべき App Service Plan の SKU を選定する必要があります。

必要な機能が使えるかどうか

まず第一に、アプリに必要な機能が使用できる SKU を選択する必要があります。

例えば、 Free の SKU では費用はかかりませんが、カスタムドメイン(アプリに対してユーザー独自のドメインを割り当てる機能)が利用できないなどの制約があります。

App Service ドメインを使用するには、アプリの App Service プランが Free (F1) ではなく有料レベルである必要があります。 

カスタム ドメインを購入する – Azure App Service | Microsoft Learn

スペックが要件を満たすかどうか

次に、稼働させるアプリが求める要件を満たす SKU を選定する必要があります。

例えば、レスポンスタイムが 500ms 以内である必要があるアプリを App Service にて稼働させた際、 1000ms のレスポンスタイムとなっている場合には、App Service Plan の SKU をアップグレードする、またはアプリの内部処理やアーキテクチャを見直すなどの対応が必要になります。

また、SKU のグレードによってスケールアウト出来る最大インスタンス数が異なるため、スケールアウトの制限にも注意が必要です。

費用が予算内かどうか

使用する App Service Plan の SKU が定まったら、最後に費用が予算内に収まるかどうかを Azure 料金計算ツールを使用して確認します。

料金計算ツール | Microsoft Azure

App Service Plan の料金と、その他にもストレージアカウントや App Service ドメインなど別のサービスを利用する場合は、その料金も加味して確認する必要があります。

まとめ

  • Azure App Service はインフラやミドルウェアの保守管理を Azure 側に任せることができ、アプリの開発に集中できる PaaS サービス
  • 使用可能なプログラミング言語やミドルウェアに制約はあるものの、コンテナイメージをホストする形でアプリの利用も可能になっている
  • 料金体系としては App Service Plan の使用時間に基づく従量課金
  • App Service Plan の SKU によって、使用可能な機能・スペック・費用が異なるため、要件に照らし合わせて適切に選定することが重要

弊社のご紹介

弊社ではAzure構築・アドバイザリーサービスを提供しております。

マイクロソフト出身、 Azure 認定資格を保持するエンジニアが Azure に関するアドバイスや、環境構築などのご支援をいたします。

また、マイクロソフトのAzureサポートとのやり取りも弊社にお任せいただけます。
サポート担当とのやり取りは、慣れていない場合適切な情報を引き出すことができず、連絡の往復が続き問題解決までに時間がかかることが多いです。

弊社のアドバイザリーサービスでは、弊社で回答できる部分は迅速に回答し、Azure内部の調査が必要な場合などはAzureサポートと連携して問題解決にあたることができます。

Azure をより活用し、最適な構成を構築するご支援をいたしますので、ご検討の方はお気軽にお問い合わせください。

「App Service」に関連する記事