M365Con 2027 – 無料オンラインカンファレンス · 11–22 Jan 2027 · 120 sessions→ m365con.net

ブログ · Mirko Peters

Azure App Service プランの仕組み: 価格レベルが機能とリソースをどう制限するか

By ·

Azure App Service プランと価格レベルが機能をどのように制限し、コンピューティング リソースを管理し、Web アプリや API のスケーリングにどう影響するかを解説します。

Automatically translated with AI from the original post. Read the English original

Cover: Azure App Service - Simply Explained

Azure App Service プランがクラウド リソース、価格、そして重要な機能の制限をどのように決めるかを確認しましょう。共有プランの容量不足、CPU クォータの誤解といったよくある落とし穴を避け、本番環境での予期しないダウンタイムや月々のクラウド費用の膨張を防ぎながら、Web アプリや API を効果的にスケールさせる方法を解説します。

重要なポイント

  • Azure App Service プランは、オペレーティング システム、リージョン、マシン サイズ、インスタンス数、価格レベルを設定するコンピューティング リソースのまとまりです。
  • 価格レベルは単純なサイズのアップグレードではなく機能の制限として働き、カスタム ドメイン、SSL 証明書、デプロイ スロット、自動スケールを特定の段階の背後にロックします。
  • 同じ App Service プラン内にデプロイされたすべてのアプリは、まったく同じ基盤のコンピューティング プールを共有し、同時にまとめてスケールします。
  • Free と Shared のレベルは 1 日の CPU 分数を厳しく制限し、「Always On」などの重要な機能がないため、基本的な試用にしか適していません。
  • 本番ワークロードには、専用マシン、カスタム ドメインのサポート、アプリケーションのアイドル タイムアウトからの保護を得るために、Basic 以上のレベルが必要です。

App Service プランの構造

Microsoft クラウドに Web アプリケーションや REST API のデプロイを始めるとき、最初に作成するオブジェクトが App Service プランです。多くの開発者は、単一の Web アプリのホスティングを購入しているだけだと誤解しがちです。実際には、プランこそが購入する中核の製品です。プランは仮想マシンの共有プールとして機能し、オペレーティング システム、コードを配置するリージョン、マシンの物理サイズ、アクティブなインスタンス数、価格レベルという 5 つの基本的な決定を同時に左右します。

1 つのプランに複数のアプリを配置できるため、すべてのアプリケーション、バックグラウンド ジョブ、診断ログ、デプロイ スロットは、まったく同じリソース プールを消費します。コンピューティングの分離は、個々のアプリ単位ではなく、厳密にプラン単位で行われます。3 つの異なるマイクロサービスや社内ポータルを 1 つのプランに配置した場合、1 つのアプリでトラフィックが急増すると、同じプランの他のアプリと共有している CPU とメモリを消費してしまいます。その結果、本番ワークロードでタイムアウトが発生しても、根本原因はコードのバグであることは少なく、多くの場合、知らないうちに App Service プランの容量が埋まっていることが原因です。

機能の制限としての価格レベル

クラウドを始めたばかりの人の多くは、Free と Shared から Basic、Standard、Premium、Isolated へと続く Azure App Service の価格の階段を、高速なマシンにお金を払うための単純なサイズの目安だと考えます。しかし Microsoft は、これらのレベルを主に機能の制限として扱っています。上位のレベルに移ることは、単にランダム アクセス メモリや処理能力を増やすだけではありません。プロフェッショナルに運用するためにアーキテクチャが必要とする機能を実際に解放するのです。

たとえば無料レベルでは、プランごとにアプリを1つしか実行できず、1日のCPU使用量は60分に制限され、メモリは1GBしか割り当てられません。さらに、カスタム ドメイン名は完全に使えません。アプリケーションは必ず既定の azurewebsites.net アドレスで公開されます。また、デプロイ スロット、自動スケーリング、そして重要な「常時接続」設定も、上位の価格レベルでしか使えません。「常時接続」は、アイドル状態のWebアプリが停止してコールド スタートが発生するのを防ぐ設定です。

無料と共有レベルの落とし穴を理解する

