次の方法で共有


Compute の調整の制限

適用対象: ✔️ Linux VM ✔️ Windows VM ✔️ フレキシブル スケール セット ✔️ 均一スケール セット

Microsoft Compute には調整メカニズムが実装されており、サービスの全体的なパフォーマンスを強化し、顧客に一貫したエクスペリエンスを提供するのを支援します。 最大許容制限を超える API 要求は調整され、ユーザーには HTTP 429 エラーが表示されます。 すべての Compute 調整ポリシーが、リージョンごとに実装されます。

調整ポリシーのしくみ

Microsoft Compute には、1 分あたりのリージョンごとの API 要求数を、リソースごと、およびサブスクリプションごとに制限する調整ポリシーが実装されています。 API 要求数がこれらの制限を超えると、その要求は調整されます。 この制限のしくみを次に示します。

  • リソースあたりの制限 – API 要求数には、仮想マシン (VM) などのリソースごとに特定の制限があります。 たとえば、ユーザーがサブスクリプションに 10 個の VM を作成するとします。 そのユーザーは、各 VM に対して 1 分間に最大 12 回、更新要求を呼び出すことができます。 ユーザーがこの VM の制限を超えると、API 要求は調整されます。 この制限により、いくつかのリソースが、サブスクリプション レベルの制限を使用せずに、他のリソースを調整するようになります。

  • サブスクリプションの制限 – API 要求数には、リソースの制限のほか、サブスクリプション内のすべてのリソースに適用される包括的な制限があります。 この制限を超えると、API 要求はすべて、個々のリソースの制限に達したかどうかに関係なく調整されます。 たとえば、ユーザーのサブスクリプションに 200 個の VM があるとします。 ユーザーは VM ごとに最大 12 回、VM 更新要求を開始する権利がありますが、VM 更新 API 要求は 1 分あたり合計 1500 回に制限されます。 サブスクリプションに対する VM 更新 API 要求は、1500 回を超えると調整されます。

Microsoft Compute による調整制限の決定方法

各リソースとサブスクリプションの制限を決定するために、Microsoft Compute ではトークン バケット アルゴリズムが使用されます。このアルゴリズムでは、制限ごとバケットが作成され、各バケットに特定の数のトークンが保持されます。 バケット内のトークンの数は、その時間 (分) における調整制限を表します。

調整時間枠の開始時にリソースが作成されると、バケットはその "最大容量" まで入力されます。 ユーザーが開始した API 要求ごとに、1 つのトークンが使用されます。 トークン数が 0 に減ると、その後の API 要求が調整されます。 バケットには、リソースとサブスクリプションの "バケット リフィル レート" と呼ばれる一貫した速さで、毎分新しいトークンが補充されます。

たとえば、バケット リフィル レートが 1 分あたり 4 トークン、最大バケット容量が 12 トークンに規定されている "VM 更新 API の調整ポリシー" について考えてみましょう。 ユーザーは、次の表に従って、仮想マシン (VM) の VM 更新 API 要求を呼び出します。 最初は、調整時間枠の開始時に 12 個のトークンがバケットに入力されます。 4 分後までに、ユーザーは 12 個すべてのトークンを使い、バケットは空になります。 その後 5 分後までに、バケット リフィル レートに従って 4 つの新しいトークンがバケットに補充されます。 これにより、その 5 分後までの 1 分間に API 要求を 4 回行うことができますが、トークンが不足しているため、Microsoft Compute により 1 回の API 要求が調整されます。

(分) 1st 2 番目 3 つ目 4 番目 5 6 番目
開始時のトークン数 (A) 12 12 8 12 4 4
1 分あたりの要求数 (B) 0 8 0 13 5 0
調整された要求数 (C) 0 0 0 1 1 0
終了時の残りのトークン数
D = Max(A-B, 0)
12 4 8 0 0 4

サブスクリプション レベルでの調整制限も、同様のプロセスに従って決定されます。 次のセクションでは、Virtual MachinesVirtual Machine Scale Sets、および Virtual Machine Scale Sets VM の調整制限を決定するときに使用される、バケット リフィル レートと最大バケット容量について詳しく説明します。

Virtual Machines の調整制限

Virtual Machines の API 要求は、7 つの個別のポリシーに分類されます。 各ポリシーには、そのポリシーに基づいて API 要求がどのくらい多くのリソースを消費するかに応じて独自の制限があります。 次の表は、これらのポリシー、それに対応する REST API、およびそれぞれの調整制限の包括的なリストです。

ポリシー カテゴリ REST API リソース レベル リソース レベル サブスクリプション レベル サブスクリプション レベル
バケット リフィル レート (1 分あたり) 最大バケット容量
(1 分あたり)
バケット リフィル レート
(1 分あたり)
最大バケット容量
(1 分あたり)
VM 配置
(新しい VM の作成)
作成 4 12 500 1,500
VM 更新
(既存の VM の更新)
更新プログラム
Reapply Restart
電源オフ
Start
一般化
マネージド ディスクへの変換
Redeploy
メンテナンス実行
[キャプチャ](event-hubs-capture-overview.md)
実行コマンド
Create または Update
拡張機能 - 更新
拡張機能 - 削除
再イメージ化
更新プログラム
実行コマンド - 更新
実行コマンド - 削除
実行コマンド - 作成または更新
4 12 500 1,500
VM を削除する
(VM の削除)
削除
削除のシミュレート
割り当て解除
4 12 500 1,500
低コストの VM 取得
(単一 VM に関する情報の取得)
Get
インスタンス ビュー
拡張機能 - 取得
使用可能なサイズの一覧表示
ブート診断データの取得
実行コマンド - 仮想マシンで取得
実行コマンド - 仮想マシンで一覧表示
12 36 8,000 24,000
高コストの VM 取得1
(複数 VM に関する情報の取得)
一覧取得
すべてを一覧表示
場所で一覧表示
NA NA 300 900
GET 操作
(非同期 VM 操作に関する情報の取得)
非同期操作の状態 15 45 5,000 15,000
VM ゲスト パッチの操作
(ゲスト パッチの評価とインストール)
パッチの評価
パッチのインストール
2 6 200 600

