VM の実行時間を制限する


このドキュメントでは、新規または既存の仮想マシン(VM)インスタンスの実行時間を制限する方法と、それらの VM の実行時間をモニタリングする方法について説明します。マネージド インスタンス グループ(MIG)の場合は、MIG の実行時間を制限するをご覧ください。

VM の実行時間を制限する場合は、特定の制限時間(期間または時間)に達したときに VM を自動的に終了(停止または削除)するようにスケジュールできます。制限時間を使用して一時的なワークロードを最適化します。VM の実行時間を自動的に制限することで、費用を最小限に抑え、割り当てを解放することができます。

VM をすぐに停止する方法については、VM の停止または再起動をご覧ください。VM をすぐに削除する方法については、VM を削除するをご覧ください。

VM の実行時間を自動的に制限するその他のオプションについては、次のページをご覧ください。

  • VM の起動と停止をスケジュールする: インスタンス スケジュールを使用すると、VM の起動と停止を自動的に行うことができます。インスタンス スケジュールを複数の VM に適用し、ワークロードを自動的に繰り返すことができます。

  • バッチ: バッチジョブは、有限のワークロードの VM を自動的に作成して削除します。実行時間の上限を指定することも、省略することもできます。

始める前に

  • VM の実行時間を制限するために必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1)roles/compute.instanceAdmin.v1)IAM ロールを付与するよう管理者に依頼します。ロールの付与の詳細については、アクセス権の管理をご覧ください。

    必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

  • まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。

    このページのサンプルをどのように使うかに応じて、タブを選択してください。

    コンソール

    Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。

    gcloud

    1. Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init
    2. デフォルトのリージョンとゾーンを設定します

    REST

    このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

      Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init

制限事項

VM の実行時間を制限する場合、次の制限があります。

  • 自動終了アクションは、停止または削除のいずれかにする必要があります。制限時間に達したときに VM を自動的に一時停止するように構成することはできません。

  • 最小の制限時間は 30 秒、最大の制限時間は 120 日です。

  • 自動終了には、VM の停止または削除の開始に指定した時間よりも 30 秒ほど長くなる場合があります。

  • 以前のプリエンプティブル VM では制限時間を使用できません。代わりに、Spot VM で制限時間を使用します。

  • 制限時間により VM が自動的に停止された場合、VM のローカル SSD データは保持されません。詳細については、ローカル SSD を使用した VM を停止するをご覧ください。

新しい VM の実行時間を制限する

以降のセクションでは、新しい VM の作成中に制限時間を構成する方法について説明します。VM を自動的に終了する制限時間は、期間maxRunDuration)または時間terminationTime)で指定できます。

VM の制限時間のタイプを決める際に、ユーザー リクエストやホストイベントなどによって VM が中断される可能性があることを考慮してください。制限時間の動作は、中断と制限時間のタイプによって異なります。

  • VM の終了タイムスタンプ(terminationTimestamp)は、自動終了の予定時刻を表す読み取り専用フィールドです。VM に期限があり、RUNNING 状態になったときに、Compute Engine によって自動的に定義されます。

  • 終了タイムスタンプは、VM が停止または一時停止されるたびに自動的にクリアされます。ただし、VM をリセットしたり、VM を再起動しても、終了タイムスタンプは変更されません。

  • 終了タイムスタンプは、VM が再起動または再開されるたびに、設定した制限時間のタイプに基づいて自動的に再定義されます。

    • VM の実行時間を設定すると、VM の最新の開始時間にその実行時間を加えて終了タイムスタンプが再計算されます。
    • VM に時間を設定すると、終了タイムスタンプはその時間に設定されます。ただし、時刻は将来の日付にする必要があります。そうでないと、時刻を更新または削除するまで VM の作成または再実行リクエストは失敗します。

期間を設定する

期間は、VM に必要な合計実行時間を表します。Google Cloud コンソール、Google Cloud CLI、Compute Engine API のいずれかを使用して、VM の実行後に特定の期間で自動的に終了する VM を作成します。