無料レベルと共有レベルは、本番環境ではなく、あくまで試用を目的に設計されています。1日のCPU時間が60分や240分あれば、プロトタイプには十分に思えるかもしれません。しかし、利用の多いWebページや、REST APIを頻繁に呼び出す積極的な Power Automate フローを使うと、数時間で上限に達してしまいます。さらに、これらの最下位レベルでは複数インスタンスへのスケール アウトに対応していません。そのため、同時アクセスが多くなると、すぐにスロットリングやリクエストの失敗が発生します。

専用コンピューティング レベルへのステップアップ

クライアントや社内チーム向けに堅牢なものを構築するなら、Basicレベルが機能面での最低ラインになります。Basicでは、専用の仮想マシン、カスタム ドメインの統合、マネージド TLS/SSL 証明書、そして「常時接続」の構成設定が利用できます。StandardやPremiumのレベルに進むと、ゼロダウンタイムのリリースを可能にするデプロイ スロットや、自動の水平スケーリング ルールなど、エンタープライズ向けの高度な機能が使えるようになります。

スケール アップとスケール アウトの違い

パフォーマンスやトラフィックの急増に対応するには、Azure App Service におけるスケール アップとスケール アウトの根本的な違いを理解する必要があります。この2つを混同することは、アーキテクチャの混乱や、クラウド料金の膨張につながる典型的な原因です。

スケール アップは垂直方向の拡張を意味します。App Service プランをより大きなマシン サイズや上位の価格レベルに移行し、処理能力と利用できるプラットフォーム機能を増やすことです。スケール アウトは水平方向の拡張を意味します。同一のエンドポイントの背後に、同じ構成の仮想マシン インスタンスを追加していき、受信した HTTP リクエストをより大きなプール全体に均等に分散させます。

Basicレベルでもインスタンス数を手動で調整できますが、CPU使用率やスケジュールに基づく自動スケーリングは Standard レベルから利用できます。追加するインスタンスは、それぞれがコードを実行する物理マシンになるため、毎月の支出に直接影響します。クラウド ワークロードの管理や適切な構成の選択についてさらに詳しく知りたい方は、ぜひ エピソード全編をお聴きください。専門家の知見と実践的なガイダンスが得られます。

まとめ

Azure App Service を使いこなすには、コードをデプロイする手軽さの裏にある、プランとレベルの経済性を理解することが欠かせません。プランがリソースの競合、利用できる機能、スケーリングの上限を決めることを理解すれば、予期しないコストを生むことなく、段階的に拡張できる堅牢なクラウド アーキテクチャを設計できます。社内ツール、モバイル バックエンド、Power Platform 向けの API のいずれをホストする場合でも、最初から適切なレベルを選ぶことで、後のリファクタリングにかかる数時間を節約できます。初心者がはまりやすい落とし穴の回避、デプロイ スロットの管理、Microsoft クラウド環境の最適化について詳しく知りたい方は、M365 FM Podcast のエピソード全編をお聴きください。

よくある質問

Azure App Service プランとは何ですか?

Azure App Service プランは、1つ以上の Web アプリや API が使用する物理的なコンピューティング リソースのセット、オペレーティング システム、リージョン、スケーリングの上限を定義します。クラウド デプロイのための課金およびリソースの境界として機能します。

機能が価格レベルによって制限されているのはなぜですか?

Microsoft は App Service のレベルを、お試し用の環境と企業の本番ワークロードを区別するように構成しています。カスタム ドメイン、デプロイ スロット、自動スケーリングといった機能には、有料レベルでしか利用できない専用のインフラストラクチャと管理の負荷が必要です。

複数のアプリで同じ App Service プランを共有できますか?

はい、1つの App Service プラン内に複数の Web アプリや API をホストできます。ただし、そのプラン内のすべてのアプリは基盤となる CPU とメモリを共有し、同時にまとめてスケールします。

スケール アップとスケール アウトの違いは何ですか?

スケールアップは、より高性能なマシンサイズや上位の価格レベルに移行して、処理能力と機能を高めることです。一方、スケールアウトは、同じアプリのインスタンスを追加して、より多くのトラフィックに対応することです。

Entities in this article

Azure App Service Azure App Service plan Custom domain in Microsoft 365 Microsoft Microservices

Related articles

RSS