1 サブスクリプション レベルのポリシーのみが適用されます。

Virtual Machine Scale Sets の調整制限

Virtual Machine Scale Set (Uniform と Flex) の API 要求は、5 つの個別のポリシーに分類されます。 各ポリシーには、そのポリシーに基づいて API 要求がどのくらい多くのリソースを消費するかに応じて独自の制限があります。 これらのポリシーは、Flex と Uniform の両方のオーケストレーション モードに適用されます。 次の表は、これらのポリシー、それに対応する REST API、およびそれぞれの調整制限の包括的なリストです。

ポリシー カテゴリ REST API リソース レベル リソース レベル サブスクリプション レベル サブスクリプション レベル
バケット リフィル レート
(1 分あたり)
最大バケット容量
(1 分あたり)
バケット リフィル レート (1 分あたり) 最大バケット容量
(1 分あたり)
PUT
(新しいスケール セットの作成)
作成 4 12 125 375
更新する
(既存のスケールセットの更新)
更新プログラム
起動2
再起動2
再デプロイ2
メンテナンスの実行2
再イメージ化2
すべて再イメージ化2
Create または Update
ローリング アップグレード - キャンセル
拡張機能 - 作成
拡張機能 - 更新
拡張機能 - 削除
強制的に回復 Service Fabric プラットフォーム更新ドメイン ウォーク
1 つの配置グループに変換
オーケストレーション サービスの状態の設定
4 12 500 1,500
削除
(スケール セットの削除)
削除
電源オフ2
割り当て解除
4 12 175 525
低コストの取得
(単一スケール セットに関する情報の取得)
Get
SKU の一覧表示
ローリング アップグレード - 最新の取得
OS アップグレードの履歴の取得
12 36 800 2,400
高コストの取得
(大量のリソース消費に関する情報の取得)
インスタンス ビュー取得
一覧表示2
すべてを一覧表示2
場所で一覧表示2
10 30 360 1,080

2 サブスクリプション レベルのポリシーのみが適用されます。

Virtual Machine Scale Sets 仮想マシンの調整制限

Virtual Machine Scale Set 仮想マシンの API 要求は、3 つの個別のポリシーに分類されます。 各ポリシーには、そのポリシーに基づいて API 要求がどのくらい多くのリソースを消費するかに応じて独自の制限があります。 次の表は、これらのポリシー、それに対応する REST API、およびそれぞれの調整制限の包括的なリストです。

ポリシー カテゴリ REST API リソース レベル リソース レベル サブスクリプション レベル サブスクリプション レベル
バケット リフィル レート
(1 分あたり)
最大バケット容量
(1 分あたり)
バケット リフィル レート
(1 分あたり)
最大バケット容量
(1 分あたり)
スケール セット VM の更新
(スケール セットにある既存の VM の更新)
Start
Restart
再イメージ化
すべて再イメージ化
更新プログラム
削除のシミュレート
拡張機能 - 作成または更新
実行コマンド - 作成または更新
実行コマンド - 更新
4 12 500 1,500
スケール セット VM の削除
(スケール セット VM の削除)
削除
PowerOff
割り当て解除
拡張機能 - 削除
実行コマンド - 削除
4 12 500 1,500
スケール セット VM の取得
(スケール セット VM に関する情報の取得)
Get
インスタンス ビューの取得
拡張機能 - 取得
実行コマンド - 取得
ブート診断データの取得
12 36 2,000 6,000

トラブルシューティングのガイドライン

Compute の調整が原因でユーザー側で問題がまだ発生している場合は、Azure での調整エラーのトラブルシューティング - Virtual Machinesに関するページを参照してください。 ここには、調整に関する問題をトラブルシューティングする方法の詳細、および調整を回避するためのベスト プラクティスが記載されています。

よく寄せられる質問

ユーザー側で行う必要のあるアクションはありますか?

ユーザー側では、構成またはワークロードを何も変更する必要はありません。 既存の API すべてが引き続きそのまま動作します。

調整ポリシーにはどのようなメリットがありますか?

調整ポリシーにはメリットがいくつかあります。

  • すべての Compute リソースの時間枠が 1 分に統一されています。 ユーザーは、調整されてから 1 分後に API 呼び出しを正常に起動できます。

  • リソース レベルで制限が定義されるため、サブスクリプションのすべての制限が、1 つのリソースで使い果たされることはありません。

  • Microsoft Compute には、制限を決定するための新しいアルゴリズム、トークン バケット アルゴリズムが導入されています。 このアルゴリズムにより、大量の API 要求を行っている間、追加のバッファーが顧客に提供されます。

調整の制限にまもなく達しようとしているとき、顧客にはアラートが表示されますか?

すべての応答の一部として、Microsoft Compute は x-ms-ratelimit-remaining-resource を返します。これを、ポリシーに対する調整制限を決定するために使用できます。 適用される調整ポリシーの一覧は、呼び出しレート情報ヘッダーへの応答として返されます。