7

Azure App Service の自動スケーリングでは、以下しか見つかりません。

Azure App Service で Web アプリをスケーリングする

これは、多かれ少なかれインスタンスへのスケーリングのみを可能にします。インスタンスを大きくしたり小さくしたりすることはできません。

スケジュールに従って、App Service インスタンスのサイズを小、中、大の間でスケジュールしたいと考えています。これを可能にする API はありますか?

ありがとうございます。

4

6 に答える 6

4

残念ながら、現時点では Azure App Service インスタンスのサイズ (つまり、App Service プランの価格レベル) をスケジュールに基づいてスケーリングする方法はありません。

現時点では、Azure App Service は水平方向のスケーリング (インスタンス数のスケーリング) のみをスケジュール ベースでサポートし、垂直方向のスケーリング (インスタンス サイズのスケーリング) はサポートしていません。

お役に立てれば!

于 2015-12-04T12:41:56.387 に答える
4

単純な解決策がないため、あなたが求めていることを実行するためのワンクリック デプロイを作成しました。

https://github.com/jraps20/jrap-AzureVerticalScaling

概要

私のアプローチでは、Azure Automation Runbook を使用します。ワンクリックのデプロイ方法により、数分で完全に稼働することができます。2 つの補完的な Runbook (ScaleAppServicePlansUp と ScaleAppServicePlansDown) が連携して、選択した App Service プランを保存、読み取り、変更します。これらの Runbook の主な対象は、非運用環境です。

残念ながら、コードが長すぎてこの回答に含めることはできません (はい、これはほとんどリンクのみの回答になります)。

疑似コード

スケールダウン

Iterate across all Resource Groups (or pass in specific one)
Iterate across all App Service Plans (or pass in specific one)
Iterate across all App Services (identify Tier-specific settings)

During iteration, the current App Service Plan Service Tier is stored in Azure Automation Variables (3 distinct variables for each App Service Plan)

Within each App Service Plan, each App Service is iterated to identify tier-specific settings. Some of these settings include: AlwaysOn, Use32BitWorkerProcess, and ClientCertEnabled. All current settings are stored in Azure Automation Variables.

All App Service Plans are then scaled down to the FREE tier.

拡大する

Iterate across all Resource Groups (or pass in specific one)
Iterate across all App Service Plans (or pass in specific one)
Iterate across all App Services (identify Tier-specific settings)

During iteration, the original App Service Plan Service Tier is retrieved from Azure Automation Variables (3 distinct variables for each App Service Plan)

Within each App Service Plan, each App Service is iterated and any previously stored tier-specific settings are retrieved.

All App Service Plans are then scaled up to their original tier.
All App Services with tier-specific settings are reapplied to their original values.

その他のリソース

免責事項

仕事を終えた後、私はSam Spoerlesテクニック に気づきました。彼のアプローチに対する私のアプローチの利点は次のとおりです。

  • ワンクリックで Azure にデプロイ
  • パラメータに基づく汎用または固有
  • AzureRm モジュールの代わりに、更新されたAz モジュールを使用します
  • オートメーション変数を介して、ストレージに依存して以前の状態を保持します
于 2019-07-12T12:55:09.550 に答える
1

これを行う簡単な方法はありません。

ただし、コードを記述したい場合は、Azure Automation で PowerShell API を使用して、この機能を自分で作成できます。

X 分ごとに API を使用してメトリクス (CPU など) をチェックし、CPU が Y よりも高い場合は、次に大きなインスタンスにスケールアップします。しきい値を下回っている場合は、スケールダウンします。

于 2015-12-07T22:30:20.770 に答える