始める前に
サンドボックスのセットアップを完了し、Python クライアントをインストールしたうえで、CoreWeave API アクセストークンを設定します:[RUNNER-ID] は、設定済みのランナーの ID に置き換えてください。Forge のAPIキーでサーバーレス配置を使用する場合は、はじめにに記載されている、認証を明示的に行うセットアップ手順に従ってください。
有効期間を選択する
有効期間は、サンドボックスを実行できる時間の上限です。有効期間が切れると、作業が進行中であってもプラットフォームはサンドボックスを終了します。ワークロードが完了した場合や、ユーザーがサンドボックスを停止した場合は、それより早く終了することがあります。
明示的に指定した有効期間は、ランナーのポリシーのデフォルトよりも優先されます。有効期間を省略すると、プラットフォームは該当するポリシーのデフォルトを使用します。正の値のデフォルトが設定されていない場合、プラットフォームは 10 分 (600 秒) を使用します。長時間実行する作業では、デフォルトに頼らず有効期間を明示的に設定してください。
30 日を超えるリクエストはプラットフォームによって拒否されます。値
0 は実行時間が無制限であることを意味しません。CKS のポリシーでプラットフォームの最大値を引き上げることはできません。
サンドボックスの開始後に有効期間を延長することはできません。作成時に十分な時間を指定し、期限までに作業を保存できるよう計画してください。
サンドボックス作成時に有効期間を設定する
Python ではmax_lifetime_seconds を使用します。以下の例では、上限である 30 日間をリクエストし、後で再接続できるようにサンドボックス ID を出力します。使用する配置モードのタブを選択してください。
- Serverless
- CKS
Serverless サンドボックスを作成する
sleep infinity でプライマリプロセスを動かし続けるため、スクリプトの終了後もサンドボックスは実行されたままになります。サンドボックスを使い終わったら、停止してください。
有効期間は、他のクライアントインターフェースからも同様に設定できます。
リクエスト形式の詳細については、API リファレンスおよびCompose ファイルからサンドボックスを作成するを参照してください。Python クライアントのデフォルトについては、サンドボックスの設定を参照してください。
CKS ランナーのデフォルトを設定する
ランナーのポリシーのデフォルトは、有効期間を個別にリクエストしない新しいサンドボックスに適用されます。CKS ランナー上のワークロードに通常より長い有効期間を与えたい場合に使用します。ポリシーを編集するには、SANDBOX_ADMIN アイデンティティとアクセス管理 (IAM) action が必要です。
ポリシーを更新すると、ポリシードキュメント全体が置き換えられます。抜粋を既存のポリシーの代わりに送信しないでください。送信すると、ポリシー内のその他の制約が削除されます。
-
対話型ターミナルで、認証済みの CoreWeave Intelligent CLI を使用してランナーの現在のポリシーを開きます。
-
constraints.lifecycle.default_lifetime_secondsに任意の秒数を設定します。次の YAML は、デフォルトを 30 日に設定する場合の抜粋です。既存のポリシーのその他の部分はそのまま残してください。ランナーのポリシーの抜粋 -
保存してエディターを閉じ、更新を送信します。ポリシーを取得して値を検証します。
policy.constraints.lifecycle.defaultLifetimeSeconds です。読み取り、編集、置き換えまでの完全な手順については、ポリシーを更新するを参照してください。
デフォルトは、更新後に作成されたサンドボックスに適用されます。実行中のサンドボックスの有効期間は延長されません。サンドボックスは、最大 30 日までの範囲で別の有効期間を明示的にリクエストできます。ポリシーに max_lifetime_seconds を追加しないでください。このフィールドは提供終了となっており、CoreWeave Intelligent CLI はこのフィールドが残っているポリシードキュメントを拒否します。ポリシーではデフォルトを指定し、最大値はプラットフォームによって強制されます。
クライアントのセッションをまたいで作業を継続する
サンドボックスを起動した Python スクリプトの終了後もサンドボックスを存続させたい場合は、前述の例のようにスタンドアロンのサンドボックスを作成します。with Sandbox.run(...) コンテキストを使用すると、設定済みの有効期間が 30 日であっても、ブロックを抜けた時点でサンドボックスが停止します。また、Session も自身が所有するサンドボックスのクリーンアップを管理します。詳しくは Cleanup patterns を参照してください。
別のスクリプトから再接続するには、[SANDBOX-ID] を作成時に出力された ID に置き換えます。認証情報には、サンドボックスの作成時と同じものを使用してください。以下の例では、セットアップ時に取得した CoreWeave API アクセストークンを使用します。
Reconnect to a running sandbox
Connected と出力されます。再接続しても有効期間はリセットされません。作業が終わったら、サンドボックスを明示的に停止してください:
Stop a sandbox
有効期限切れに備える
サンドボックスのライフタイムが切れる前に、結果やチェックポイントをサンドボックスの外部に保存してください。ワークフローに 30 日を超える時間が必要な場合は、代わりのサンドボックスを作成し、保存済みの状態から再開してください。サポートされるストレージとスナップショットのオプションについては、サンドボックスのボリューム および ファイルシステムスナップショット を参照してください。 サンドボックスのライフタイムは、コマンドや API リクエストのタイムアウトとは別物です。timeout_seconds や request_timeout_seconds を増やしても、サンドボックスのライフタイムは延長されません。両者の相違点については、タイムアウト を参照してください。