クイック スタート: Azure portal を使用して Batch アカウントを作成し、ジョブを実行する

このクイック スタートでは、Azure portal を使用して Azure Batch の作業を開始する方法を紹介します。 仮想マシン (VM) またはコンピューティング ノードのプールを持つ Batch アカウントを作成します。 次に、プール ノードで実行されるタスクを含むジョブを作成して実行します。

このクイックスタートを完了すると、Batch サービスの主要な概念を理解し、より現実的でより大規模なワークロードで Batch を使用できるようになります。

前提条件

注意

一部のリージョンとサブスクリプションの種類では、クォータ制限によって Batch アカウントまたはノードの作成が失敗したり、完了しなかったりする場合があります。 そのような場合には、無料でクォータの引き上げをリクエストできます。 詳しくは、「Batch サービスのクォータと制限」をご覧ください。

Batch アカウントと Azure Storage アカウントを作成する

プールおよびジョブを作成するには Batch アカウントが必要です。 次の手順では、サンプル Batch アカウントを作成します。 また、Batch アカウントにリンクする Azure Storage アカウントも作成します。 このクイックスタートではストレージ アカウントを使用しませんが、ほとんどの実際の Batch ワークロードでは、リンクされたストレージ アカウントを使用してアプリケーションをデプロイし、入力データと出力データを格納します。

  1. Azure portal にサインインし、[Batch アカウント] を選択します。

    Screenshot of selecting Batch accounts in the Azure portal.

  2. [Batch アカウント] ページで、[作成] を選択します。

  3. [新しい Batch アカウント] ページで、次の値を入力または選択します。

    • [リソース グループ][新規作成] を選択し、qsBatch という名前を入力して、[OK] を選択します。 リソース グループは、このクイックスタートの Azure リソースを保持する論理コンテナーです。
    • [アカウント名]mybatchaccount という名前を入力します。 Batch アカウント名は、選択した Azure リージョン内で一意である必要があり、小文字と数字のみを含めることができます。また、3 から 24 文字にする必要があります。
    • [場所] で、 [米国東部] を選択します。
    • [ストレージ アカウント] で、[ストレージ アカウントの選択] のリンクを選択します。

    Screenshot of the New Batch account page in the Azure portal.

  4. [ストレージ アカウントの作成] ページの [名前] に、「mybatchstorage」と入力します。 その他の設定は既定値のままにしておき、[OK] を選択します。

  5. [新しい Batch アカウント] ページの下部にある [確認と作成] を選択し、検証に合格したら [作成] を選択します。

  6. デプロイ成功」というメッセージが表示されたら、[リソースに移動] を選択して、作成した Batch アカウントに移動します。

コンピューティング ノードのプールの作成

次に、Batch アカウントに Windows コンピューティング ノードのプールを作成します。 次の手順では、Windows Server 2019 を実行する 2 つのStandard_A1_v2 サイズの VM で構成されるプールを作成します。 このノード サイズは、このクイックスタートにおいて、パフォーマンスとコストのバランスが取れています。

  1. Batch アカウント ページで、左側のナビゲーションから [プール] を選択します。

  2. [プール] ページで、[追加] を選択します。

  3. [プールの追加] ページの [名前] に「myPool」と入力します。

  4. [オペレーティング システム] で、次の設定を選びます。

    • 発行元: [microsoftwindowsserver] を選択します。
    • Sku: [2019-datacenter-core-smalldisk] を選択します。
  5. [ノード サイズ] まで下にスクロールし、[VM サイズ][Standard_A1_v2] を選択します。

  6. [スケール][ターゲットの専用ノード数] に、「2」と入力します。

  7. 残りの設定の既定値をそのまま受け入れ、ページの下部にある [OK] を選択します。

Batch によってすぐにプールが作成されますが、コンピューティング ノードを割り当てて開始するには数分かかります。 [プール] ページで、myPool を選択して [myPool] ページに移動し、[Essentials]>[割り当ての状態][サイズ変更] のプールの状態を確認できます。 プールの状態がまだ [サイズ変更] または [起動しています] の間に、ジョブとタスクの作成に進むことができます。

数分後、[割り当ての状態][安定] に変わり、ノードが開始されます。 ノードの状態をチェックするには、[myPool] ページの左側のナビゲーションで [ノード] を選択します。 ノードの状態が [アイドル] の場合は、タスクを実行する準備が整っています。

ジョブの作成

