ジョブの 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 イメージ

Batch ジョブは、次のタイプの VM OS イメージをサポートできます。

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

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

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

      • Batch Debian(batch-debian 接頭辞): Batch ジョブ用に最適化された Compute Engine の Debian イメージに基づく OS。 この OS は、スクリプト実行可能を含むジョブのデフォルトです。

      • Batch Container-Optimized OS(batch-cos 接頭辞): コンテナを使用する Batch ジョブ用に最適化された、Compute Engine の Container-Optimized OS イメージに基づく OS。この OS は、コンテナ実行可能ファイルのみを含むジョブのデフォルトです。

      • Batch ハイ パフォーマンス コンピューティング(HPC)Rocky Linux(batch-hpc-rocky 接頭辞): HPC ワークロードを使用する Batch ジョブ用に最適化された、Compute Engine の HPC Rocky Linux イメージに基づく OS。

      • Batch CentOS(batch-centos 接頭辞): Batch ジョブ用に最適化された Compute Engine の CentOS Linux イメージに基づく OS。

      • Batch ハイ パフォーマンス コンピューティング(HPC)CentOS(batch-hpc-centos 接頭辞): HPC ワークロードを使用する Batch ジョブ用に最適化された、Compute Engine の HPC CentOS イメージに基づく OS。

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

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

      Batch では、次の OS の 一般提供(GA)Compute Engine イメージのみがサポートされます。

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

VM OS イメージの制限事項

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

  • 非推奨としてマークされた Batch イメージは、サポートされない場合があります。Batch イメージでサポートされる最小存続期間は、次の日付のうち最も早い日付です。

    • イメージの開始日から 60 日後Batch イメージの開始日はイメージ名で示されます。たとえば、batch-cos-stable-official-20230719-00-p00 イメージは 2023 年 7 月 19 日(20230719)以降です。
    • ベースの Compute Engine OS バージョンが非推奨になる日付。 Compute Engine の各 OS バージョンの非推奨日は、Compute Engine ドキュメントのオペレーティング システムの詳細ページに記載されています。
  • 特定のジョブ構成では、イメージに対する外部アクセスが必要です。具体的には、ジョブに外部アクセスがなく、Cloud NAT または限定公開の Google アクセスによるアクセスが許可されない場合、次のイメージのみがサポートされます。

    • GPU を使用し、コンテナ実行可能ファイルのみを使用するジョブの場合は、デフォルト イメージ(最新の Batch Container-Optimized OS イメージ)のみがサポートされます。
    • それ以外の場合、ジョブは Batch イメージのみをサポートします。
  • 信頼できるイメージのポリシー制約が有効になっている場合、信頼できるイメージのポリシーで許可されていない 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 ドキュメントのすべての永続ディスクのサイズと増分をサポートします。

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

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

次のステップ