このドキュメントでは、新規または既存の仮想マシン(VM)インスタンスの実行時間を制限する方法と、それらの VM の実行時間をモニタリングする方法について説明します。マネージド インスタンス グループ(MIG)の場合は、MIG の実行時間を制限するをご覧ください。
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- デフォルトのリージョンとゾーンを設定します。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
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、Terraform、Compute Engine API のいずれかを使用して、VM の実行後に特定の期間で自動的に終了する VM を作成します。
コンソール
Google Cloud コンソールで、[インスタンスの作成] ページに移動します。
[可用性ポリシー] セクションで、[VM プロビジョニング モデルの詳細設定] を開きます。
[VM の制限時間を設定する] チェックボックスをオンにします。[制限時間のタイプ] フィールドが表示されます。
[制限時間のタイプ] フィールドで [時間](デフォルト)を選択して、制限時間を指定します。次のフィールドに、期間を時間単位で入力します。
[VM の終了時] リストで、VM の実行時間が指定の制限に達したときの動作を選択します。
- VM を自動的に停止するには、[停止](デフォルト)を選択します。
- VM を削除するには、[削除] を選択します。
省略可: その他の VM オプションを指定します。詳しくは、VM インスタンスの作成と起動をご覧ください。
VM を作成して起動するには、[作成] をクリックします。
gcloud
gcloud CLI で VM を作成するには、gcloud 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
フラグを省略します。
- VM にローカル SSD があり、終了アクション(
gcloud compute instances create VM_NAME \ --max-run-duration=DURATION \ --instance-termination-action=TERMINATION_ACTION
次のように置き換えます。
VM_NAME
: 新しい VM の名前。DURATION
: この VM が自動的に終了するまでの実行時間。期間を、日数、時間、分、秒としてフォーマットし、その後にd
、h
、m
、s
を続けて指定します。たとえば、期間を 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
フラグが必要です。
- これが Spot VM の場合(VM が
VM の作成時に指定できる他のオプションの詳細については、VM インスタンスの作成と起動をご覧ください。
Terraform
Terraform を使用して VM を作成するには、google_compute_instance
リソースを使用します。
- 特定の期間が経過した後に自動的に終了する VM を作成するには、
max_run_duration
引数を含める必要があります。 - 終了アクションを指定するには、
instance_termination_action
引数を含めます。. Spot VM を作成する場合を除き、instance_termination_action
引数を含める必要があります(provisioning_model
引数をSPOT
に設定)。デフォルトは停止(STOP
)です。 on_instance_stop_action
引数を構成します。- VM にローカル SSD があり、終了アクション(
instance_termination_action
引数)が停止(STOP
)の場合、on_instance_stop_action
引数を true(true
)に設定する必要があります。 - それ以外の場合は、
on_instance_stop_action
引数を省略します。
- VM にローカル SSD があり、終了アクション(
詳細については、google_compute_instance
リソースの Terraform ドキュメントをご覧ください。
REST
Compute Engine API で VM を作成するには、instances.insert
メソッドを使用します。VM の名前、マシンタイプ、ブートディスクを指定する必要があります。
特定の期間が経過した後に自動的に終了する VM を作成するには、maxRunDuration
フィールドを含める必要があります。終了アクションを指定するには、instanceTerminationAction
フィールドを指定します。これは Spot VM では省略可能です。
POST https://compute.googleapis.com/compute/v1/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"
フィールドが必要です。
- これが Spot VM の場合(VM が
VM の作成時に指定できるオプションの詳細については、VM インスタンスの作成と起動をご覧ください。
時間を設定する
時間は、VM を終了する日付、時刻、タイムゾーンを表します。特定の時刻に自動的に終了する VM を作成するには、Google Cloud コンソール、Google Cloud CLI、または Compute Engine API を使用します。
コンソール
Google Cloud コンソールで、[インスタンスの作成] ページに移動します。
[可用性ポリシー] セクションで、[VM プロビジョニング モデルの詳細設定] を開きます。
[VM の制限時間を設定する] チェックボックスをオンにします。[制限時間のタイプ] フィールドが表示されます。
[制限時間のタイプ] フィールドで、[日付] を選択して、制限時間を時間と日付で指定します。次のフィールドで
[日時を選択] をクリックして、制限時間の日付、時間、タイムゾーンを選択します。[VM の終了時] リストで、VM の実行時間が指定の制限に達したときの動作を選択します。
- VM を自動的に停止するには、[停止](デフォルト)を選択します。
- VM を削除するには、[削除] を選択します。
省略可: その他の VM オプションを指定します。詳しくは、VM インスタンスの作成と起動をご覧ください。
VM を作成して起動するには、[作成] をクリックします。
gcloud
gcloud CLI で VM を作成するには、gcloud 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
フラグを省略します。
- VM にローカル SSD があり、終了アクション(
gcloud 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
フラグが必要です。
- これが Spot VM の場合(VM が
VM の作成時に指定できる他のオプションの詳細については、VM インスタンスの作成と起動をご覧ください。
REST
Compute Engine API で VM を作成するには、instances.insert
メソッドを使用します。VM の名前、マシンタイプ、ブートディスクを指定する必要があります。
特定の時刻に自動的に終了する VM を作成するには、terminationTime
フィールドを含める必要があります。終了アクションを指定するには、instanceTerminationAction
フィールドを指定します。これは Spot VM では省略可能です。
POST https://compute.googleapis.com/compute/v1/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"
フィールドが必要です。
- これが Spot VM の場合(VM が
VM の作成時に指定できるオプションの詳細については、VM インスタンスの作成と起動をご覧ください。
既存の VM の実行時間を制限する
VM のスケジュールを更新することで、既存の VM の実行時間を制限できます。制限時間を構成する方法について不明な点がある場合は、新しい VM の実行時間を制限する方法に関する前のセクションを先にご覧ください。
このセクションで説明するように、Google Cloud コンソール、Google Cloud CLI、Compute Engine API を使用して、VM のスケジューリング関連のプロパティを更新できます。この方法では、まず VM を停止してから、プロパティを更新して再起動する必要があります。また、追加の VM プロパティを同時に更新し、VM を自動的に停止して再起動する場合は、インスタンス プロパティを更新するをご覧ください。
コンソール
Google Cloud コンソールで [VM インスタンス] ページに移動します。
[名前] 列で、更新する VM の名前をクリックします。
[VM インスタンスの詳細] ページで、次の手順を行います。
- VM が実行されている場合は、[停止] をクリックして VM を停止します。
- VM を編集するには、 [編集] をクリックします。
[インスタンスの編集] ページで、次の手順を行います。
[可用性ポリシー] セクションで、[VM の制限時間を設定する] チェックボックスと、必要に応じてその下のフィールドを変更します。
制限時間のプロパティを構成する方法については、新しい VM の実行時間を制限するをご覧ください。
変更を保存するには、[保存] をクリックします。
省略可: VM の実行をすぐに開始する場合は、[開始] をクリックします。
gcloud
gcloud CLI を使用して VM のタイムアウトを更新するには、次の操作を行います。
VM が実行されている場合は、
gcloud compute instances stop
コマンドを使用して VM を停止します。gcloud compute instances stop VM_NAME
VM_NAME
は、更新する VM の名前に置き換えます。gcloud compute instances set-scheduling
コマンドを使用して、VM のタイムアウトを更新します。gcloud 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 が自動的に終了するまでの実行時間。期間を、日数、時間、分、秒としてフォーマットし、その後にd
、h
、m
、s
を続けて指定します。たとえば、期間を 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
フラグが必要です。
- これが Spot VM の場合(VM が
- 制限時間を時間または期間で設定するには、
VM の実行を開始するには、
gcloud compute instances start
コマンドを使用して VM を起動します。gcloud compute instances start VM_NAME
VM_NAME
は VM の名前で置き換えます。
REST
Compute Engine API を使用して VM のタイムアウトを更新するには、次の操作を行います。
VM が実行されている場合は、
instances.stop
メソッドを使用して VM を停止します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
次のように置き換えます。
instances.setScheduling
メソッドを使用して、VM の制限時間のフィールドを含む VM のscheduling
プロパティを更新します。maxRunDuration
フィールドまたはterminationTime
フィールドを含めて、それぞれ期間制限または時間制限を設定します。期間を設定するには、次のリクエストを使用します。
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAME/setScheduling { "maxRunDuration": { "seconds": DURATION }, "instanceTerminationAction": "TERMINATION_ACTION" }時間を設定するには、次のリクエストを使用します。
POST https://compute.googleapis.com/compute/v1/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"
フィールドが必要です。
- これが Spot VM の場合(VM が
VM の実行を開始する場合は、
instances.start
メソッドを使用して VM を起動します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
次のように置き換えます。
VM の実行時間をモニタリングする
次のオプションを使用して、制限時間のある VM の実行時間をモニタリングできます。
実行中の VM が自動的に終了するスケジュールを確認するには、VM の終了タイムスタンプを確認します。
- VM の詳細を表示します。
- 出力で、VM の終了タイムスタンプ フィールドを確認します。
- Google Cloud コンソールを使用している場合は、[Max duration] フィールドを確認します。
- Google Cloud CLI または Compute Engine API を使用している場合は、
terminationTimestamp
フィールドを参照してください。
VM が自動的に終了されたかどうかを確認するには、VM のオペレーションを確認します。
- VM オペレーションを表示します。
出力で、次のタイプのオペレーションを探して、制限時間の原因となっている VM オペレーションを特定します。
compute.instances.deferredStop
: 停止に対する自動終了アクションcompute.instances.deferredDelete
: 削除に対する自動終了アクション
次のステップ
VM をさらに最適化する方法を学習する。
- ワークロードがフォールト トレラントの場合は、Spot VM を使用して、大幅な割引とオプションの専用割り当てを利用できます。
- VM がシャットダウンする前にコマンドを自動的に実行する場合は、シャットダウン スクリプトを使用できます。
VM の実行時間を自動的に制限するその他のオプションについて学習する。