ワークスペースでのSnowflake Notebooksのコンピュート設定

コンピュートを設定する

ユーザーがノートブックを実行すると、ユーザーはSnowflake管理のノートブックサービスを作成し、ノートブックカーネルをホストしてコードを実行します。

ノートブックサービスを作成する場合、ユーザーはPythonバージョン、Snowflake Container Runtimeバージョン、コンピューティングプール、アイドルタイムアウト、外部アクセス統合を構成し、オプションでサービス名をカスタマイズできます。

各ノートブックサービスは1人のユーザーにスコープされ、選択されたコンピューティングプール上の1つのノードを占有します。同じサービスに接続されたすべてのノートブックは、そのノードのコンピューティングリソースを共有します。ノートブックに専用のコンピューティングリソースが必要な場合は、別個のノートブックサービスを作成し、そのサービスに追加のノートブックをアタッチしないようにします。

../../../_images/notebook-compute-diagram1.png

ノートブックサービスを管理する

中断

ノートブックサービスを手動で一時停止するには、 Connected をクリックし、サービス名にカーソルを合わせて、 Suspend (一時停止アイコン)を選択します。

あるいは、サービスがアイドルタイムアウト設定に達するのを待つこともできます。その後、サービスは自動的に一時停止します。アイドル時間の計算方法の詳細については、 アイドルタイムアウト をご参照ください。

サービスを一時停止すると、そのサービスに接続されているすべてのノートブックが切断され、メモリ内の状態がクリアされ、すべてのパッケージと変数が削除されます。コードとコマンドラインからワークスペースファイルシステムと /tmp ディレクトリに作成されたファイルも失われます。ファイルシステムの制限の詳細については、 ファイルシステムの操作 をご参照ください。

再開

一時停止したサービスを再開するには、ノートブックを接続するか、以前に接続していたノートブックを実行します。

削除

サービスをドロップするには、以下の手順に従ってください。

  1. Snowsight にサインインします。

  2. Connected ドロップダウンを選択します。

  3. Manage service を選択して、 Services & jobs ページに移動します。

  4. ドロップしたいサービスの省略記号を選択し、 Drop を選択します。

ノートブックサービスを編集する

ノートブックサービスは、作成後に更新して次の変更を行うことができます。

  1. 外部アクセス統合。

  2. ランタイムバージョン。

  3. アイドルタイムアウト。

(1)または(2)を変更すると、サービスを一時停止してから再起動します。アイドルタイムアウトを変更しても、サービスは再起動されません。

アイドルタイムアウト

各ノートブックサービスは、独自のアイドルタイムアウトを定義します。アイドル時間に達すると、サービスは一時停止されます。アイドル時間は、接続されたすべてのノートブックで実行中のセルがすべて終了するとすぐに始まります。複数のノートブックが同じサービスを共有している場合、アイドル時間は、最後のノートブックがアイドル状態になる(セルが実行されない)ときにのみ開始されます。

クレジット使用状況

ノートブックの実行では、2つのソースからクレジットが発生する可能性があります。

  • コンピューティングプール:ノートブックカーネルとPythonプロセスを強化します。

    クレジットは、ノートブックサービスが RUNNING 状態にある間、手動で一時停止されるか、アイドルタイムアウトにより一時停止されるまで発生します。同じサービスに接続されたすべてのノートブックは、消費されたコンピューティングプールのクレジットを共有します。

  • クエリウェアハウス:ノートブックによってトリガーされる SQL クエリやSnowparkプッシュダウンコンピュートに使用されます。

    クレジットは、 SQL クエリやSnowparkプッシュダウンコンピュート操作がウェアハウスで実行された場合にのみ発生します。コストを最適化するには、クエリウェアハウスで自動一時停止を有効にします。SQL クエリまたはSnowparkプッシュダウンコンピュートを呼び出さないノートブックには、クエリウェアハウスクレジットは発生しません。

