クラスタのスケジュール設定された削除

非アクティブなクラスタに対して Google Cloud の料金が発生しないようにするには、クラスタの作成時に Dataproc のクラスタのスケジュール設定された削除機能を使用します。この機能には、クラスタを削除するためのオプションがあります。

  • 指定したクラスタ アイドル期間の経過後
  • 指定した将来の時刻
  • クラスタ作成リクエストの送信時点から始まる、指定した期間の経過後

クラスタのアイドル時間の計算

dataproc:dataproc.cluster-ttl.consider-yarn-activity クラスタ・プロパティは、以下のようにクラスタのアイドル時間の計算に影響します

  • このプロパティはデフォルトで有効(true に設定)になっています。
  • このプロパティが有効になっている場合、クラスタのアイドル時間の計算を開始してインクリメントを継続するには、YARN アクティビティと Dataproc Jobs API アクティビティの両方がアイドル状態になっている必要があります。
    • YARN アクティビティには、保留中の YARN アプリケーションと実行中の YARN アプリケーションが含まれます。
    • Dataproc Jobs API アクティビティには、Dataproc Jobs API にサブミットされた保留中のジョブと実行中のジョブが含まれます。
  • このプロパティが false に設定されている場合、クラスタのアイドル時間の計算を開始してインクリメントを継続するには、Dataproc Jobs API アクティビティのみがアイドル状態になっている必要があります。

クラスタのスケジュール設定された削除の使用

gcloud コマンド

次のスケジュール設定された削除フラグを gcloud dataproc clusters create コマンドに渡すことで、クラスタのスケジュール設定された削除機能を使用してクラスタを作成できます。

フラグ説明最も細かい粒度最小値最大値
--max-idle1クラスタがアイドル状態になってからクラスタの削除を開始するまでの期間。期間は IntegerUnit 形式で指定します。単位は「s、m、h、d」(それぞれ秒、分、時間、日)のいずれかにできます。たとえば、「30m」または「1d」(クラスタがアイドル状態になってから 30 分または 1 日)とします。1 秒5分14 日
--expiration-time2クラスタの削除を開始する時点を ISO 8601 の日付時刻形式で指定します。正しい形式の日時を生成する簡単な方法として、Timestamp Generator を使用することがあげられます。たとえば、「2017-08-22T13:31:48-08:00」は UTC -8:00 のタイムゾーンの 13:21:48 を有効期限として設定します。1 秒現時点から 10 分現時点から 14 日間
--max-age2クラスタ作成リクエストを送信してから、クラスタの削除が開始されるまでの期間。期間は IntegerUnit 形式で指定します。単位は「s、m、h、d」(それぞれ秒、分、時間、日)のいずれかにできます。たとえば、「30m」(今から 30 分間)、「1d」(今から 1 日)のようにします。1 秒10 分14 日
gcloud dataproc clusters create cluster-name \
    --region=region \
    --max-idle=duration \
    --expiration-time=time \
    ... other flags ...

スケジュール設定された削除機能を使用して作成されたクラスタを更新し、この機能の設定を変更または削除するには、次に示すスケジュール設定された削除フラグを gcloud dataproc clusters update コマンドに渡します(他のクラスタ更新フラグとスケジュール設定された削除フラグは併用できません)。

フラグ説明最も細かい粒度最小値最大値
--max-idle1クラスタがアイドル状態になってからクラスタの削除を開始するまでの期間。期間は IntegerUnit 形式で指定します。単位は「s、m、h、d」(それぞれ秒、分、時間、日)のいずれかにできます。たとえば、「30m」または「1d」(クラスタがアイドル状態になってから 30 分または 1 日)とします。1 秒5分14 日
--no-max-idlemax-idle フラグで以前に設定したクラスタ アイドル期間によるクラスタ自動削除をキャンセルします。なしなしなし
--expiration-time2クラスタの削除を開始する時点を ISO 8601 の日付時刻形式で指定します。正しい形式の日時を生成する簡単な方法として、Timestamp Generator を使用することがあげられます。たとえば、「2017-08-22T13:31:48-08:00」は UTC -8:00 のタイムゾーンの 13:21:48 を有効期限として設定します。1 秒現在の時刻から 10 分であり、新しい時刻は以前に設定された時刻より早くしないでください。現時点から 14 日間
--max-age2クラスタ更新リクエストを送信してから、クラスタの削除が開始されるまでの期間。期間は IntegerUnit 形式で指定します。単位は「s、m、h、d」(それぞれ秒、分、時間、日)のいずれかにできます。たとえば、「30m」(今から 30 分間)、「1d」(今から 1 日)のようにします。1 秒10 分であり、更新後のスケジュール設定された削除時間(更新時間 + 新しい最長期間)は以前に設定されたクラスタ削除時刻より早くしないでください。14 日
--no-max-agemax-age フラグまたは expiration-time フラグで以前に設定した最長クラスタ存続期間によるクラスタ自動削除をキャンセルします。なしなしなし
gcloud dataproc clusters update cluster-name \
    --region=region \
    --max-idle=duration \
    --no-max-age \
    ... other flags

