Azure Batch では、データとアプリケーションをコンピューティング ノードに取得して、タスクで使用できるようにするいくつかの方法がサポートされています。
選択する方法は、ファイルまたはアプリケーションのスコープによって異なります。 ジョブ全体を実行するためにデータとアプリケーションが必要になる場合があるため、すべてのノードにインストールする必要があります。 一部のファイルまたはアプリケーションは、特定のタスクにのみ必要な場合があります。 他のコンポーネントはジョブを実行するためにインストールすることが必要かもしれませんが、すべてのノードに存在する必要はありません。 Batch には、これらのシナリオごとにツールがあります。
ファイルに必要なスコープを決定する
ファイルのスコープを決定する必要があります。これは、プール、ジョブ、またはタスクに必要なファイルです。 プールをスコープとするファイルは、プール アプリケーション パッケージまたは開始タスクを使用する必要があります。 ジョブにスコープが設定されているファイルは、ジョブ準備タスクを使用する必要があります。 プールまたはジョブ レベルでスコープが設定されているファイルの良い例は、アプリケーションです。 タスクスコープのファイルは、タスク リソース ファイルを使用する必要があります。
プール開始タスク用リソースファイル
プール内のすべてのノードにインストールする必要があるアプリケーションまたはデータの場合は、プール開始タスク リソース ファイルを使用します。 インストール コマンドを実行するには、このメソッドを アプリケーション パッケージ または開始タスクのリソース ファイル コレクションと共に使用します。
たとえば、スタート タスクのコマンド ラインを使用して、アプリケーションを移動またはインストールできます。 Azure ストレージ アカウント内のファイルまたはコンテナーの一覧を指定することもできます。 詳細については、 REST ドキュメントの ResourceFile を参照してください。
プールで実行されるすべてのジョブで、最初に .msi ファイルと共にインストールする必要があるアプリケーション (.exe) を実行する場合は、開始タスクの 成功の待機 プロパティを true に設定する必要があります。 詳細については、 REST ドキュメントの StartTask を参照してください。
アプリケーション パッケージの参照
プール内のすべてのノードにインストールする必要があるアプリケーションまたはデータについては、 アプリケーション パッケージの使用を検討してください。 アプリケーション パッケージに関連付けられているインストール コマンドはありませんが、開始タスクを使用して任意のインストール コマンドを実行できます。 アプリケーションでインストールが必要ない場合、または多数のファイルで構成されている場合は、この方法を使用できます。
アプリケーション パッケージは、多数のファイルがある場合に便利です。多くのファイル参照を小さなペイロードに結合できるためです。 1 つのタスクに 100 を超える個別のリソース ファイルを含める場合、Batch サービスでは、1 つのタスクに対する内部システムの制限が発生する可能性があります。 アプリケーション パッケージは、同じアプリケーションのさまざまなバージョンがあり、その中から選択する必要がある場合にも便利です。
Extensions
拡張機能 は、Batch コンピューティング ノードでのプロビジョニング後の構成とセットアップを容易にする小規模なアプリケーションです。 プールを作成するときに、プロビジョニング時にコンピューティング ノードにインストールするサポートされている拡張機能を選択できます。 その後、その拡張機能で目的の操作を実行できます。
ジョブの準備タスク リソース ファイル
ジョブを実行するためにインストールする必要があるが、プール全体にインストールする必要がないアプリケーションまたはデータについては、 ジョブ準備タスクのリソース ファイルの使用を検討してください。
たとえば、プールに多数の異なる種類のジョブがあり、実行するために .msi ファイルが必要なジョブの種類が 1 つだけの場合は、インストール手順をジョブ準備タスクに配置するのが理にかなっています。
タスク リソース ファイル
タスク リソース ファイルは、アプリケーションまたはデータが個々のタスクにのみ関連する場合に適しています。
たとえば、5 つのタスクがあり、それぞれ異なるファイルを処理し、BLOB ストレージに出力を書き込む場合、各タスクには独自の入力ファイルがあるため、タスク リソース ファイル コレクションに入力ファイルを指定する必要があります。
ノードにデータを取得するその他の方法
Azure Batch ノードを制御でき、カスタム実行可能ファイルを実行できるため、任意の数のカスタム ソースからデータをプルできます。 Batch ノードがターゲットに接続されていること、およびノード上のそのソースへの資格情報があることを確認します。
Batch ノードにデータを転送する方法の例を次に示します。
- SQL からのデータのダウンロード
- 他の Web サービス/カスタムの場所からデータをダウンロードする
- ネットワーク共有のマッピング
Azure Storage
BLOB ストレージにはダウンロード のスケーラビリティ ターゲットがあることに注意してください。 Azure ストレージ ファイル共有のスケーラビリティ ターゲットは、1 つの BLOB の場合と同じです。 サイズは、必要なノードとプールの数に影響します。
次のステップ
- Batch でのアプリケーション パッケージの使用について説明します。
- ノードとプールの操作について詳しくは、こちらをご覧ください。