次の方法で共有


Azure で仮想マシン スケール セットを作成、再起動、サイズ変更するときの、AllocationFailed または ZonalAllocationFailed エラーを修正します

警告

Microsoft Azure 仮想マシン スケール セットが Azure Service Fabric クラスターの一部である場合は、このトラブルシューティング ガイダンスに従しないでください。 このガイダンスにより、このシナリオではデータの損失と、元に戻せないクラスターの損傷が発生する可能性があります。 詳細については、「 Service Fabric クラスターで大規模な仮想マシン スケール セットを使用できますか?」を参照してください。

この記事では、次に関する情報を取得します。

  • Microsoft Azure 仮想マシン スケール セットの AllocationFailed または ZonalAllocationFailed エラー。
  • 割り当てエラーを回避する方法。
  • 割り当てエラーの原因。
  • 割り当てエラーが発生した場合のトラブルシューティング方法。

標準仮想マシン (VM) の割り当てエラーをトラブルシューティングするには、「 Azure で VM を作成、再起動、またはサイズ変更するときの割り当てエラーのトラブルシューティングを参照してください。

症状

Azure サービスの需要が高いため、特定のリージョンで VM インスタンスを作成または開始しようとすると、割り当てエラーが発生する可能性があります。 Azure では、次の場合に常にコンピューティング リソースをサブスクリプションに割り当てようとします。

  • 仮想マシン スケール セットを作成します。
  • 停止 (割り当て解除) スケール セット VM インスタンスを再起動します。
  • スケール セットのサイズを変更します。

次のエラーの詳細は、割り当てエラー メッセージの例です。

エラー コード: AllocationFailed または ZonalAllocationFailed

エラー メッセージ 1: 割り当てに失敗しました。 このリージョンには、要求された VM サイズに対して十分な容量がありません。 https://aka.ms/allocation-guidanceでの割り当てが成功する可能性の向上について詳しくは、こちらをご覧ください。

エラー メッセージ 2: 割り当てに失敗しました。 条件が厳しすぎるため、次の制約を含んだ VM を割り当てることができません。 いくつかの制約を削除してから、もう一度やり直してください。 適用される制約は次のとおりです。

  • 可用性ゾーン
  • VM サイズ

エラー メッセージ 3: 割り当てに失敗しました。 1 つの配置グループを含む仮想マシン スケール セットに新しい VM を追加する場合、または 1 つの配置グループを含む仮想マシン スケール セット内にある既存の VM の更新やサイズ変更を行う場合は、このような割り当てが単一クラスターにスコープされていること、およびクラスターの容量が不足している可能性があることにご注意ください。 https://aka.ms/allocation-guidanceでの割り当てが成功する可能性の向上について詳しくは、こちらをご覧ください。

割り当てエラーを回避する方法

