ジョブの VM の OS 環境の概要

このドキュメントでは、Batch ジョブを実行する Compute Engine 仮想マシン(VM)インスタンスのオペレーティング システム(OS)環境(ブートディスクと OS イメージ)のコンセプトについて説明します。

ジョブは、各 VM のブートディスク上で指示を実行することによって実行されます。各ブートディスクには、ブートローダー、ファイル システム、OS が含まれています。次のいずれかの方法で、必要に応じてジョブの VM OS 環境を構成できます。

  • ブートディスク上のソフトウェアのみを構成するには、ジョブの VM OS イメージを指定します。
  • ブートディスクのプロパティ(VM OS イメージ、ディスクサイズ、ディスクタイプなど)を構成するには、ジョブのブートディスクをカスタマイズします。

以降のセクションでは、OS 環境、デフォルトの OS 環境、VM OS イメージ オプション、ブートディスク オプションを構成する条件について説明します。

OS 環境を構成する条件

ジョブの作成時に VM OS イメージやブートディスクを構成するかどうか、デフォルトの構成を使用するかどうかを判断するために、このセクションを確認してください。

以下の場合は、ジョブの VM OS イメージを構成します。

  • 信頼できるイメージ(compute.trustedImageProjects)ポリシー制約により、デフォルトの VM OS イメージでジョブを作成できない場合。

    信頼できるイメージのポリシー制約の詳細については、Batch の VM OS イメージへのアクセスを制御するをご覧ください。

  • ジョブのデフォルトの VM OS イメージを使用しない場合、または使用できない場合。たとえば、ジョブに対して定義した実行可能ファイルに、デフォルト イメージでサポートされていないアプリケーションが必要な場合は、別の公開 VM OS イメージを指定できます。あるいは、ジョブに必要なアプリケーションをプリインストールしてランタイムを短縮するために、カスタム イメージを作成して指定することもできます。

以下の場合は、ジョブのブートディスクを構成します。

  • ジョブに対してデフォルトのブートディスクを使用しない場合、または使用できない場合。たとえば、ジョブに対して定義した実行可能ファイルまたは VM OS イメージでブートディスク上の追加の保存容量が必要な場合、ジョブのサイズを増やすために、ジョブ用のブートディスクのカスタマイズが必要になることがあります。

ジョブで VM OS イメージやブートディスクを構成する必要があるかどうかまだ不明な場合は、次のセクションを確認してデフォルトの構成を理解してください。さらに、デフォルトの構成でジョブを作成して実行してみることもできます。デフォルト構成でジョブが失敗した場合は、トラブルシューティングによって、問題の原因が VM OS イメージとブートディスクのどちらであるかを判別できます。

ジョブの VM OS イメージやブートディスクを構成する必要がない場合は、これらの構成を定義せずに、デフォルトの構成を使用します。

デフォルトの OS 環境

このセクションでは、ジョブの VM OS イメージとブートディスクのデフォルト構成について説明します。たとえば、ジョブの OS 環境を構成する方法を決定するときに、デフォルトの構成を参考として使用できます。

ジョブを作成するときに VM OS イメージを定義しない場合、ジョブはデフォルトで次のいずれかの VM OS イメージを使用します。

  • ジョブにコンテナ実行可能ファイルのみがある場合、ジョブは最新バージョンの Batch Container-Optimized OS(COS)イメージを使用します。
  • それ以外の場合、ジョブは最新バージョンの Batch Debian イメージを使用します。

ジョブを作成し、ブートディスクの他のプロパティを定義しない場合、ジョブはデフォルトで次のオプションを使用します。

  • 永続ディスクタイプ: デフォルトの永続ディスクのタイプは pd-balanced です。

  • サイズ: 各 VM のブートディスクのデフォルト サイズは、\({defaultBootDiskSize}\) の次の式で決定されます。また、デフォルトのサイズは 30 GB~10,000 GB になるように丸められます。

    \[{defaultBootDiskSize}={reservedSize}+({taskSize}*{parallelTasksPerVm})\]

    この数式には次の値が含まれます。

    • \({reservedSize}\): VM に必要なソフトウェア(VM OS イメージなど)用に予約されているサイズ(GB)。デフォルトのブートディスク サイズとして、Batch は 10 GB を予約します。

    • \({taskSize}\): 各タスクのブートディスク サイズ(GB)。これは、タスクあたりのブートディスク サイズ(bootDiskMib)フィールドの単位を変換することによって決定されます。

    • \({parallelTasksPerVM}\): VM で同時に実行できるタスクの最大数。詳細については、\({parallelTasksPerVM}\) の式をご覧ください。

  • インターフェース: ジョブの VM のマシンタイプに応じて、インターフェースは NVMe または SCSI のどちらかとして自動的に選択されます。使用するジョブのリソースのタイプを定義するときに、必要に応じてマシンタイプを指定することもできます。各マシンタイプのデフォルトのインターフェースについては、Compute Engine ドキュメントのインターフェースの選択をご覧ください。

VM OS イメージのオプション

次のセクションでは、バッチの VM OS イメージ オプション(バッチジョブがサポートできるすべてのタイプの VM OS イメージと、サポートされている VM OS イメージの制限など)について説明します。ジョブの VM OS イメージを指定する場合、サポートされている VM OS イメージのいずれかによってイメージ名またはイメージ ファミリーを指定できます。

サポートされている VM OS イメージ

