Azure APIの制限とスロットリングの概要

Azure Resource Managerは、以下のレベルで管理APIリクエストをスロットリングします:

Azure Virtual Desktopと Nerdio Manager

API制限は、リクエストを行うセキュリティプリンシパル(ユーザーまたはアプリケーション)およびサブスクリプションIDに適用されます。一部のVM API制限は、特定のAzureリージョンに適用されます。そのため、サブスクリプション、リージョン、セキュリティプリンシパルが増えると、全体のAPI制限も上がります。

API制限について詳しく知るには、以下のMicrosoftリソースを参照してください:

  • エンタープライズ向けAzure Virtual Desktop - 考慮事項と制限

  • Azure Resource Manager APIスロットリング - サブスクリプションおよびテナント制限

  • Azureサブスクリプションおよびサービス制限 - API管理制限

Nerdio Manager

通常の運用時に、 Nerdio Manager

  • インタラクティブなUIの使用Nerdio Manager

  • 自動スケール:オートスケーリングが有効な場合、 Nerdio Manager

  • 停止したVMの自動割り当て解除:ユーザーがデスクトップでWindowsをシャットダウンすると、VMは停止状態ですが、割り当て解除されていない状態になります。これは、VMにアクセスできない場合でも、コンピュートコストのメーターが実行され続けていることを意味します。Nerdio Managerは、そのようなホストを自動的に検出し、コストを節約するために割り当て解除します。VM割り当て解除サービスは、バックグラウンドで10分ごと(デフォルト)に実行され、割り当て解除するVMをスキャンします。

  • 指標収集:各ホストプールの自動スケール操作中、 Nerdio Manager

  • スケジュールされたタスク: Nerdio Managerのほとんどのタスクは、対話的ではなく、スケジュールに沿って実行するよう設定できます。例えば、ホストプールの再イメージ化は、真夜中に実行するよう設定できます。VMの再イメージ化中、 はその間にAPIコールを多く使用します。

  • その他その他: 次のアクションは少量のAPIコールを消費します:

    • Azure FilesおよびAzure NetApp Filesの自動スケーリング

    • メール通知

API使用の最適化に関する推奨事項

ヒント

ヒント: AVD環境に500以上のセッションホストVMがある場合、API使用の最適化が重要な話題となります。さらに、AVD展開が数千台のVMに及ぶ場合、Azure環境をスケールに適した設計にすることが重要です。

  • 複数のAzureサブスクリプションを使用する

    • もし展開されているVMが2500台を超える場合、各サブスクリプションで最大2500台までを収容できるよう、展開を複数のAzureサブスクリプションに分けてください。

    • ハブ・スポークアーキテクチャを使用し、仮想ネットワークピアリングを通じて接続します。

    • VMがデプロイされているサブスクリプション内にFSLogixストレージを作成し、仮想ネットワークピアリングリンクを経由する過剰なネットワークトラフィックを避けます。

    • 単一のホストプールが複数のサブスクリプションにまたがることを避けてください(2つのサブスクリプションに同じホストプール内のVMが存在する場合)。

    • Nerdio Manager

  • 異なるAzureリージョンを使用してください。

    • Azure APIのVM操作に関する制限はリージョンごとに異なります。リージョンが多いほど、API制限も高くなります。

    • 1つのサブスクリプションで2500台以上のVMを使用する場合は、異なるリージョンにVMを展開してください。

    • 組み込みのActive/ActiveホストプールDRを使用して、VMを2つのサブスクリプションに分散してください。詳細については、ホストプールの災害復旧を参照してください。

  • SQL DBサイズの増加:詳細については、大規模展開のための Nerdio Manager のスケールアップを参照してください。

  • UI API最適化の適用:詳細については、大規模展開のための Nerdio Manager のスケールアップを参照してください。

  • App Service プランサイズの増加:詳細については、大規模展開のための Nerdio Manager のスケールアップを参照してください。

  • VMデアロケーターサービスの調整:VMデアロケーターサービスによるAPIコールの数を減らすため、次のいずれかのオプションを選択します。

    • ユーザーがWindowsをシャットダウンしても問題ない場合(例:ローカル管理者権限がない場合)、VMデアロケーターを全体的に無効にしてください。App Service 設定VmDeallocator:EnabledFalseに設定してください。詳細については、高度な App Service 構成を参照してください。

    • VMデアロケーターサービスが実行される頻度を減らしてください。App Service 設定VmDeallocator:RepeatIntervalInMinutes60または240分に設定してください(既定は10分です)。これにより、VMデアロケーターは実行頻度が下がり、API呼び出しの回数も減少します。詳細については、高度な App Service 構成を参照してください。

    • 一部のホストプールでのみ利用する場合は、必要なホストプールはそのままにして、不要なホストプールでは VMデアロケーターを無効にしてください。 Nerdio Managerホストプール > プロパティ > VM デプロイメント に移動し、電源オフだが割り当て解除されていない VM の「割り当て解除」のチェックを外してください。

  • リソースグループをホストプールに合わせる:複数のリソースグループにVMが含まれるホストプールを作成しないようにしてください。最適な API 利用のため、リソースグループとホストプールは1対1に合わせるようにしてください。

  • 自動スケール間隔を調整する:既定では、自動スケールプロセスは各ホストプールごとに5分ごとに実行されます。自動スケールバックグラウンドサービスの実行頻度を減らしてください。App Service 設定のAutoScale:RepeatIntervalInMinutes10または15分に設定してください。詳細については、高度な App Service 構成を参照してください。

  • 自動スケールの同時実行数を調整する:既定では、10個のホストプールが同時に自動スケールによって処理されます。AutoScale:MaxAutoScaleProcesses App Service 設定を調整してください。詳細については、高度な App Service 構成を参照してください。

  • 新しいVM作成の同時実行数を調整する:既定では、新しいVMがホストプールに追加される際、同時実行ジョブの最大値は100です。忙しいAzureサブスクリプションでは、これが他のバックグラウンドタスクに負担をかける可能性があります。VM作成プロセス中に API を過剰に消費しないように、Provision:MaxAddNewVMJobsCount App Service 設定を25または50に調整してください。詳細については、高度な App Service 構成を参照してください。

  • 再イメージ時のバッチサイズを考慮する:ホストプールを再イメージ化する際に、同時に処理するホストの数を指定できます。再イメージ化のウィンドウ中に実行されている可能性のあるすべてのバックグラウンドタスクを考慮し、それに応じてバッチサイズを設定してください。

  • 自動スケールおよび新しいVMプロビジョニングの「再起動する」試行回数を調整する:自動スケールまたはVM作成操作中に Nerdio Manager がAzureエラーに遭遇した場合、ジョブは一時停止し、数分後に再試行されます。既定の再試行回数は2です。API上限に達して API スロットリングが発生する大規模な環境では、再試行回数を4または5に増やすことを検討してください。App Service 設定のAutoScale:RestartAttemptsおよびProvision:MaxRestartAttemptsを調整してください。詳細については、高度な App Service 構成を参照してください。

この記事は役に立ちましたか?

0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください

コメント (0件のコメント)

サインインしてコメントを残してください。