コンソール

  1. Google Cloud コンソールで、[インスタンスの作成] ページに移動します。

    [インスタンスの作成] に移動

  2. [可用性ポリシー] セクションで、[VM プロビジョニング モデルの詳細設定] を開きます。

  3. [VM の制限時間を設定する] チェックボックスをオンにします。[制限時間のタイプ] フィールドが表示されます。

  4. [制限時間のタイプ] フィールドで [時間](デフォルト)を選択して、制限時間を指定します。次のフィールドに、期間を時間単位で入力します。

  5. [VM の終了時] リストで、VM の実行時間が指定の制限に達したときの動作を選択します。

    • VM を自動的に停止するには、[停止](デフォルト)を選択します。
    • VM を削除するには、[削除] を選択します。
  6. 省略可: その他の VM オプションを指定します。詳しくは、VM インスタンスの作成と起動をご覧ください。

  7. VM を作成して起動するには、[作成] をクリックします。

gcloud

gcloud CLI で VM を作成するには、gcloud beta compute instances create コマンドを使用します。

  • 特定の期間が経過した後に自動的に終了する VM を作成するには、--max-run-duration フラグを含める必要があります。
  • 終了アクションを指定するには、--instance-termination-action フラグを含めます。
  • --discard-local-ssds-at-termination-timestamp フラグを構成します。
    • VM にローカル SSD があり、終了アクション(TERMINATION_ACTION)を停止(STOP)に設定する場合は、--discard-local-ssds-at-termination-timestamp=true フラグを指定する必要があります。
    • それ以外の場合は、--discard-local-ssds-at-termination-timestamp フラグを省略します。
gcloud beta compute instances create VM_NAME \
    --max-run-duration=DURATION \
    --instance-termination-action=TERMINATION_ACTION

次のように置き換えます。

  • VM_NAME: 新しい VM の名前
  • DURATION: この VM が自動的に終了するまでの実行時間。期間を、日数、時間、分、秒としてフォーマットし、その後に dhms を続けて指定します。たとえば、期間を 30 分にする場合は 30m を指定します。期間を 1 日、2 時間、3 分、4 秒にする場合は 1d2h3m4s を指定します。最小期間は 30 秒(30s)、最大期間は 120 日間(120d)です。
  • TERMINATION_ACTION: この VM の終了アクション。停止(STOP)または削除(DELETE)のいずれかです。このフィールドが必須か、デフォルト値かは VM のプロビジョニング モデルによって異なります。
    • これが Spot VM の場合(VM が --provisioning-model=SPOT フラグを使用している場合)、--instance-termination-action=TERMINATION_ACTION フラグは省略可能です。このフラグを省略すると、デフォルトの終了アクションは停止です。
    • それ以外の場合(デフォルト)は、--instance-termination-action=TERMINATION_ACTION フラグが必要です。

VM の作成時に指定できる他のオプションの詳細については、VM インスタンスの作成と起動をご覧ください。

REST

Compute Engine API で VM を作成するには、ベータ版の instances.insert メソッドを使用します。VM の名前、マシンタイプ、ブートディスクを指定する必要があります。

特定の期間が経過した後に自動的に終了する VM を作成するには、maxRunDuration フィールドを含める必要があります。終了アクションを指定するには、instanceTerminationAction フィールドを指定します。これは Spot VM では省略可能です。

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks": [
    {
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      },
      "boot": true
    }
  ]
  "scheduling":
  {
    "maxRunDuration":
    {
      "seconds": DURATION
    },
    "instanceTerminationAction": "TERMINATION_ACTION"
  },
}

