Azure CLI で Batch リソースを管理する

Azure コマンド ライン インターフェイス (Azure CLI) を使用して Azure Batch アカウントとリソースを管理できます。 プール、ジョブ、タスクなどの Batch リソースを作成および更新するためのコマンドがあります。 Batch API、PowerShell コマンドレット、および Azure portal を介して多くの同じタスクを実行するスクリプトも作成できます。

Azure CLI は、Azure Cloud Shell にプレインストールされています。または、Azure CLI をローカルにインストールすることもできます。 Windows、Mac、Linux オペレーティング システム (OS) のバージョンがあります。

この記事では、Batch アカウントとリソースで Azure CLI を使用する方法について説明します。

Azure CLI のセットアップ

Azure CLI の設定方法を選択してください。

Azure CLI を始めて使用する場合は、先に「Azure CLI の概要」を参照してください。

以前に Azure CLI をローカルにインストールした場合、インストールを最新バージョンに更新してください

Azure CLI で認証する

Batch で Azure CLI を使用するには、まず Azureアカウント にサインインしてから、Batch アカウント にサインインします

Azure アカウントにサインインする

Azure CLI を使用するには、最初に Azure アカウントにサインインします。 この手順により、Batch 管理サービス コマンドも含め、Azure Resource Manager コマンドにアクセスできるようになります。 次に、Batch アカウント、キー、アプリケーション パッケージ、クォータを管理するコマンドを実行できます。

Azure アカウントを Azure CLI において 2 つの方法で認証できます。 コマンドを自分で実行するには 、対話形式で Azure CLI にサインインします。 この Azure CLI に資格情報をキャッシュし、それらの同じ資格情報を使用して後でBatch アカウントにサインイン できます。 スクリプトまたはアプリケーションからコマンドを実行するには、Azure CLI コマンドを実行しているときに、サービス プリンシパルでログインします。

対話 形式でサインインするにはaz login を実行します:

az login

Batch アカウントにサインインする

次に、az batch account login コマンドを使用して Azure CLI で Batch アカウントにサインインします。 この手順では、Batch サービス コマンドにアクセスできます。 その後、プール、ジョブ、タスクなど、Batch リソースを管理できます。

Batch アカウントを Azure CLI において 2 つの方法で認証できます。 デフォルトの方法では、Microsoft Entra ID を使用して認証します。 ほとんどのシナリオでは、この方法を使用することをお勧めします。 もう 1 つのオプションは、 共有キー認証 を使用する方法です

Azure CLI スクリプトを作成して Batch コマンドを自動化する場合は、いずれかの認証方法を使用できます。 一部のシナリオでは、サービス プリンシパルを作成するよりも共有キー認証の方が簡単な場合があります。

Microsoft Entra ID を使用して認証する

Batch アカウントで認証するデフォルトの方法では、Microsoft Entra ID を使用します。 対話形式で、またはサービス プリンシパルを使用して Azure CLI にサインインする場合、同じキャッシュされた資格情報を使用して、Microsoft Entra ID で Batch アカウントにサインインできます。 この認証方法では、Azure ロールベースのアクセス制御 (Azure RBAC) も提供されます。 Azure RBAC では、ユーザー アクセスは、アカウント キーではなく、割り当てられたロールによって異なります。 アカウント キーではなく、Azure ロールを管理する必要があります。 その後、Microsoft Entra ID がアクセスと認証を処理します。

Microsoft Entra ID を使用して Batch アカウントにサインインするには、az batch login を実行します。 Batch アカウントの名前 (-n) に必要なパラメーターと、リソース グループの名前 (-g) を必ず含める必要があります。

az batch account login -g <your-resource-group> -n <your-batch-account>

共有キーを使用した認証

共有キー認証を使用して Batch アカウントにサインインすることもできます。 この方法により、アカウント アクセス キーを使用して、Batch サービスに対して Azure CLI コマンドを認証します。

共有キー認証を使用して Batch アカウントにサインインするには、--shared-key-auth パラメーター を使用して az batch login を実行します。 Batch アカウントの名前 (-n) に必要なパラメーターと、リソース グループの名前 (-g) を必ず含める必要があります。

az batch account login -g <your-resource-group> -n <your-batch-account> --shared-key-auth

Batch コマンドについて学習する

Azure CLI 参照ドキュメントには 、Batch のすべての Azure CLIコマンドの一覧が示されています。