REST API

クラスタのスケジュール設定された削除機能を使用してクラスタを作成するには、次の ClusterLifecycleConfig フィールドを cluster.create または cluster.patch API リクエストに設定します。

フラグ 説明 最も細かい粒度 最小値 最大値
idleDeleteTtl1 クラスタがアイドル状態になってからクラスタの削除を開始するまでの期間。秒単位の期間を小数点以下 9 桁までの値で指定し、末尾に「s」を付加します。例: 「3.5s」 1 秒 クラスタの作成時または更新時から 5 分。クラスタを更新する場合、新しい値は以前に設定した値よりも大きくする必要があります。以前に設定した idleDeleteTtl 値をキャンセルするには、空の期間を指定した cluster.patch リクエストを送信します。 14 日
autoDeleteTime2 クラスタの削除を開始する時間。RFC 3339 UTC「Zulu」形式のタイムスタンプを、ナノ秒単位の精度で指定します。例: 「2014-10-02T15:01:23.045123456Z」。 1 秒 現時点から 10 分。クラスタを更新する場合、新しい時刻は以前に設定した時刻よりも後にする必要があります。 現時点から 14 日間
autoDeleteTtl2 クラスタ作成リクエストまたはクラスタ更新リクエストを送信してから、クラスタの削除が開始されるまでの期間。秒単位の期間を小数点以下 9 桁までの値で指定し、末尾に「s」を付加します。例: 「3.5s」 1 秒 10 分。クラスタを更新する場合、新しいスケジュール設定された削除時間(更新時間 + 新しい最長期間)は以前に設定されたクラスタ削除時刻よりも後にする必要があります。以前に設定した autoDeleteTtl 値をキャンセルするには、空の期間を指定した cluster.patch リクエストを送信します。 14 日

Console

  • Dataproc の [クラスタの作成] ページを開き、[クラスタのカスタマイズ] パネルを選択します。[スケジュール設定された削除] セクションまで下にスクロールし、クラスタに適用するオプションを選択します。

スケジュール設定された削除のクラスタ設定の表示

gcloud コマンド

gcloud dataproc clusters list コマンドを使用して、クラスタでスケジュール設定された削除が有効になっていることを確認できます。

 gcloud dataproc clusters list \
     --region=region
...
NAME         WORKER_COUNT ... SCHEDULED_DELETE
cluster-id   number       ... enabled
...

gcloud dataproc clusters describe コマンドを使用して、クラスタの LifecycleConfig のスケジュール設定された削除の設定を確認できます。

gcloud dataproc clusters describe cluster-name \
    --region=region
...
lifecycleConfig:
  autoDeleteTime: '2018-11-28T19:33:48.146Z'
  idleDeleteTtl: 1800s
  idleStartTime: '2018-11-28T18:33:48.146Z'
...

autoDeleteTimeidleDeleteTtl は、クラスタでユーザーによって設定済みになっているスケジュール設定された削除の構成値です。 Dataproc は idleStartTime 値を生成します。この値は、クラスタのアイドル状態が開始された時刻の最新値です。クラスタがアイドル状態のままの時間が idleStartTime + idleDeleteTtl に達すると、クラスタは Dataproc によって削除されます。

REST API

クラスタでスケジュール設定された削除が有効になっているか確認するには、clusters.list リクエストを行います。

Console

クラスタのスケジュール設定された削除の設定を表示するには、Google Cloud コンソールで Dataproc のクラスタページからクラスタ名を選択します。クラスタの詳細ページで [構成] タブを選択します。クラスタ構成リストを下にスクロールし、スケジュール設定された削除の設定を表示します。