Azure App Service の自動スケーリングでは、以下しか見つかりません。
Azure App Service で Web アプリをスケーリングする
これは、多かれ少なかれインスタンスへのスケーリングのみを可能にします。インスタンスを大きくしたり小さくしたりすることはできません。
スケジュールに従って、App Service インスタンスのサイズを小、中、大の間でスケジュールしたいと考えています。これを可能にする API はありますか?
ありがとうございます。
Azure App Service の自動スケーリングでは、以下しか見つかりません。
Azure App Service で Web アプリをスケーリングする
これは、多かれ少なかれインスタンスへのスケーリングのみを可能にします。インスタンスを大きくしたり小さくしたりすることはできません。
スケジュールに従って、App Service インスタンスのサイズを小、中、大の間でスケジュールしたいと考えています。これを可能にする API はありますか?
ありがとうございます。
残念ながら、現時点では Azure App Service インスタンスのサイズ (つまり、App Service プランの価格レベル) をスケジュールに基づいてスケーリングする方法はありません。
現時点では、Azure App Service は水平方向のスケーリング (インスタンス数のスケーリング) のみをスケジュール ベースでサポートし、垂直方向のスケーリング (インスタンス サイズのスケーリング) はサポートしていません。
お役に立てれば!
単純な解決策がないため、あなたが求めていることを実行するためのワンクリック デプロイを作成しました。
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 Automation で PowerShell API を使用して、この機能を自分で作成できます。
X 分ごとに API を使用してメトリクス (CPU など) をチェックし、CPU が Y よりも高い場合は、次に大きなインスタンスにスケールアップします。しきい値を下回っている場合は、スケールダウンします。