Azure で VM を作成、再起動、またはサイズ変更するときの割り当てエラーのトラブルシューティング

仮想マシン (VM) を作成するとき、停止した (割り当て解除した) VM を再起動するとき、または VM のサイズを変更するとき、Microsoft Azure はコンピューティング リソースをサブスクリプションに割り当てます。 マイクロソフトでは、お客様の要求を満たすために使用可能なすべての VM の種類が常に存在するように、追加のインフラストラクチャと機能に継続的に投資しています。 しかし、特定のリージョンでは Azure サービスの需要がかつてないほど増加しているため、リソース割り当てが失敗する場合があります。 この問題は、VM が次のエラー コードとメッセージを表示しているときに、あるリージョンで VM を作成または開始しようとした場合に発生することがあります。

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

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

注意

仮想マシン スケール セット (VMSS) のトラブルシューティングを行う場合、このプロセスは標準 VM と同じです。 この問題を解決するには、この記事の指示に従ってください。

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

この記事では、いくつかの一般的な割り当てエラーの原因を説明し、可能な対処方法を提案します。

この記事で Azure の問題に対処できない場合は、 MSDN と Stack Overflow の Azure フォーラムを参照してください。 問題をこれらのフォーラムまたは Twitter の @AzureSupport に投稿できます。 また、Azure サポート サイトの [サポートの要求] を選択して、Azure サポート要求を提出することもできます。

希望するリージョンで希望する種類の VM が使用可能になるまで、デプロイの問題が発生しているお客様には、一時的な回避策として次の表のガイダンスを検討することをお勧めします。

発生しているケースに最もよく一致するシナリオを特定し、対応する推奨回避策を使用して割り当て要求を再試行して、割り当ての成功の可能性を高めます。 または、後でいつでも再試行することができます。 これは、要求を処理するクラスター、リージョン、またはゾーンで十分なリソースが解放される可能性があるためです。

VM のサイズの変更、または既存の可用性セットへの VM の追加

原因

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

回避策

VM を別の可用性セットに含めることができる場合は、VM を (同じリージョン内の) 別の可用性セットに作成します。 この新しい VM は、同じ仮想ネットワークに追加できます。

同じ可用性セット内のすべての VM を停止 (割り当て解除) し、すべての該当する VM をまとめて再起動します。 停止するには、次の手順を実行します。リソース グループ > [対象とするリソース グループ] > リソース > [対象とする可用性セット] > 仮想マシン > [対象とする仮想マシン] > 停止の順にクリックします。 すべての VM が停止したら、ホーム > 仮想マシン に移動し、可用性セット フィルタを追加し、可用性セットでグループ化 を選択します。 該当するすべての VM を選択し、[スタート] をクリックします。 この手順により、新しい割り当ての試行が実行され、十分な容量を持つ新しいクラスターを選択できるようになります。

部分的に停止 (割り当て解除) されていた VM の再起動

原因

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

回避策

同じ可用性セット内のすべての VM を停止 (割り当て解除) し、すべての該当する VM をまとめて再起動します。 停止するには、次の手順を実行します。リソース グループ > [対象とするリソース グループ] > リソース > [対象とする可用性セット] > 仮想マシン > [対象とする仮想マシン] > 停止の順にクリックします。 すべての VM が停止したら、ホーム > 仮想マシン に移動し、可用性セット フィルタを追加し、可用性セットでグループ化 を選択します。 該当するすべての VM を選択し、[スタート] をクリックします。 こうすることで、新しい割り当ての試行が実行され、十分な容量を持つ新しいクラスターを選択できるようになります。

完全に停止 (割り当て解除) されていた VM の再起動

原因

完全割り当て解除とは、可用性セット内のすべての VM を停止 (割り当て解除) したことを意味します。 これらの VM を再起動するための割り当て要求は、リージョンまたはゾーン内の目的のサイズをサポートしているすべてのクラスターを対象とします。 この記事の提案に従って割り当て要求を変更し、要求を再試行して、割り当ての成功の可能性を向上させてください。

回避策

