web-dev-qa-db-ja.com

Azure Webサービス、自動スケーリング、およびロードバランサー-自動スケーリングは負荷分散を自動的に処理しますか?

ここのソフトウェアエンジニアは、サーバーの管理経験は豊富ではありませんが、自動スケーリングがどのように機能するかを理解したいと考えています。

背景は次のとおりです。

Azureクラウドで実行されているステートレスアプリケーションがあります。このアプリケーションは、バックグラウンドでAzureSQLデータベースと通信します。データベース自体は、2つの異なるサーバーリージョン間で地理的に複製されます。

サーバーの負荷が80%を超えると、スケールアウトしてインスタンスを追加するように、自動スケールを設定しました。負荷が50%を下回ると、スケールダウンします。スケーリングは通常は発生しませんが、使用量のピーク時にはサーバーが自動スケーリングします。

これが私の質問です:

自動スケールをオンにすると、Azureはインスタンス間の負荷分散を自動的に処理しますか? Azureにもロードバランサー製品がいくつかあることは理解していますが、それらが必要かどうかを理解しようとしています。

ロードバランサーを明示的に設定しないと、インスタンスのスケーリングは無意味ですか?

2
Scuba Steve

Webアプリの単一インスタンスを実行している場合、実際に負荷分散するものは何もありません。したがって、特定のメトリックに基づいてポータルでスケーリングを設定するだけです。たとえば、X分間のCPU%> 80%の場合、Xインスタンスにスケールアップします。次に、CPUがX分間で80%未満の場合を示す別のルールを設定し、Xインスタンスにスケールダウンします。

2つのインスタンスをセットアップしてそれらの負荷を分散する場合は、インスタンスの上に負荷分散を追加する必要があります。これは簡単です。次に、そこから同じ監視ルールを設定することもできます。

https://docs.Microsoft.com/en-us/Azure/architecture/best-practices/auto-scaling

https://Azure.Microsoft.com/en-us/features/autoscale/

https://docs.Microsoft.com/en-us/Azure/monitoring-and-diagnostics/insights-autoscale-best-practices

2
Micah_MSFT