Azure App Service のクォータとアラート
Azure App Service には、Azure portal の Web アプリ、モバイル、および API アプリに対する組み込みの監視機能が用意されています。
Azure portal では、アプリや App Service プランの "クォータ" と "メトリック" を確認したり、"アラート" および "自動スケーリング" ルール ベースのメトリックを設定したりすることができます。
クォータを理解する
App Service にホストされているアプリは、使用できるリソースに一定の制限があります。 この制限は、アプリに関連付けられている App Service プランによって定義されます。
Note
App Service の Free および Shared (プレビュー) サービス プランは、他の App Service アプリと同じ Azure 仮想マシンで稼働する基本レベルです。 一部のアプリは他のお客様に属する場合もあります。 これらのレベルは、開発とテストのみを目的としています。
アプリが Free プランまたは Shared プランでホストされている場合、アプリで使用できるリソースの制限はクォータによって定義されます。
アプリが Basic プラン、Standard プラン、Premium プランでホストされている場合、アプリで使用できるリソースの制限は、App Service プランのサイズ (S、M、L) とインスタンス数 (1、2、3 など) によって設定されます。
Free アプリまたは Shared アプリのクォータは、次のようになります。
Quota | 説明 |
---|---|
CPU (ショート) | このアプリが 5 分間に使用できる CPU の量。 このクォータは、5 分ごとにリセットされます。 |
CPU (1 日) | このアプリが 1 日に使用できる CPU の総量。 このクォータは、24 時間ごとに (UTC の午前 0 時に) リセットされます。 |
[メモリ] | このアプリが使用できるメモリの総量。 |
帯域幅 | このアプリが 1 日に使用できる送信帯域幅の総量。 このクォータは、24 時間ごとに (UTC の午前 0 時に) リセットされます。 |
ファイルシステム | 使用可能なストレージの総量。 |
Basic、Standard、Premium でホストされているアプリに適用できるクォータは、ファイルシステムのみです。
さまざまな App Service SKU で利用できる特定のクォータ、制限、機能について詳しくは、Azure サブスクリプション サービスの制限に関するページをご覧ください。
クォータの適用
アプリが CPU (ショート) 、CPU (1 日) 、帯域幅のクォータを超過すると、クォータがリセットされるまでアプリは停止されます。 この期間中は、すべての受信要求の結果が HTTP 403 エラーになります。
アプリのメモリ クォータを超えた場合は、アプリが一時的に停止されます。
ファイルシステム クォータを超えた場合は、ログへの書き込みも含み、 すべての書き込み操作が失敗することになります。
クォータを引き上げたりアプリから削除したりするには、App Service プランをアップグレードしてください。
メトリックを理解する
重要
平均応答時間は、メトリック集計との混同を避けるために非推奨です。 代わりに応答時間を使用してください。
Note
アプリのメトリックには、そのアプリの SCM サイト (Kudu) に対する要求が含まれます。 これには、Kudu を使用してサイトの logstream を表示する要求が含まれます。 logstream 要求は数分間にわたる可能性があり、要求時間メトリックに影響を与えます。 これらのメトリックを自動スケーリング ロジックで使用する場合、ユーザーはこの関係に注意する必要があります。
Http サーバー エラーは、バックエンド サービス (アプリをホストするワーカー) に到達する要求のみを記録します。 FrontEnd で要求が失敗した場合、要求は Http サーバー エラーとして記録されません。 正常性チェック機能/Application Insights 可用性テストは、監視の外部で使用できます。
メトリックを利用すると、アプリまたは App Service プランの動作に関する情報が得られます。
アプリまたは App Service プランで使用可能なメトリックの一覧については、「Microsoft.Web でサポートされるメトリック」を参照してください。
Note
App Service プランのメトリックは、Basic、Standard、Premium、Isolated の各レベルのプランでのみ使用できます。
CPU 時間と CPU の割合
CPU の使用状況を反映するメトリックには、次の 2 つがあります。
CPU 時間:Free プランまたは Shared プランでホストされているアプリで役に立ちます。これらのプランのクォータの 1 つが、アプリによって使用される CPU 時間 (分数) で定義されているためです。
CPU の割合:Basic、Standard、および Premium プランでホストされるアプリで使用します。これらはスケール アウトが可能だからです。CPU 使用率は、すべてのインスタンスにわたる使用率の有効な指標になります。
メトリックの粒度と保持ポリシー
アプリと App Service プランのメトリックは、サービスによってログに記録され、集計され、これらの規則に従って保持されます。
Azure portal でのクォータとメトリックの監視
アプリに影響するさまざまなクォータとメトリックの状態を確認するには、Azure portal にアクセスします。
クォータを検索するには、 [設定]>[クォータ] を選択します。 グラフでは、次の内容を確認できます。
- クォータ名。
- リセットの間隔。
- 現在の上限。
- 現在の値。
リソースの [概要] ページから直接メトリックにアクセスできます。 ここには、一部のアプリ メトリックを表すグラフが表示されます。
これらのグラフのいずれかをクリックするとメトリック ビューが表示され、そこでカスタム グラフの作成や別のメトリックへのクエリ実行などのさまざまな操作を実行できます。
メトリックについて詳しくは、「サービス メトリックの監視」をご覧ください。
アラートと自動スケーリング
アプリまたは App Service プランのメトリックは、アラートに関連付けることができます。 詳細については、「アラート」を参照してください。
Basic 以上の App Service プランでホストされている App Service アプリでは自動スケーリングがサポートされます。 自動スケーリングでは、App Service プランのメトリックを監視するルールを構成することができます。 ルールによって、必要に応じて追加リソースを提供するインスタンス数を増減できます。 また、アプリがオーバー プロビジョニングされたときのコスト削減にも役立ちます。
自動スケーリングについて詳しくは、スケールの方法に関する記事と Azure Monitor の自動スケーリングのベスト プラクティスに関する記事をご覧ください。