ノートブックのスケジュールを設定する

このドキュメントでは、BigQuery で Colab Enterprise ノートブックのスケジュールを設定し、スケジュールされたノートブックの実行を検査する方法について説明します。

ノートブックは、Dataform が提供するコードアセットです。

ノートブックをスケジュールして、指定した時間と頻度で自動的に実行できます。たとえば、ML モデルのトレーニング、外部 API の呼び出し、BigQuery DataFrames コードの実行などです。

ノートブックに加えた変更は自動的に保存されますが、変更内容は、自分自身とノートブックにアクセスできるユーザーのみが利用できます。新しいバージョンのノートブックでスケジュールを更新するには、ノートブックをデプロイする必要があります。ノートブックをデプロイすると、現在のバージョンのノートブックでスケジュールが更新されます。スケジュールは、デプロイされた最新バージョンのノートブックを実行します。

各ノートブックのスケジュールは、スケジュールの作成時に選択したサービス アカウントによって実行されます。Dataform のサービス アカウントの種類の詳細については、Dataform のサービス アカウントについてをご覧ください。

Dataform は、スケジュール作成時に選択した Cloud Storage バケットに、スケジュール設定されたノートブックの実行の出力を書き込みます。

ノートブックのスケジュールでは、標準の E2 ランタイムを使用します。Colab Enterprise のランタイムの料金が適用されます。ランタイム処理の料金は、E2 マシンタイプに基づいて請求されます。標準 E2 ランタイムの料金については、Colab Enterprise の料金をご覧ください。

始める前に

始める前に、ノートブックを作成します。

ノートブックのスケジューリングを有効にする

ノートブックのスケジュールを設定するには、ノートブックのスケジュールに使用するサービス アカウントに次のロールを付与する必要があります。

