ノートブックのスケジュールを設定する
このドキュメントでは、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 のサービス アカウントについてをご覧ください。
必要な権限
ノートブックのスケジュールを作成するには、次のロールが必要です。
- Dataform 管理者(
roles/dataform.admin
) - BigQuery 読み取りセッション ユーザー(
roles/bigquery.readSessionUser
)または BigQuery Studio ユーザー(roles/bigquery.studioUser
)
ノートブックのスケジュールを設定するときにノートブック ランタイム テンプレートを使用するには、ノートブック ランタイム ユーザー(roles/aiplatform.notebookRuntimeUser
)のロールが必要です。
ノートブックのスケジュールを編集および削除するには、Dataform 編集者(roles/dataform.editor
)のロールが必要です。
ノートブックのスケジュールを表示するには、Dataform 閲覧者(roles/dataform.viewer
)のロールが必要です。
BigQuery IAM の詳細については、IAM によるアクセス制御をご覧ください。
スケジュールを作成する
ノートブックのスケジュールを作成する手順は次のとおりです。
[エクスプローラ] ペイン
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインで、プロジェクトと [ノートブック] フォルダを開き、必要に応じて [共有ノートブック] フォルダを開きます。スケジュール設定するノートブックの名前をクリックします。
[スケジュール] をクリックします。
[ノートブックのスケジュール] ペインの [スケジュール名] フィールドに、スケジュールの名前を入力します。
[サービス アカウント] フィールドで、サービス アカウントを選択します。
[ノートブックのオプション] セクションの [ランタイム テンプレート] フィールドで、Colab ノートブックのランタイム テンプレートまたはデフォルトのランタイム仕様を選択します。Colab ノートブックのランタイム テンプレートの作成の詳細については、ランタイム テンプレートを作成するをご覧ください。
[Cloud Storage バケット] フィールドで、[参照] をクリックして、Cloud Storage バケットを選択または作成します。
選択したサービス アカウントには、選択したバケットに対するストレージ管理者(
roles/storage.admin
)の IAM ロールを付与する必要があります。詳細については、ノートブックのスケジューリングを有効にするをご覧ください。[スケジュールの頻度] セクションで、次の操作を行います。
- [繰り返しの頻度] メニューで、ノートブックの実行スケジュールの頻度を選択します。
- [時刻] フィールドに、ノートブックの実行スケジュールを設定する時刻を入力します。
- [タイムゾーン] メニューで、スケジュールのタイムゾーンを選択します。
[スケジュールを作成] をクリックします。
スケジュールを作成すると、現在のバージョンのノートブックが自動的にデプロイされます。新しいバージョンのノートブックでスケジュールを更新するには、ノートブックをデプロイします。
ノートブックの最新のデプロイ バージョンが、選択した時間と頻度で実行されます。
[スケジュール設定] ページ
Google Cloud コンソールで [スケジュール設定] ページに移動します。
[作成] をクリックし、メニューから [ノートブックのスケジュール] を選択します。
[ノートブックのスケジュール] ペインの [ノートブック] フィールドで、スケジュールを設定するノートブックを選択します。
[スケジュール名] フィールドに、スケジュールの名前を入力します。
[サービス アカウント] フィールドで、サービス アカウントを選択します。
[ノートブックのオプション] セクションの [ランタイム テンプレート] フィールドで、Colab ノートブックのランタイム テンプレートまたはデフォルトのランタイム仕様を選択します。Colab ノートブックのランタイム テンプレートの作成の詳細については、ランタイム テンプレートを作成するをご覧ください。
[Cloud Storage バケット] フィールドで、[参照] をクリックして、Cloud Storage バケットを選択または作成します。
選択したサービス アカウントには、選択したバケットに対するストレージ管理者(
roles/storage.admin
)の IAM ロールを付与する必要があります。詳細については、ノートブックのスケジューリングを有効にするをご覧ください。[スケジュールの頻度] セクションで、次の操作を行います。
- [繰り返しの頻度] メニューで、ノートブックの実行スケジュールの頻度を選択します。
- [時刻] フィールドに、ノートブックの実行スケジュールを設定する時刻を入力します。
- [タイムゾーン] メニューで、スケジュールのタイムゾーンを選択します。
[スケジュールを作成] をクリックします。
スケジュールを作成すると、現在のバージョンのノートブックが自動的にデプロイされます。新しいバージョンのノートブックでスケジュールを更新するには、ノートブックをデプロイします。
ノートブックの最新のデプロイ バージョンが、選択した時間と頻度で実行されます。
ノートブックをデプロイする
ノートブックをデプロイすると、ノートブックの現在のバージョンでスケジュールが更新されます。スケジュールは、デプロイされた最新バージョンのノートブックを実行します。
ノートブックをデプロイする手順は次のとおりです。
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインで、プロジェクトと [ノートブック] フォルダを開き、必要に応じて [共有ノートブック] フォルダを開きます。選択したノートブックの名前をクリックします。
[デプロイ] をクリックします。
対応するスケジュールが、ノートブックの現在のバージョンで更新されます。デプロイされた最新バージョンのノートブックがスケジュールされた時間に実行されます。
デプロイされたノートブックを手動で実行する
選択したスケジュールにデプロイされたノートブックを手動で実行すると、BigQuery はスケジュールとは関係なく、デプロイされたノートブックを 1 回実行します。
デプロイされたノートブックを手動で実行する手順は次のとおりです。
Google Cloud コンソールで [スケジュール設定] ページに移動します。
選択したノートブックのスケジュールの名前をクリックします。
[スケジュールの詳細] ページで [実行] をクリックします。
すべてのスケジュールを表示する
プロジェクト内のすべてのノートブックのスケジュールを表示する手順は次のとおりです。
Google Cloud コンソールで [スケジュール設定] ページに移動します。
省略可: ノートブックのスケジュールの詳細を含む追加の列を表示するには、
列表示オプションをクリックし、列を選択して [OK] をクリックします。
スケジュールの詳細を表示する
選択したスケジュールの詳細は、[エクスプローラ] ペインまたは [スケジュール設定] ページで確認できます。
選択したノートブックのスケジュールの詳細を表示する手順は次のとおりです。
[エクスプローラ] ペイン
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインで、プロジェクトと [ノートブック] フォルダを開き、必要に応じて [共有ノートブック] フォルダを開きます。選択したノートブックの名前をクリックします。
[スケジュールを表示] をクリックします。
[スケジュール設定] ページ
Google Cloud コンソールで [スケジュール設定] ページに移動します。
選択したノートブックのスケジュールの名前をクリックします。
過去の実行を表示
選択したノートブックのスケジュールの過去の実行は、[エクスプローラ] ペインまたは [スケジュール設定] ページで確認できます。
選択したノートブックのスケジュールの過去の実行を表示する手順は次のとおりです。
[エクスプローラ] ペイン
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインで、プロジェクトと [ノートブック] フォルダを開き、必要に応じて [共有ノートブック] フォルダを開きます。選択したノートブックの名前をクリックします。
[スケジュールを表示] をクリックし、[過去の実行を表示] をクリックします。
[スケジュール設定] ページ
Google Cloud コンソールで [スケジュール設定] ページに移動します。
選択したノートブックのスケジュールの名前をクリックします。
[スケジュールの詳細] ページの [過去の実行] セクションで、過去の実行を確認します。
省略可: 過去の実行のリストを更新するには、[更新] をクリックします。
スケジュールを無効にする
スケジュールを削除せずに、選択したノートブックのスケジュールされた実行を一時停止するには、スケジュールを無効にします。
選択したノートブックのスケジュールを無効にするには、次の操作を行います。
[エクスプローラ] ペイン
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインで、プロジェクトと [ノートブック] フォルダを開き、必要に応じて [共有ノートブック] フォルダを開きます。選択したノートブックの名前をクリックします。
[スケジュールを表示] をクリックします。
スケジュールの詳細テーブルの [スケジュールの状態] 行で、[スケジュールが有効です] 切り替えボタンをクリックします。
[スケジュール設定] ページ
Google Cloud コンソールで [スケジュール設定] ページに移動します。
選択したノートブックの名前をクリックします。
[スケジュールの詳細] ページで、[無効にする] をクリックします。
スケジュールを有効にする
無効になっているノートブックのスケジュールの実行を再開する手順は次のとおりです。
[エクスプローラ] ペイン
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインで、プロジェクトと [ノートブック] フォルダを開き、必要に応じて [共有ノートブック] フォルダを開きます。選択したノートブックの名前をクリックします。
[スケジュールを表示] をクリックします。
スケジュールの詳細テーブルの [スケジュールの状態] 行で、[スケジュールが無効です] 切り替えボタンをクリックします。
[スケジュール設定] ページ
Google Cloud コンソールで [スケジュール設定] ページに移動します。
選択したノートブックの名前をクリックします。
[スケジュールの詳細] ページで、[有効にする] をクリックします。
スケジュールを編集する
スケジュールは、[エクスプローラ] ペインまたは [スケジュール設定] ページで編集できます。
スケジュールを編集する手順は次のとおりです。
[エクスプローラ] ペイン
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインで、プロジェクトと [ノートブック] フォルダを開き、必要に応じて [共有ノートブック] フォルダを開きます。選択したノートブックの名前をクリックします。
[スケジュールを表示] をクリックし、[編集] をクリックします。
[ノートブックのスケジュール] ダイアログでスケジュールを編集し、[スケジュールを更新] をクリックします。
[スケジュール設定] ページ
Google Cloud コンソールで [スケジュール設定] ページに移動します。
選択したノートブックのスケジュールの名前をクリックします。
[スケジュールの詳細] ページで、[編集] をクリックします。
[スケジュールを表示] をクリックし、[編集] をクリックします。
[ノートブックのスケジュール] ダイアログでスケジュールを編集し、[スケジュールを更新] をクリックします。
スケジュールを削除する
選択したノートブックのスケジュールを完全に削除する手順は次のとおりです。
Google Cloud コンソールで [スケジュール設定] ページに移動します。
次のいずれかを行います。
選択したスケジュールの名前をクリックし、[スケジュールの詳細] ページで [削除] をクリックします。
選択したスケジュールを含む行で、[アクション] 列の
[アクションを表示] をクリックし、[削除] をクリックします。
表示されるダイアログで [削除] をクリックします。
次のステップ
- BigQuery での Colab Enterprise ノートブックの詳細を確認する。
- ノートブックの作成方法を学習する。