次のように置き換えます。

  • PROJECT_ID: VM を作成するプロジェクトの ID
  • ZONE: VM を作成するゾーン。ゾーンは、新しい VM に使用するマシンタイプもサポートしている必要があります。
  • MACHINE_TYPE: 新しい VM の事前定義またはカスタム マシンタイプ。
  • VM_NAME: 新しい VM の名前
  • IMAGE_PROJECT: イメージを含むプロジェクト。たとえば、イメージとして family/debian-10 を指定する場合は、イメージ プロジェクトとして debian-cloud を指定します。
  • IMAGE: 新しい VM のイメージ。特定のバージョンの公開イメージまたはイメージ ファミリーのいずれかを指定できます。たとえば、イメージとして family/debian-10 を指定し、イメージ プロジェクトとして debian-cloud を指定すると、Compute Engine は Debian 10 イメージ ファミリーの最新バージョンの OS イメージから VM を作成します。
  • DURATION: この VM を自動的に終了するまでの実行期間の秒数。最小期間は 30 秒(30s)、最大期間は 120 日間(120d)です。
  • TERMINATION_ACTION: この VM の終了アクション。停止(STOP)または削除(DELETE)のいずれかです。このフィールドが必須か、デフォルト値かは VM のプロビジョニング モデルによって異なります。
    • これが Spot VM の場合(VM が "provisioningModel": "SPOT" フィールドを使用している場合)、"instanceTerminationAction": "TERMINATION_ACTION" フィールドは省略可能です。このフィールドを省略すると、デフォルトの終了アクションは終了です。
    • それ以外の場合(デフォルト)、"instanceTerminationAction": "TERMINATION_ACTION" フィールドが必要です。

VM の作成時に指定できるオプションの詳細については、VM インスタンスの作成と起動をご覧ください。

時間を設定する

時間は、VM を終了する日付、時刻、タイムゾーンを表します。特定の時刻に自動的に終了する VM を作成するには、Google Cloud コンソール、Google Cloud CLI、または Compute Engine API を使用します。

コンソール

  1. Google Cloud コンソールで、[インスタンスの作成] ページに移動します。

    [インスタンスの作成] に移動

  2. [可用性ポリシー] セクションで、[VM プロビジョニング モデルの詳細設定] を開きます。

  3. [VM の制限時間を設定する] チェックボックスをオンにします。[制限時間のタイプ] フィールドが表示されます。

  4. [制限時間のタイプ] フィールドで、[日付] を選択して、制限時間を時間と日付で指定します。次のフィールドで [日時を選択] をクリックして、制限時間の日付、時間、タイムゾーンを選択します。

  5. [VM の終了時] リストで、VM の実行時間が指定の制限に達したときの動作を選択します。

    • VM を自動的に停止するには、[停止](デフォルト)を選択します。
    • VM を削除するには、[削除] を選択します。
  6. 省略可: その他の VM オプションを指定します。詳しくは、VM インスタンスの作成と起動をご覧ください。

  7. VM を作成して起動するには、[作成] をクリックします。

gcloud

gcloud CLI で VM を作成するには、gcloud beta compute instances create コマンドを使用します。

  • 特定の時刻に自動的に終了する VM を作成するには、--termination-time フラグを含める必要があります。
  • 終了アクションを指定するには、--instance-termination-action フラグを含めます。このフラグは Spot VM では省略可能です。
  • --discard-local-ssds-at-termination-timestamp フラグを構成します。
    • VM にローカル SSD があり、終了アクション(TERMINATION_ACTION)を停止(STOP)に設定する場合は、--discard-local-ssds-at-termination-timestamp=true フラグを指定する必要があります。
    • それ以外の場合は、--discard-local-ssds-at-termination-timestamp フラグを省略します。
gcloud beta compute instances create VM_NAME \
    --termination-time=TIME \
    --instance-termination-action=TERMINATION_ACTION

次のように置き換えます。

  • VM_NAME: 新しい VM の名前
  • TIME: この VM を自動的に終了する時刻。指定する時刻は、少なくとも 30 秒先の未来とし、120 日以内にする必要があります。時刻を RFC 3339 タイムスタンプとしてフォーマットします。

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    次のように置き換えます。

    • YYYY-MM-DD: 4 桁の年、2 桁の月、その月の 2 桁の日をハイフンで区切った日付。
    • HH:MM:SS: 24 時間における 2 桁の時間、2 桁の分、2 桁の秒をコロンで区切った時刻。
    • OFFSET: 協定世界時(UTC)のオフセット形式で示されるタイムゾーン。たとえば、UTC よりも 8 時間早い太平洋標準時(PST)を使用するには、-08:00 を指定します。オフセットなし(UTC+0)を使用する場合は、Z を指定します。
  • TERMINATION_ACTION: この VM の終了アクション。停止(STOP)または削除(DELETE)のいずれかです。このフィールドが必須か、デフォルト値かは VM のプロビジョニング モデルによって異なります。

    • これが Spot VM の場合(VM が --provisioning-model=SPOT フラグを使用している場合)、--instance-termination-action=TERMINATION_ACTION フラグは省略可能です。このフラグを省略すると、デフォルトの終了アクションは停止です。
    • それ以外の場合(デフォルト)は、--instance-termination-action=TERMINATION_ACTION フラグが必要です。