ノートブック エグゼキュータ ユーザー(roles/aiplatform.notebookExecutorUser
プロジェクトに単一のロールを付与するの手順に沿って、選択したプロジェクトのサービス アカウントにノートブック エグゼキュータ ユーザーのロールを付与します。
ストレージ管理者(roles/storage.admin
バケットレベルのポリシーにプリンシパルを追加するの手順に沿って、サービス アカウントをプリンシパルとして、スケジュール設定したノートブックの実行の出力を保存するために使用する Cloud Storage バケットに追加し、このプリンシパルにストレージ管理者のロールを付与します。
サービス アカウント ユーザー(roles/iam.serviceAccountUser
サービス アカウントに単一のロールを付与するの手順に沿って、サービス アカウントをプリンシパルとして自身に追加します。つまり、サービス アカウントをプリンシパルとして同じサービス アカウントに追加します。次に、このプリンシパルにサービス アカウント ユーザーのロールを付与します。

また、デフォルトの Dataform サービス アカウントに次のロールを付与する必要があります。

サービス アカウント トークン作成者(roles/iam.serviceAccountTokenCreator
カスタム Dataform サービス アカウントにトークン作成のアクセス権を付与するの手順に沿って、デフォルトの Dataform サービス アカウントをプリンシパルとしてサービス アカウントに追加し、このプリンシパルにサービス アカウント トークン作成者のロールを付与します。

Dataform のサービス アカウントの詳細については、Dataform のサービス アカウントについてをご覧ください。

必要な権限

ノートブックのスケジュールを作成するには、次のロールが必要です。

ノートブックのスケジュールを設定するときにノートブック ランタイム テンプレートを使用するには、ノートブック ランタイム ユーザー(roles/aiplatform.notebookRuntimeUserのロールが必要です。

ノートブックのスケジュールを編集および削除するには、Dataform 編集者(roles/dataform.editorのロールが必要です。

ノートブックのスケジュールを表示するには、Dataform 閲覧者(roles/dataform.viewerのロールが必要です。

BigQuery IAM の詳細については、IAM によるアクセス制御をご覧ください。

スケジュールを作成する

ノートブックのスケジュールを作成する手順は次のとおりです。

[エクスプローラ] ペイン

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

    [BigQuery] に移動

  2. [エクスプローラ] ペインで、プロジェクトと [ノートブック] フォルダを開き、必要に応じて [共有ノートブック] フォルダを開きます。スケジュール設定するノートブックの名前をクリックします。

  3. [スケジュール] をクリックします。

  4. [ノートブックのスケジュール] ペインの [スケジュール名] フィールドに、スケジュールの名前を入力します。

  5. [サービス アカウント] フィールドで、サービス アカウントを選択します。

  6. [ノートブックのオプション] セクションの [ランタイム テンプレート] フィールドで、Colab ノートブックのランタイム テンプレートまたはデフォルトのランタイム仕様を選択します。Colab ノートブックのランタイム テンプレートの作成の詳細については、ランタイム テンプレートを作成するをご覧ください。

  7. [Cloud Storage バケット] フィールドで、[参照] をクリックして、Cloud Storage バケットを選択または作成します。

    選択したサービス アカウントには、選択したバケットに対するストレージ管理者(roles/storage.adminの IAM ロールを付与する必要があります。詳細については、ノートブックのスケジューリングを有効にするをご覧ください。

  8. [スケジュールの頻度] セクションで、次の操作を行います。

    1. [繰り返しの頻度] メニューで、ノートブックの実行スケジュールの頻度を選択します。
    2. [時刻] フィールドに、ノートブックの実行スケジュールを設定する時刻を入力します。
    3. [タイムゾーン] メニューで、スケジュールのタイムゾーンを選択します。
  9. [スケジュールを作成] をクリックします。

スケジュールを作成すると、現在のバージョンのノートブックが自動的にデプロイされます。新しいバージョンのノートブックでスケジュールを更新するには、ノートブックをデプロイします。

ノートブックの最新のデプロイ バージョンが、選択した時間と頻度で実行されます。

[スケジュール設定] ページ

  1. Google Cloud コンソールで [スケジュール設定] ページに移動します。

    [スケジュール設定] に移動

  2. [作成] をクリックし、メニューから [ノートブックのスケジュール] を選択します。

  3. [ノートブックのスケジュール] ペインの [ノートブック] フィールドで、スケジュールを設定するノートブックを選択します。

  4. [スケジュール名] フィールドに、スケジュールの名前を入力します。

  5. [サービス アカウント] フィールドで、サービス アカウントを選択します。

  6. [ノートブックのオプション] セクションの [ランタイム テンプレート] フィールドで、Colab ノートブックのランタイム テンプレートまたはデフォルトのランタイム仕様を選択します。Colab ノートブックのランタイム テンプレートの作成の詳細については、ランタイム テンプレートを作成するをご覧ください。

  7. [Cloud Storage バケット] フィールドで、[参照] をクリックして、Cloud Storage バケットを選択または作成します。

    選択したサービス アカウントには、選択したバケットに対するストレージ管理者(roles/storage.adminの IAM ロールを付与する必要があります。詳細については、ノートブックのスケジューリングを有効にするをご覧ください。

  8. [スケジュールの頻度] セクションで、次の操作を行います。

    1. [繰り返しの頻度] メニューで、ノートブックの実行スケジュールの頻度を選択します。
    2. [時刻] フィールドに、ノートブックの実行スケジュールを設定する時刻を入力します。
    3. [タイムゾーン] メニューで、スケジュールのタイムゾーンを選択します。
  9. [スケジュールを作成] をクリックします。

スケジュールを作成すると、現在のバージョンのノートブックが自動的にデプロイされます。新しいバージョンのノートブックでスケジュールを更新するには、ノートブックをデプロイします。

ノートブックの最新のデプロイ バージョンが、選択した時間と頻度で実行されます。

ノートブックをデプロイする

ノートブックをデプロイすると、ノートブックの現在のバージョンでスケジュールが更新されます。スケジュールは、デプロイされた最新バージョンのノートブックを実行します。

ノートブックをデプロイする手順は次のとおりです。

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

    [BigQuery] に移動

  2. [エクスプローラ] ペインで、プロジェクトと [ノートブック] フォルダを開き、必要に応じて [共有ノートブック] フォルダを開きます。選択したノートブックの名前をクリックします。

  3. [デプロイ] をクリックします。

対応するスケジュールが、ノートブックの現在のバージョンで更新されます。デプロイされた最新バージョンのノートブックがスケジュールされた時間に実行されます。

デプロイされたノートブックを手動で実行する

選択したスケジュールにデプロイされたノートブックを手動で実行すると、BigQuery はスケジュールとは関係なく、デプロイされたノートブックを 1 回実行します。

デプロイされたノートブックを手動で実行する手順は次のとおりです。

  1. Google Cloud コンソールで [スケジュール設定] ページに移動します。

    [スケジュール設定] に移動

  2. 選択したノートブックのスケジュールの名前をクリックします。

  3. [スケジュールの詳細] ページで [実行] をクリックします。

すべてのスケジュールを表示する

プロジェクト内のすべてのノートブックのスケジュールを表示する手順は次のとおりです。

  1. Google Cloud コンソールで [スケジュール設定] ページに移動します。

    [スケジュール設定] に移動

  2. 省略可: ノートブックのスケジュールの詳細を含む追加の列を表示するには、 列表示オプションをクリックし、列を選択して [OK] をクリックします。

スケジュールの詳細を表示する

選択したスケジュールの詳細は、[エクスプローラ] ペインまたは [スケジュール設定] ページで確認できます。

選択したノートブックのスケジュールの詳細を表示する手順は次のとおりです。

[エクスプローラ] ペイン

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

    [BigQuery] に移動

  2. [エクスプローラ] ペインで、プロジェクトと [ノートブック] フォルダを開き、必要に応じて [共有ノートブック] フォルダを開きます。選択したノートブックの名前をクリックします。

  3. [スケジュールを表示] をクリックします。

[スケジュール設定] ページ

  1. Google Cloud コンソールで [スケジュール設定] ページに移動します。

    [スケジュール設定] に移動

  2. 選択したノートブックのスケジュールの名前をクリックします。

過去の実行を表示

選択したノートブックのスケジュールの過去の実行は、[エクスプローラ] ペインまたは [スケジュール設定] ページで確認できます。

選択したノートブックのスケジュールの過去の実行を表示する手順は次のとおりです。

[エクスプローラ] ペイン

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

    [BigQuery] に移動

  2. [エクスプローラ] ペインで、プロジェクトと [ノートブック] フォルダを開き、必要に応じて [共有ノートブック] フォルダを開きます。選択したノートブックの名前をクリックします。

  3. [スケジュールを表示] をクリックし、[過去の実行を表示] をクリックします。

[スケジュール設定] ページ

  1. Google Cloud コンソールで [スケジュール設定] ページに移動します。

    [スケジュール設定] に移動

  2. 選択したノートブックのスケジュールの名前をクリックします。

  3. [スケジュールの詳細] ページの [過去の実行] セクションで、過去の実行を確認します。

  4. 省略可: 過去の実行のリストを更新するには、[更新] をクリックします。

スケジュールを無効にする

スケジュールを削除せずに、選択したノートブックのスケジュールされた実行を一時停止するには、スケジュールを無効にします。

選択したノートブックのスケジュールを無効にするには、次の操作を行います。

[エクスプローラ] ペイン

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

    [BigQuery] に移動

  2. [エクスプローラ] ペインで、プロジェクトと [ノートブック] フォルダを開き、必要に応じて [共有ノートブック] フォルダを開きます。選択したノートブックの名前をクリックします。

  3. [スケジュールを表示] をクリックします。

  4. スケジュールの詳細テーブルの [スケジュールの状態] 行で、[スケジュールが有効です] 切り替えボタンをクリックします。

[スケジュール設定] ページ

  1. Google Cloud コンソールで [スケジュール設定] ページに移動します。

    [スケジュール設定] に移動

  2. 選択したノートブックの名前をクリックします。

  3. [スケジュールの詳細] ページで、[無効にする] をクリックします。

スケジュールを有効にする

無効になっているノートブックのスケジュールの実行を再開する手順は次のとおりです。

[エクスプローラ] ペイン

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

    [BigQuery] に移動

  2. [エクスプローラ] ペインで、プロジェクトと [ノートブック] フォルダを開き、必要に応じて [共有ノートブック] フォルダを開きます。選択したノートブックの名前をクリックします。

  3. [スケジュールを表示] をクリックします。

  4. スケジュールの詳細テーブルの [スケジュールの状態] 行で、[スケジュールが無効です] 切り替えボタンをクリックします。

[スケジュール設定] ページ

  1. Google Cloud コンソールで [スケジュール設定] ページに移動します。

    [スケジュール設定] に移動

  2. 選択したノートブックの名前をクリックします。

  3. [スケジュールの詳細] ページで、[有効にする] をクリックします。

スケジュールを編集する

スケジュールは、[エクスプローラ] ペインまたは [スケジュール設定] ページで編集できます。

スケジュールを編集する手順は次のとおりです。

[エクスプローラ] ペイン

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

    [BigQuery] に移動

  2. [エクスプローラ] ペインで、プロジェクトと [ノートブック] フォルダを開き、必要に応じて [共有ノートブック] フォルダを開きます。選択したノートブックの名前をクリックします。

  3. [スケジュールを表示] をクリックし、[編集] をクリックします。

  4. [ノートブックのスケジュール] ダイアログでスケジュールを編集し、[スケジュールを更新] をクリックします。

[スケジュール設定] ページ

  1. Google Cloud コンソールで [スケジュール設定] ページに移動します。

    [スケジュール設定] に移動

  2. 選択したノートブックのスケジュールの名前をクリックします。

  3. [スケジュールの詳細] ページで、[編集] をクリックします。

  4. [スケジュールを表示] をクリックし、[編集] をクリックします。

  5. [ノートブックのスケジュール] ダイアログでスケジュールを編集し、[スケジュールを更新] をクリックします。

スケジュールを削除する

選択したノートブックのスケジュールを完全に削除する手順は次のとおりです。

  1. Google Cloud コンソールで [スケジュール設定] ページに移動します。

    [スケジュール設定] に移動

  2. 次のいずれかを行います。

    • 選択したスケジュールの名前をクリックし、[スケジュールの詳細] ページで [削除] をクリックします。

    • 選択したスケジュールを含む行で、[アクション] 列の [アクションを表示] をクリックし、[削除] をクリックします。

  3. 表示されるダイアログで [削除] をクリックします。

次のステップ