Dv1、DSv1、Av1、D15v2、DS15v2 などの以前の VM シリーズまたはサイズを使用している場合は、新しいバージョンへの移行を検討してください。 特定の VM サイズに関する以下の推奨事項をご覧ください。 別の VM サイズを使用する選択肢がない場合は、同じ地域内の別のリージョンにデプロイしてみてください。 各リージョンで利用できる VM サイズについて詳しくは、https://aka.ms/azure-regions をご覧ください

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

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

以前の VM サイズ (Av1、Dv1、DSv1、D15v2、DS15v2 など) での割り当ての失敗

マイクロソフトでは、Azure インフラストラクチャを展開するときに、最新の種類の仮想マシンをサポートするように設計された新しい世代のハードウェアをデプロイします。 一部の旧シリーズの VM は、最新世代のインフラストラクチャで稼働しません。 このため、これらのレガシ SKU で割り当ての失敗が発生することがあります。 この問題を回避するために、レガシ シリーズの仮想マシンを使用しているお客様には、次の推奨事項に従って、同等の新しい VM への移行を検討することをお勧めします。これらの VM は最新のハードウェア用に最適化されており、より優れた価格設定とパフォーマンスを利用できます。

レガシ VM シリーズ/サイズ 推奨される新しい VM シリーズ/サイズ 詳細情報
Av1 シリーズ Av2 シリーズ https://azure.microsoft.com/blog/new-av2-series-vm-sizes/
Dv1 または DSv1 シリーズ (D1 から D5) Dv3 または DSv3 シリーズ https://azure.microsoft.com/blog/introducing-the-new-dv3-and-ev3-vm-sizes/
Dv1 または DSv1 シリーズ (D11 から D14) Ev3 または ESv3 シリーズ
D15v2 または DS15v2 より大きい VM サイズを利用するために Resource Manager デプロイ モデルを使用している場合は、D16v3/DS16v3 または D32v3/DS32v3 への移行を検討します。 これらは、最新の世代のハードウェア上で稼働するように設計されています。 VM インスタンスが単一の顧客に専用のハードウェアに分離されるように Resource Manager デプロイ モデルを使用している場合は、最新世代のハードウェア上で稼働するように設計された、新しい分離 VM サイズ (E64i_v3 または E64is_v3) への移行を検討してください。 https://azure.microsoft.com/blog/new-isolated-vm-sizes-now-available/

大規模なデプロイ (500 個を超えるコア) での割り当ての失敗

要求された VM サイズのインスタンスの数を減らして、デプロイ操作を再試行します。 さらに、より大規模なデプロイメントの場合は、複数の配置グループを持つ Azure 仮想マシン スケール セットを評価することをお勧めします。 要求または定義済みのスケジュールに応じて VM インスタンスの数を自動的に増減でき、デプロイを複数のクラスターに分散できるため割り当てが成功する可能性が高くなります。複数配置のグループとして展開した場合、展開を複数のクラスターに分散できるからです。 大規模な仮想マシンのスケール セットでの作業や、既存のスケール セットを複数の配置グループにまたがるように変換する方法について詳しく説明します。 スケール セットを単一の配置グループのサポートから複数の配置グループのサポートに変更できますが、逆方向の変換を行うことはできません。

背景情報

割り当てのしくみ

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

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

割り当て要求がクラスターに固定されている場合、利用可能なリソース プールが小さくなるため、空きリソースを見つけられない可能性が高くなります。 さらに、割り当て要求がクラスターに固定されていて、そのクラスターでは要求されたリソースの種類がサポートされていない場合、クラスターに空きリソースがあっても、要求は失敗します。 次の図 3 は、唯一の候補であるクラスターに空きリソースがないため、固定された割り当てがエラーになる場合を示しています。 図 4 は、唯一の候補であるクラスターに空きリソースがあるものの、要求された VM サイズをサポートしていないため、固定された割り当てがエラーになる場合を示しています。

図 3 は、固定されたクラスターで割り当てがエラーになったことを示しています。使用可能な空きリソースはありません。図 4 は、固定されたクラスターで割り当てがエラーになったことを示しています。サイズはサポートされていません。