VM の作成時に指定できる他のオプションの詳細については、VM インスタンスの作成と起動をご覧ください。

REST

Compute Engine API で VM を作成するには、ベータ版の instances.insert メソッドを使用します。VM の名前、マシンタイプ、ブートディスクを指定する必要があります。

特定の時刻に自動的に終了する VM を作成するには、terminationTime フィールドを含める必要があります。終了アクションを指定するには、instanceTerminationAction フィールドを指定します。これは Spot VM では省略可能です。

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks": [
    {
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      },
      "boot": true
    }
  ]
  "scheduling":
  {
    "terminationTime": "TIME",
    "instanceTerminationAction": "TERMINATION_ACTION"
  },
}

次のように置き換えます。

  • PROJECT_ID: VM を作成するプロジェクトの ID
  • ZONE: VM を作成するゾーン。ゾーンは、新しい VM に使用するマシンタイプもサポートしている必要があります。
  • MACHINE_TYPE: 新しい VM の事前定義またはカスタム マシンタイプ。
  • VM_NAME: 新しい VM の名前
  • IMAGE_PROJECT: イメージを含むプロジェクト。たとえば、イメージとして family/debian-10 を指定する場合は、イメージ プロジェクトとして debian-cloud を指定します。
  • IMAGE: 新しい VM のイメージ。特定のバージョンの公開イメージまたはイメージ ファミリーのいずれかを指定できます。たとえば、イメージとして family/debian-10 を指定し、イメージ プロジェクトとして debian-cloud を指定すると、Compute Engine は Debian 10 イメージ ファミリーの最新バージョンの OS イメージから VM を作成します。
  • TIME: この VM を自動的に終了する時刻。指定する時刻は、少なくとも 30 秒先の未来とし、120 日以内にする必要があります。時刻を RFC 3339 タイムスタンプとしてフォーマットします。

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    次のように置き換えます。

    • YYYY-MM-DD: 4 桁の年、2 桁の月、その月の 2 桁の日をハイフンで区切った日付。
    • HH:MM:SS: 24 時間における 2 桁の時間、2 桁の分、2 桁の秒をコロンで区切った時刻。
    • OFFSET: 協定世界時(UTC)のオフセット形式で示されるタイムゾーン。たとえば、UTC よりも 8 時間早い太平洋標準時(PST)を使用するには、-08:00 を指定します。オフセットなし(UTC+0)を使用する場合は、Z を指定します。
  • TERMINATION_ACTION: この VM の終了アクション。停止(STOP)または削除(DELETE)のいずれかです。このフィールドが必須か、デフォルト値かは VM のプロビジョニング モデルによって異なります。

    • これが Spot VM の場合(VM が "provisioningModel": "SPOT" フィールドを使用している場合)、"instanceTerminationAction": "TERMINATION_ACTION" フィールドは省略可能です。このフィールドを省略すると、デフォルトの終了アクションは終了です。
    • それ以外の場合(デフォルト)、"instanceTerminationAction": "TERMINATION_ACTION" フィールドが必要です。

VM の作成時に指定できるオプションの詳細については、VM インスタンスの作成と起動をご覧ください。

既存の VM の実行時間を制限する

VM のスケジュールを更新することで、既存の VM の実行時間を制限できます。制限時間を構成する方法について不明な点がある場合は、新しい VM の実行時間を制限する方法に関する前のセクションを先にご覧ください。

このセクションで説明するように、Google Cloud コンソール、Google Cloud CLI、Compute Engine API を使用して、VM のスケジューリング関連のプロパティを更新できます。この方法では、まず VM を停止してから、プロパティを更新して再起動する必要があります。また、追加の VM プロパティを同時に更新し、VM を自動的に停止して再起動する場合は、インスタンス プロパティを更新するをご覧ください。