バッチジョブは、次の種類の VM OS イメージをサポートできます。

  • 公開イメージ: Google、オープンソース コミュニティ、サードパーティ ベンダーによって提供され、保持されるイメージ。具体的には、バッチジョブは Batch または Compute Engine の公開イメージを使用できます。

    • バッチイメージ: Batch によって提供され保持されるイメージ。batch-custom-image イメージ プロジェクトに保存され、Batch ジョブに推奨されます。

      バッチイメージは次の OS で使用できます。Batch からイメージ ファミリーとイメージ名を表示すると、その OS が対応する接頭辞で示されます。

      • Batch Debian(batch-debian 接頭辞): バッチジョブ用に最適化された Debian に基づく OS。この OS は、スクリプトを実行可能なジョブのデフォルトです。
      • Batch Container-Optimized OS(batch-cos 接頭辞): コンテナを使用したバッチジョブに最適化された、Google Cloud の Container-Optimized OS に基づく OS 。この OS は、コンテナ実行可能ファイルのみを持つジョブのデフォルトです。
      • Batch CentOS(batch-centos 接頭辞): バッチジョブに最適化された CentOS Linux に基づく OS。
      • Batch ハイ パフォーマンス コンピューティング(HPC)CentOS(batch-hpc-centos接頭辞): HPC ワークロードを使用するバッチジョブ用に最適化された Google Cloud の CentOS HPC イメージに基づく OS。
      • Batch ハイ パフォーマンス コンピューティング(HPC)Rocky Linux(batch-hpc-rocky 接頭辞):HPC ワークロードでのバッチジョブ用に最適化された Google Cloud の Rocky Linux HPC イメージに基づく OS。

      ジョブに指定できる Batch の特定のイメージ名とファミリーを確認するには、Batch の VM OS イメージを表示する手順を行います。

    • Compute Engine イメージ: Compute Engine で利用可能な公開イメージ。Compute Engine のドキュメントのオペレーティング システムの詳細ページに記載されています。

      Batch は、次の OS の一般提供(GA) Compute Engine イメージのみをサポートしています。

  • カスタム イメージ: Compute Engine を使用して、作成、所有、アクセスを制御するイメージ。 カスタム イメージについて詳しくは、Compute Engine ドキュメントをご覧ください。

VM OS イメージの制限事項

ジョブに指定できるサポート対象の VM OS イメージには、次の制限があります。

  • バッチイメージの場合、保証されるイメージのサポート期間は 180 日です。バッチイメージの開始日はイメージ名に示されます。たとえば、batch-cos-stable-official-20230719-00-p00 イメージは 2023 年 7 月 19 日(20230719)以降です。非推奨としてマークされたバッチイメージの場合、サポートは保証されません。

  • 特定のジョブ構成では、イメージに対する外部アクセスが必要です。具体的には、ジョブに外部アクセスがなく、Cloud NAT または限定公開の Google アクセスによるアクセスが許可されない場合、次のイメージのみがサポートされます。

    • GPU を使用し、コンテナの実行可能ジョブのみを使用するジョブの場合、デフォルト イメージ(最新の Batch Container-Optimized OS イメージ)のみがサポートされます。
    • それ以外の場合、ジョブはバッチイメージのみをサポートします。
  • 信頼できるイメージのポリシー制約が有効になっている場合、信頼できるイメージのポリシーで許可されていない VM OS イメージは使用できません。

    プロジェクト、フォルダまたは組織の管理者は、必要に応じて信頼できるイメージのポリシー制約を構成して、ブートディスクの作成に使用できる VM OS イメージを制限できます。たとえば、信頼できるイメージのポリシー制約を使用して、ポリシーやセキュリティ要件を満たす承認済みソフトウェアを含む VM を作成することをユーザーに要求できます。詳細については、Batch の VM OS イメージへのアクセスを制御するをご覧ください。

  • ジョブの VM OS イメージには、ブートディスクのインターフェースのドライバと、永続ディスク ストレージ ボリュームがインストールされている必要があります。ほとんどの公開イメージでは、すべての Batch イメージを含め、NVMe ドライバと SCSI ドライバの両方が自動的にインストールされます。

    永続ディスクのインターフェースは構成できないため、VM の OS イメージにはデフォルト インターフェースのドライバが必要です。

  • ジョブで Batch イメージまたは Batch イメージをベースにしたカスタム イメージ以外の VM OS イメージが指定されている場合、Batch はジョブの VM の起動後に必要なパッケージをインストールします。これらの必要なパッケージは、ジョブ構成によって異なる場合があり、時間の経過とともに変化する可能性がありますが、Batch でジョブを実行するために必要です。

ブートディスク オプション

このセクションでは、Batch のブートディスクの種類とサイズのオプションについて説明します。ジョブのブートディスクをカスタマイズするときに、VM OS イメージ、タイプ、サイズを指定できます。VM OS イメージの指定については、このドキュメントの VM OS イメージ オプションをご覧ください。

ブートディスク タイプの場合、Batch は Compute Engine ドキュメントの永続ディスクタイプをすべてサポートします。

ブートディスク サイズの場合、Batch は、次の要件を満たす Compute Engine ドキュメントのすべての永続ディスクのサイズと増分をサポートします。

  • バッチジョブの場合、ブートディスクの最小サイズは 30 GB です。

  • バッチジョブを適切に実行するには、ブートディスクのサイズを、ジョブの VM OS イメージと各 VM で実行されるタスクを割り当てるのに十分な大きさにする必要があります。たとえば、このドキュメントのデフォルトのブートディスク サイズの数式をご覧ください。

次のステップ