次に、プールで実行するジョブを作成します。 Batch ジョブは、1 つ以上のタスクの論理グループです。 ジョブには、優先度やタスクの実行対象プールなど、タスクに共通する設定が含まれています。 作成するまで、ジョブにはタスクはありません。

  1. [mybatchaccount] ページで、左側のナビゲーションから [ジョブ] を選択します。

  2. [ジョブ] ページで [追加] を選択します。

  3. [ジョブの追加] ページの [ジョブ ID] に「myJob」と入力します。

  4. [プールの選択] を選択し、[プールの選択] ページで [myPool] を選択し、[選択] を選択します。

  5. [ジョブの追加] ページで、[OK] を選びます。 Batch によってジョブが作成され、[ジョブ] ページに一覧表示されます。

タスクの作成

ジョブには、計算ノードで実行するために Batch によってキューに入れられて配布される複数のタスクを含めることができます。 Batch には、アプリやスクリプトを計算ノードにデプロイする複数の方法が用意されています。 タスクを作成するときは、コマンド ラインでアプリまたはスクリプトを指定します。

次の手順では、ジョブで 2 つの同じタスクを作成して実行します。 各タスクは、計算ノードの Batch 環境変数を表示するコマンド ラインを実行してから、90 秒待機します。

  1. [ジョブ] ページで [myJob] を選択します。

  2. [タスク] ページで、[追加] を選択します。

  3. [タスクの追加] ページの [タスク ID] に「myTask1」と入力します。

  4. [コマンド ライン] に、「cmd /c "set AZ_BATCH & timeout /t 90 > NUL"」と入力します。

  5. 残りの設定は既定値を受け入れ、[送信] を選択します。

  6. 前の手順を繰り返して 2 つ目のタスクを作成しますが、[タスク ID] には「myTask2」と入力します。

各タスクを作成すると、プールで実行するために Batch によってキューに登録されます。 ノードが使用可能になると、ノードでタスクが実行されます。 このクイックスタートの例では、1 つのノードで最初のタスクがまだ実行されている場合、2 番目のタスクは Batch によってプールの他のノードで開始されます。

タスク出力の表示

タスクは数分で完了します。 タスクの状態を更新するには、[タスク] ページの上部にある [更新] を選択します。

完了したタスクの出力を表示するには、[タスク] ページからタスクを選択します。 [myTask1] ページで、stdout.txt ファイルを選択して、タスクの標準出力を表示します。

Screenshot of a task page for a completed Batch job.

stdout.txt ファイルの内容は次の例のようになります。

Screenshot of the standard output file from a completed task.

このタスクの標準出力には、ノードに設定されている Azure Batch の環境変数が表示されます。 このノードが存在する限り、Batch ジョブ タスクのコマンド ラインと、コマンド ラインで実行されるアプリおよびスクリプトでこれらの環境変数を参照できます。

リソースをクリーンアップする

Batch のチュートリアルとサンプルを続ける場合は、このクイック スタートで作成した Batch アカウントとリンクされているストレージ アカウントを使用できます。 Batch アカウント自体に料金は発生しません。

プールとノードでは、ジョブが実行されていない場合でも、ノードの実行中は料金が発生します。 プールは不要になったら、削除してください。

プールを削除するには、次のようにします。

  1. Batch アカウント ページで、左側のナビゲーションから [プール] を選択します。
  2. [プール] ページで、削除するプールを選択し、[削除] を選択します。
  3. [プールの削除] 画面で、プールの名前を入力し、[削除] を選択します。

プールを削除すると、ノード上のすべてのタスク出力とノード自体が削除されます。

このクイックスタート用に作成したリソースが不要になったら、リソース グループとそのすべてのリソース (ストレージ アカウント、Batch アカウント、ノード プールなど) を削除できます。 リソース グループを削除するには、qsBatch リソース グループ ページの上部にある [リソース グループの削除] を選択します。 [リソース グループの削除] 画面で、リソース グループ名 qsBatch を入力し、[削除] を選択します。

次のステップ

このクイックスタートでは、Batch アカウントとプールを作成し、Batch ジョブとタスクを作成して実行しました。 ノードとタスクの状態を監視し、ノードからのタスク出力を表示しました。

Batch サービスの主要な概念を理解できたので、より現実的で大規模なワークロードで Batch を使用する準備が整いました。 Azure Batch の詳細については、Azure Batch のチュートリアルを続行してください。