割り当てエラーを回避するために、スケール セットにいくつかの構成設定を適用して、割り当て要求を最適化できます。

  • オーバープロビジョニング。 オーバープロビジョニングが有効になっている場合、スケール セットは実際には、要求したよりも多くの VM インスタンスを起動します。 要求された数の VM インスタンスが正常にプロビジョニングされると、追加の VM インスタンスが削除されます。 この方法により、プロビジョニングの成功率が向上し、デプロイ時間が短縮されます。 追加の VM インスタンスに対する課金は行われず、クォータ制限にはカウントされません。 オーバープロビジョニングを有効にするには:

    1. Azure ポータルで仮想マシン スケール セット検索して選択

    2. スケール セットの名前を選択します。

    3. メニュー ウィンドウで、 Configuration を選択します。

    4. オーバープロビジョニング見出しで、[可能なオーバープロビジョニングOn に設定します。

    5. [保存] を選択します。

    オーバープロビジョニングの詳細についてはを参照してください。

  • 大規模なスケール セットを有効にする。 大規模な仮想マシン スケール セットは、100 を超える VM インスタンスにスケーリングできるスケール セットとして定義されます。 この機能は、スケール セット プロパティ (singlePlacementGroup=false) によって設定されます。 大規模なスケール セットを特別なものにするのは、VM インスタンスの数ではなく、それに含まれる配置グループの数です。 配置グループは、独自の障害ドメインとアップグレード ドメインを持つ Azure 可用性セットに似ています。 singlePlacementGroupfalse に設定すると、複数の配置グループとしてデプロイするときにデプロイを複数のクラスターに分散できるため、割り当てが成功する可能性が高くなります。 大規模な仮想マシン スケール セットを使用した 作業の詳細については複数の配置グループにまたがる既存のスケール セットを 変換する方法

    Note

    スケール セットを 1 つの配置グループのサポートから複数の配置グループのサポートに変更できますが、その逆の変換は実行できません。 singlePlacementGroupfalse に設定すると、元に戻すことはできません。

要求された VM サイズのインスタンスの数を減らして、デプロイ操作を再試行します。 大規模なデプロイの場合は、複数の配置グループ azure Virtual Machine Scale Sets を評価できます。 需要または定義されたスケジュールに応じて、VM インスタンスの数を自動的に増減させることができます。

その他のヒント

優先するリージョンで好みの VM の種類を使用できるようになるまで、デプロイの問題が発生しているお客様は、次のセクションのガイダンスを一時的なソリューションと見なす必要があります。

ケースに最も適したシナリオを特定します。 割り当てが成功する可能性を高めるために、対応する推奨ソリューションを使用して割り当て要求を再試行します。 または、後でいつでも再試行できます。 別の時点で要求に対応するために、クラスター、リージョン、またはゾーンで十分なリソースが解放されている可能性があります。

原因

リージョンまたはゾーンに、要求された SKU に対して十分なコア容量がありません。

原因 1: スケール セットのサイズ変更または既存のスケール セットへの VM インスタンスの追加

スケール セットのサイズを変更するか、既存のスケール セットに VM インスタンスを追加する要求がある場合は、既存のスケール セットをホストする元のクラスターで試す必要があります。 または、クラスターは要求された VM サイズをサポートしていますが、現在は十分な容量がない可能性があります。

原因 1 の解決策

次のいずれかの操作を試してください。

  • 適切な容量を持つ同じリージョン内の別のクラスターにスケール セットを移動しようとします。

    スケール セット内のすべての VM インスタンスを停止 (割り当て解除) し、必要に応じてスケール セットのサイズを変更します。 サイズ変更が完了したら、VM インスタンスを再起動します。 VM インスタンスを停止するには:

    1. Azure ポータルで仮想マシン スケール セット検索して選択

    2. スケール セットの名前を選択します。

    3. [停止] を選択します。

    すべての VM インスタンスを停止してサイズ変更を実行し、スケール セットを開始すると、新しい割り当て試行で、スケール セット全体をホストするのに十分な容量を持つクラスターを特定できます。

  • 複数の配置グループ間でスケール するようにスケール セットを構成します。

    大規模なスケール セットの作成を参照してください。

原因 2: 部分的に停止 (割り当て解除) された VM を再起動しました

部分的な割り当て解除とは、スケール セット内の 1 つ以上の VM インスタンスを停止 (割り当て解除) したことを意味しますが、すべてではありません。 VM インスタンスの割り当てを解除すると、関連付けられているリソースが解放されます。 部分的に割り当て解除された可用性セット内の VM インスタンスの再起動は、既存の可用性セットに VM インスタンスを追加するのと同じです。 そのため、容量が不足している可能性がある既存の可用性セットをホストする元のクラスターで割り当て要求を試す必要があります。

原因 2 の解決策

スケール セット内のすべての VM インスタンスを停止 (割り当て解除) してから、各 VM インスタンスを再起動します。 VM インスタンスを停止するには:

  1. Azure ポータルで仮想マシン スケール セット検索して選択

  2. スケール セットの名前を選択します。

  3. メニュー ウィンドウで Instances を選択します。

  4. 一覧表示されているすべての仮想マシン インスタンスを選択します。

  5. [停止] を選択します。

すべての VM が停止したら、最初の VM インスタンスを選択し、 Start を選択します。 Azure は新しい割り当てを試み、十分な容量を持つ新しいクラスターを選択します。

原因 3: 完全に停止された再起動された VM インスタンス

完全な割り当て解除とは、可用性セット内のすべての VM インスタンスを停止 (割り当て解除) したことを意味します。 これらの VM インスタンスを再起動する割り当て要求は、リージョンまたはゾーン内で必要なサイズをサポートするすべてのクラスターを対象とします。

原因 3 の解決策

この記事の提案を使用して、割り当て要求を変更します。 その後、要求を再試行して、割り当てが成功する可能性を高めます。

古い VM シリーズまたはサイズ (Dv1、DSv1、Av1、D15v2、DS15v2 など) を使用する場合は、新しいバージョンへの移行を検討してください。 特定の VM サイズに関する以下の推奨事項をご覧ください。 別の VM サイズを使用することを許可されていませんか? 次に、同じ地域内の別のリージョンにデプロイしてみてください。 各リージョンで利用できる VM のサイズの詳細については、https://aka.ms/azureregions を参照してください。

可用性ゾーンを使用する場合は、要求された VM サイズに使用可能な容量がある可能性があるリージョン内の別のゾーンを試してください。

割り当て要求が大きい (500 コアを超える) 場合は、次のセクションを参照して、要求をより小さなデプロイに分割します。

VM インスタンス デプロイしてみてくださいリージョン内の新しいクラスターに VM インスタンスを割り当てます。

以前の VM サイズでの割り当てエラー

一部の古いシリーズの VM サイズは、最新世代のインフラストラクチャでは実行されません。 お客様は、これらのレガシ SKU の割り当てエラーが発生することがあります。 レガシ シリーズの仮想マシンを使用しているお客様には、同等の新しい VM への移行を検討することをお勧めします。 新しい VM は最新のハードウェア用に最適化されており、より優れた価格とパフォーマンスを利用できます。

次の推奨事項を参照してください。

レガシ VM シリーズまたはサイズ 推奨される新しい VM シリーズまたはサイズ ブログ リンク
Av1 シリーズ Av2 シリーズ 新しい A_v2 シリーズ VM のサイズ
Dv1 または DSv1 シリーズ (D1 から D5) Dv3 または DSv3 シリーズ 新しい Dv3 および Ev3 VM サイズの概要
Dv1 または DSv1 シリーズ (D11 から D14) Ev3 または ESv3 シリーズ
D15v2 または DS15v2

Resource Manager デプロイ モデルを使用して、より大きな VM サイズを利用する場合は、D16v3/DS16v3 または D32v3/DS32v3 に移行することを検討してください。 これらのサイズは、最新世代のハードウェアで実行するように設計されています。

Resource Manager デプロイ モデルを使用して、VM インスタンスが 1 人の顧客専用のハードウェアに分離されていることを確認しますか? 次に、最新世代のハードウェアで実行するように設計された、新しい分離 VM サイズ (E64i_v3またはE64is_v3) に移行することを検討してください。

新しい分離 VM サイズが使用可能になりました

背景情報

割り当てのしくみ

Azure プラットフォームは、データセンター サーバーをクラスターにパーティション分割しようとします。 通常は、複数のクラスターで割り当て要求を試行します。 ただし、割り当て要求の特定の制約により、Azure プラットフォームは 1 つのクラスター ("クラスターに固定" ) でのみ要求を試行する可能性があります。 次の図 1 は、複数のクラスターで試行される通常の割り当てを示しています (クラスター 1 からクラスター n)。 図 2 では、クラスターが既存のクラウド サービス (CS_1) または可用性セットをホストしているため、割り当てはクラスター 2 に固定されています。

図 1: 複数のクラスターで試行された Azure プラットフォームの割り当て。図 2: 1 つのクラスターにピン留めされた Azure プラットフォームの割り当て。

割り当てエラーが発生する理由

割り当て要求がクラスターにピン留めされている場合は、使用可能なリソース プールが小さいため、空きリソースの検出に失敗する可能性が高くなります。 割り当て要求が、要求したリソースの種類をサポートしていないクラスターにピン留めされている場合はどうしますか? クラスターに空きリソースがある場合でも、要求は失敗します。 次の図 3 は、唯一の候補クラスターに空きリソースがないため、ピン留めされた割り当てが失敗する場所を示しています。 図 4 は、クラスターに空きリソースがある場合でも、唯一の候補クラスターが要求された VM サイズをサポートしていないため、ピン留めされた割り当てが失敗する場所を示しています。

割り当てエラーの図は、ピン留めされたクラスターです。図 3 は、空きリソースが利用できない場合を示しています。図 4 は、サイズがサポートされていないことを示しています。

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。