コスト最適化と価値の最大化の詳細については、 コストの最適化 をご参照ください。

ノートブックサービスのガバナンス

ノートブックサービスは各ユーザー固有のものであり、ノートブックの実行専用に使用され、ユーザーの個人用データベース( PDB )内に配置されます。

権限

所有権

Snowflakeがこれらのサービスを管理するため、 OWNER_ROLE は NULL です。

ユーザー権限

作成ユーザーには、次の権限が付与されます。

  • USAGE

  • OPERATE

  • DROP

  • MONITOR

管理者権限

ACCOUNTADMIN には、次の権限が付与されます。

  • USAGE

  • OPERATE

  • DROP

これにより、すべてのノートブックサービスを完全に管理および監視できます。

コンピューティングプールの管理者制御およびコスト監視

管理者は、主にノートブックサービスに関連付けられたコンピューティングプールを通じてユーザーアクセスとコストを管理します。

ノートブックサービスを作成してノートブックを実行するには、ユーザーのロールにコンピューティングプールに対する USAGE 権限が必要です。さらに、コンピューティングプールは ALLOWED_SPCS_WORKLOAD_TYPES パラメーターを使用して NOTEBOOK ワークロードタイプを許可する必要があります。このパラメーターのデフォルト値は ALL で、これには NOTEBOOK が含まれます。

コンピューティングプールのワークロードの詳細については、 Snowpark Container Services: コンピューティングプールの操作 をご参照ください。

ノートブックの実行を無効にする

管理者は、複数の方法でワークスペース内のノートブックの実行を制限できます。

コンピューティングプール上の USAGE を削除する

コンピューティングプールのロールから USAGE 権限を削除すると、そのロールはノートブックの実行を含め、そのコンピューティングプールを使用できなくなります。

すべてのコンピューティングプールでワークロードタイプを制限する

管理者は、2つのアカウントレベルのパラメーターを使用して、ノートブックの実行を制限しながら、他のワークロードを許可することができます。これはアカウントのすべてのロールに影響します。

  • ALLOWED_SPCS_WORKLOAD_TYPES パラメーターから NOTEBOOK を除外します。

  • DISALLOWED_SPCS_WORKLOAD_TYPES パラメーターとして NOTEBOOK を設定します。

コンピューティングプールの USAGE 権限を持つロールは、パラメーターで指定された他の許可されたタイプのワークロードを引き続き実行できます。

コストを監視する

管理者は、コンピューティングプールごとの消費量を監視できます。Snowflakeは、ロールレベルの消費量を表示するために、ロールごとに一意のコンピューティングプールをプロビジョニングすることを推奨します。支出を管理するために、管理者は特定のコンピューティングプールに予算を適用できます。

ノートブック管理のサービスを表示する

SHOW SERVICES コマンドを使用します。

SHOW SERVICES OF TYPE NOTEBOOK;
Copy

ノートブックサービスをドロップする

管理者は SQL でノートブックサービスをドロップできます。

DROP USER$DB_NAME.PUBLIC.[SERVICE_NAME];
Copy

または、管理者は Snowsight を使用できます。

  1. Snowsight にサインインします。

  2. ナビゲーションメニューで Monitoring » Services & jobs を選択します。

  3. 省略記号を選択してから、 Drop を選択します。

サービスのメンテナンス

ノートブックサービスは Snowpark Container Services の一種であり、セキュリティを維持し最新の状態に保つために定期的なメンテナンスを必要とします。メンテナンスには通常5分ほどかかり、ノートブックサービスを一時停止して再起動します。ワークロードへの影響の詳細については、 ノートブックサービスを管理する をご参照ください。

ノートブックサービスが RUNNING 状態になった後(新しく作成された場合も、 SUSPENDED 状態から再開された場合も)、サービスメンテナンスによる中断は7日間(168時間)発生しないことが保証されています。作成後7日が経過すると、サービスは必須メンテナンスのために一時停止される場合があります。