コンソール

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. [名前] 列で、更新する VM の名前をクリックします。

  3. [VM インスタンスの詳細] ページで、次の手順を行います。

    1. VM が実行されている場合は、[停止] をクリックして VM を停止します。
    2. VM を編集するには、 [編集] をクリックします。
    3. [インスタンスの編集] ページで、次の手順を行います。

      1. [可用性ポリシー] セクションで、[VM の制限時間を設定する] チェックボックスと、必要に応じてその下のフィールドを変更します。

        制限時間のプロパティを構成する方法については、新しい VM の実行時間を制限するをご覧ください。

      2. 変更を保存するには、[保存] をクリックします。

    4. 省略可: VM の実行をすぐに開始する場合は、[開始] をクリックします。

gcloud

gcloud CLI を使用して VM のタイムアウトを更新するには、次の操作を行います。

  1. VM が実行されている場合は、gcloud compute instances stop コマンドを使用して VM を停止します。

    gcloud compute instances stop VM_NAME
    

    VM_NAME は、更新する VM の名前に置き換えます。

  2. gcloud beta compute instances set-scheduling コマンドを使用して、VM のタイムアウトを更新します。

    gcloud beta compute instances set-scheduling VM_NAME \
        --max-run-duration=DURATION \
        --termination-time=TIME \
        --instance-termination-action=TERMINATION_ACTION \
        --discard-local-ssds-at-termination-timestamp=true
    

    次のフラグを構成します。

    • 制限時間を時間または期間で設定するには、--max-run-duration フラグまたは --termination-time フラグを省略する必要があります。
    • --instance-termination-action フラグを指定して終了アクションを設定します。
    • VM にローカル SSD があり、終了アクション(TERMINATION_ACTION)を停止(STOP)に設定する場合は、--discard-local-ssds-at-termination-timestamp=true フラグを指定する必要があります。それ以外の場合は、--discard-local-ssds-at-termination-timestamp=true フラグを省略します。

    次のように置き換えます。

    • VM_NAME: 更新する VM の名前
    • DURATION: この VM が自動的に終了するまでの実行時間。期間を、日数、時間、分、秒としてフォーマットし、その後に dhms を続けて指定します。たとえば、期間を 30 分にする場合は 30m を指定します。期間を 1 日、2 時間、3 分、4 秒にする場合は 1d2h3m4s を指定します。最小期間は 30 秒(30s)、最大期間は 120 日間(120d)です。
    • TIME: この VM を自動的に終了する時刻。指定する時刻は、少なくとも 30 秒先の未来とし、120 日以内にする必要があります。時刻を RFC 3339 タイムスタンプとしてフォーマットします。

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      次のように置き換えます。

      • YYYY-MM-DD: 4 桁の年、2 桁の月、その月の 2 桁の日をハイフンで区切った日付。
      • HH:MM:SS: 24 時間における 2 桁の時間、2 桁の分、2 桁の秒をコロンで区切った時刻。
      • OFFSET: 協定世界時(UTC)のオフセット形式で示されるタイムゾーン。たとえば、UTC よりも 8 時間早い太平洋標準時(PST)を使用するには、-08:00 を指定します。オフセットなし(UTC+0)を使用する場合は、Z を指定します。
    • TERMINATION_ACTION: この VM の終了アクション。停止(STOP)または削除(DELETE)のいずれかです。このフィールドが必須か、デフォルト値かは VM のプロビジョニング モデルによって異なります。

      • これが Spot VM の場合(VM が --provisioning-model=SPOT フラグを使用している場合)、--instance-termination-action=TERMINATION_ACTION フラグは省略可能です。このフラグを省略すると、デフォルトの終了アクションは停止です。
      • それ以外の場合(デフォルト)は、--instance-termination-action=TERMINATION_ACTION フラグが必要です。
  3. VM の実行を開始するには、gcloud compute instances start コマンドを使用して VM を起動します。

    gcloud compute instances start VM_NAME
    

    VM_NAME は VM の名前で置き換えます。

REST

