Azure Batch プールのノード サイズを選択するときは、Azure で使用可能なほぼすべての VM サイズを選択することができます。 Azure では、さまざまなワークロードに対応する Linux および Windows VM の幅広いサイズが提供されています。
サポートされている VM シリーズおよびサイズ
仮想マシン構成内のプール
仮想マシン構成の Batch プールでは、Azure で使用できるほぼすべての VM サイズがサポートされています。 リージョンでサポートされている VM サイズは、Batch Management API 使用して取得できます。 あるリージョンの Batch でサポートされている VM サイズの一覧は、次のいずれかのメソッドを使用して取得できます。
- PowerShell: Get-AzBatchSupportedVirtualMachineSku
- Azure CLI: az batch ___location list-skus
- Batch Management API: サポートされている仮想マシン SKU の一覧表示
たとえば、Azure CLI で次のコマンドを使用して、特定の Azure リージョンの SKU の一覧を取得できます。
az batch ___location list-skus --___location <azure-region>
ヒント
Batch サポート終了 (EOL) の日付が迫っている VM SKU/ファミリは避けてください。 このような日付は、ListSupportedVirtualMachineSkus
API、PowerShell、または Azure CLI で確認することができます。
詳細については、Batch プールの VM SKU の選択に関する Batch のベストプラクティス ガイドを参照してください。
第 2 世代 VM イメージの使用
FX や Mv2 など、一部の VM シリーズは第 2 世代の VM イメージでのみ使用できます。 第 2 世代 VM イメージは、あらゆる VM イメージと同様に、sku
構成の imageReference
プロパティを利用して指定されます。sku
文字列には、-g2
や -gen2
のようなサフィックスが与えられます。 第 2 世代 VM イメージを含め、Batch でサポートされている VM イメージの一覧を取得するには、"list supported images" API、PowerShell、Azure CLI を使用します。
サイズの考慮事項
アプリケーションの要件 - ノードで実行されるアプリケーションの特性と要件を考慮してください。 アプリケーションがマルチスレッドであるかどうかや、どのくらいのメモリが消費されるかという点が、最も適切でコスト効率の高いノード サイズを選ぶうえでのヒントになります。 マルチインスタンスの MPI ワークロードまたは CUDA アプリケーションについては、それぞれ特別な HPC または GPU 対応の VM サイズを検討してください。 詳細については、「Batch プールでの RDMA 対応または GPU 対応インスタンスの使用」を参照してください。
ノードあたりのタスク数 - ノードのサイズは、そこで一度に実行されるタスクが 1 つであるという想定で選択するのが一般的です。 しかしジョブの実行中に、コンピューティング ノードで複数のタスク (ひいては複数のアプリケーション インスタンス) が並列実行できるとメリットがあります。 そのような場合は、タスクを並列に実行するという需要の増大に対応するために、マルチコア ノード サイズを選ぶことが基本です。
さまざまなタスクの負荷水準 - プール内のすべてのノードは同じサイズです。 システム要件や負荷水準の異なる複数のアプリケーションを実行する場合は、プールを分けることをお勧めします。
利用可能なリージョン - Batch アカウントを作成したリージョンで、VM シリーズまたはサイズが利用できない場合があります。 特定のサイズが使用可能かどうかを確認するには、「リージョン別の利用可能な製品」をご覧ください。
クォータ - Batch アカウントのコア クォータにより、Batch プールに追加できる指定されたサイズのノードの数を制限できます。 必要に応じて、クォータの増量を要求できます。
サポートされている VM イメージ
次のいずれかの API を使用すると、Batch で現在サポートされている Windows および Linux の VM イメージの一覧 (各イメージのノード エージェント SKU ID を含む) が返されます。
- PowerShell: Get-AzBatchSupportedImage
- Azure CLI: az batch pool supported-images コマンドはサポートされているイメージを表示します。
- Batch Service API: サポートされているイメージの一覧表示
たとえば、Azure CLI で次のコマンドを使用して、サポートされている VM イメージの一覧を取得できます。
az batch pool supported-images list
Azure Batch チームは、verificationType
のverified
を持つ画像に対して、Batch サービスとの定期的な相互運用性検証テストを行います。
verified
指定は、考えられるすべてのアプリケーションまたは使用シナリオが検証されることを意味するわけではありませんが、タスクの実行、サポートされている仮想ファイルシステムのマウントなど、Batch API によって公開される機能は、リリース プロセスの一部として定期的にテストされます。
verificationType
の unverified
を持つイメージは、通常の検証テストを受けませんが、Azure Batch コンピューティング ノードでの起動と idle
コンピューティング ノードの状態への移行が最初に検証されています。
unverified
イメージのサポートは保証されません。
ヒント
Batch サポート終了 (EOL) の日付が迫っている画像を避けます。 このような日付は、ListSupportedImages
API、PowerShell、または Azure CLI で確認することができます。
詳細については、Batch プールの VM イメージの選択に関する Batch のベストプラクティス ガイドを参照してください。
ヒント
AZ_BATCH_NODE_ROOT_DIR
コンピューティング ノード環境変数の値は、VM にローカルの一時ディスクがあるかどうかによって異なります。 詳細については、 Batch ルート ディレクトリの場所 を参照してください。
次のステップ
- Batch サービスのワークフローと主要なリソース (プール、ノード、ジョブ、タスクなど) について学習します。
- Batch プールで RDMA 対応インスタンスまたは GPU 対応インスタンスで特殊な VM サイズを使用する方法について説明します。