Azure CLI 内のすべての Batch コマンドを一覧表示するには、az batch -h を実行します。

一般的な Batch タスクには、複数のサンプル CLI スクリプトがあります。 次の例では、Azure CLI で Batch 用に使用可能なコマンドを多数使用する方法を示します。 Batch アカウント、プール、ジョブ、タスクを作成および管理する方法について説明します。

Batch CLI 拡張機能のコマンドを使用する

Batch CLI を使用すると、コードを記述せずに Batch ジョブを実行できます。 拡張機能には、Azure CLI を使用して、プール、ジョブ、タスクを作成するために JSON テンプレート コマンドを使用するコマンドが示されます。 この拡張機能には、Batch アカウントにリンクされている Azure Storage アカウントに接続するためのコマンドも用意されています。 その後、ジョブ入力ファイルをアップロードし、ジョブ入力ファイルをダウンロードできます。

JSON を使用してリソースを作成する

ほとんどの Batch リソースは、コマンド ライン パラメーターのみを使用して作成できます。 一部の機能では、代わりに JSON 構成ファイルを指定する必要があります。 JSON ファイルには、新しいリソースの構成情報が含まれます。 たとえば、開始タスクのリソース ファイルを指定する場合は、JSON ファイルを使用する必要があります。

たとえば、JSON ファイルを使用して新しい Batch プール リソースを構成するには、次の手順を実行します:

az batch pool <your-batch-pool-configuration>.json

新しいリソースに JSON ファイルを指定する場合は、コマンドで他のパラメーターを使用しないでください。 リソースの構成には、JSON ファイルのみを使用します。

Batch の REST API リファレンスのドキュメントには、リソースの作成に必要な JSON 構文が記載されています。

リソースの作成に必要な JSON 構文を確認するには、Batch の REST API リファレンスのドキュメントを参照してください。 リソース操作の参照ページ の [例] セクションに移動します。 次に、[リソースの<種類の追加]> というタイトルのサブセクションを探します 。 たとえば、基本的なタスク を追加します。 サンプルの JSON コードを構成ファイルのテンプレートとして使用します。

JSON ファイルを指定するサンプル スクリプトについては、Batch でのジョブとタスクの実行に関するページを参照してください。

Batch リソースに対して効率的にクエリを実行する

Batch アカウントに対してクエリを実行し、list コマンドを使用してすべてのリソースを一覧表示できます。 たとえば、アカウント内のプールやジョブ内のタスクを一覧表示することができます:

az batch pool list
az batch task list --job-id <your-job-id>

Batch クエリから返されるデータの量を制限するには、OData 句を指定します。 すべてのフィルター処理はサーバー側で行われるので、要求したデータのみを受け取ります。 これらの OData 句を使用して、list 操作の帯域幅と時間を節約します。 詳細は、「Batch リソースの効率的なリスト クエリを設計する」を参照してください。

説明
--select-clause [select-clause] 各エンティティのプロパティのサブセットを返します。
--filter-clause [filter-clause] 指定された OData 式に一致するエンティティのみを返します。
--expand-clause [expand-clause] 基になる 1 つの REST 呼び出しのエンティティ情報を取得します。 現時点では、expand 句は stats プロパティのみをサポートしています。

これらの句の使用方法を示すサンプル スクリプトについては、Batch でのジョブとタスクの実行に関するページを参照してください。

トラブルシューティング

Batch コマンドのヘルプを表示するには、コマンドの末尾に -h を追加します。 他のオプションは追加しません。 たとえば、Batch アカウントの作成に関するヘルプを表示するには、az batch account create -h を実行します。

詳細なコマンド出力を返す場合は、-v または -vv をコマンドの末尾に追加します。 これらのスイッチを使用して、完全なエラー出力を表示します。 -vv フラグは、実際の REST 要求と応答を返します。

JSON 形式でコマンド出力を表示するには、コマンドの末尾に --json を追加します。 たとえば、pool001 という名前のプールのプロパティを表示するには、az batch pool show pool001 --json を実行します。 次に、出力をコピーして変更し、JSON 構成ファイル を使用して Batch リソースを作成します

一般的な Azure CLI のトラブルシューティング

Azure CLI は、いくつかのシェル環境で実行できますが、形式には若干の差異があります。 Azure CLI コマンドで予期しない結果が発生した場合は、「Azure CLI を正しく使用する方法」を参照してください。

次の手順