Compute Engine API を使用して VM のタイムアウトを更新するには、次の操作を行います。

  1. VM が実行されている場合は、instances.stop メソッドを使用して VM を停止します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
    

    次のように置き換えます。

  2. ベータ版の instances.setScheduling メソッドを使用して、VM の制限時間のフィールドを含む VM の scheduling プロパティを更新します。maxRunDuration フィールドまたは terminationTime フィールドを含めて、それぞれ制限時間を期間または時間で設定します。

    • 期間を設定するには、次のリクエストを使用します。

      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
      {
        "maxRunDuration":
        {
          "seconds": DURATION
        },
        "instanceTerminationAction": "TERMINATION_ACTION"
      }
      
    • 時間を設定するには、次のリクエストを使用します。

      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
      {
        "terminationTime": "TIME",
        "instanceTerminationAction": "TERMINATION_ACTION"
      }
      

    次のように置き換えます。

    • PROJECT_ID: VM を作成するプロジェクトの ID
    • ZONE: VM を作成するゾーン。ゾーンは、新しい VM に使用するマシンタイプもサポートしている必要があります。
    • MACHINE_TYPE: 新しい VM の事前定義またはカスタム マシンタイプ。
    • VM_NAME: 新しい VM の名前
    • IMAGE_PROJECT: イメージを含むプロジェクト。たとえば、イメージとして family/debian-10 を指定する場合は、イメージ プロジェクトとして debian-cloud を指定します。
    • IMAGE: 新しい VM のイメージ。特定のバージョンの公開イメージまたはイメージ ファミリーのいずれかを指定できます。たとえば、イメージとして family/debian-10 を指定し、イメージ プロジェクトとして debian-cloud を指定すると、Compute Engine は Debian 10 イメージ ファミリーの最新バージョンの OS イメージから VM を作成します。
    • DURATION: この VM を自動的に終了するまでの実行期間の秒数。最小期間は 30 秒(30s)、最大期間は 120 日間(120d)です。
    • TIME: この VM を自動的に終了する時刻。指定する時刻は、少なくとも 30 秒先の未来とし、120 日以内にする必要があります。時刻を RFC 3339 タイムスタンプとしてフォーマットします。

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      次のように置き換えます。

      • YYYY-MM-DD: 4 桁の年、2 桁の月、その月の 2 桁の日をハイフンで区切った日付。
      • HH:MM:SS: 24 時間における 2 桁の時間、2 桁の分、2 桁の秒をコロンで区切った時刻。
      • OFFSET: 協定世界時(UTC)のオフセット形式で示されるタイムゾーン。たとえば、UTC よりも 8 時間早い太平洋標準時(PST)を使用するには、-08:00 を指定します。オフセットなし(UTC+0)を使用する場合は、Z を指定します。
    • TERMINATION_ACTION: この VM の終了アクション。停止(STOP)または削除(DELETE)のいずれかです。このフィールドが必須か、デフォルト値かは VM のプロビジョニング モデルによって異なります。

      • これが Spot VM の場合(VM が "provisioningModel": "SPOT" フィールドを使用している場合)、"instanceTerminationAction": "TERMINATION_ACTION" フィールドは省略可能です。このフィールドを省略すると、デフォルトの終了アクションは終了です。
      • それ以外の場合(デフォルト)、"instanceTerminationAction": "TERMINATION_ACTION" フィールドが必要です。
  3. VM の実行を開始する場合は、instances.start メソッドを使用して VM を起動します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
    

    次のように置き換えます。

VM の実行時間をモニタリングする

次のオプションを使用して、制限時間のある VM の実行時間をモニタリングできます。

  • 実行中の VM が自動的に終了するスケジュールを確認するには、VM の終了タイムスタンプを確認します。

    1. VM の詳細を表示します
    2. 出力で、VM の終了タイムスタンプ フィールドを確認します。
      • Google Cloud コンソールを使用している場合は、[Max duration] フィールドを確認します。
      • Google Cloud CLI または Compute Engine API を使用している場合は、terminationTimestamp フィールドを参照してください。
  • VM が自動的に終了されたかどうかを確認するには、VM のオペレーションを確認します。

    1. VM オペレーションを表示します
    2. 出力で、次のタイプのオペレーションを探して、制限時間の原因となっている VM オペレーションを特定します。

      • compute.instances.deferredStop: 停止に対する自動終了アクション
      • compute.instances.deferredDelete: 削除に対する自動終了アクション

次のステップ