Cloud Workstations は、Antigravity CLI や Claude Code などの自律型 AI コーディング エージェントと対話型 AI コーディング エージェントに最適化されたランタイム環境を提供します。 エージェント型開発ワークフローを実行する場合、エージェントは長時間実行される非同期タスク(コード生成、大規模なリファクタリング、テスト実行など)を頻繁に実行したり、人間による入力とレビューを待機している間は一時停止したりします。
標準のワークステーション アイドル タイムアウトでは、長期間の非アクティブ状態が続くと、エフェメラル ワークステーション VM がシャットダウンして削除され、コンテナが終了し、エージェント コンテキストを再初期化する必要があります。エージェントに最適化された開発 では、次の 2 つの主要な機能を組み合わせることで、この問題を解決します。
- ワークステーションの一時停止(
IdleAction.SUSPEND): この機能では、ワークステーション VM がアイドル タイムアウトに達すると、停止するのではなく自動的に一時停止します。 ワークステーションを一時停止すると、仮想マシンの RAM、実行中のプロセス、開いているファイル、アクティブなエージェント コンテキストが永続ストレージに保存され、vCPU とメモリのコンピューティング コストが停止します。 - ライフサイクル Keep-Alive フック: これらのフックを使用すると、AI エージェントは
アクティブな処理中に
バックグラウンド Keep-Alive スクリプト(
/google/scripts/keep_alive.sh)を実行してタイムアウトを防ぎ、ユーザー入力の待機中またはタスクの完了後にスクリプトを終了して、ワークステーションを アイドル状態にして一時停止できます。
エージェントの最適化の仕組み
エージェントの最適化により、長時間実行されるタスクで永続的な状態、費用対効果、シームレスなオペレーションが保証されます。
- アクティブな処理: エージェントがユーザーの指示の実行を開始すると、
ライフサイクル フックがバックグラウンドで
/google/scripts/keep_alive.shを開始します。 このスクリプトは、Cloud Workstations がワークステーションをアイドル状態としてマークしないように、定期的に Keep-Alive シグナルを送信します。 - ユーザー入力またはタスクの完了を待機: エージェントが 作業を完了したとき、またはデベロッパーにレビューや追加の入力を求めるために一時停止したときに、 イベント フックがバックグラウンドの Keep-Alive プロセスを終了します。
- 自動一時停止: アクティブな Keep-Alive シグナルや受信
トラフィックがない場合、ワークステーションのアイドル タイマーは、構成された
アイドル タイムアウトのしきい値までカウントダウンされます。タイムアウトすると、Cloud Workstations はワークステーションをシャットダウンするのではなく、
STATE_SUSPENDEDに移行します。 - 即時再開: デベロッパーが戻って再接続すると( コンソール Google Cloud 、IDE、SSH を使用)、ワークステーションは永続ストレージからすぐに再開され、エージェントの状態、ターミナル セッション、 ワークスペース コンテキストが完全に保持されます。
ワークステーションの一時停止を構成する
ワークステーションの一時停止を有効にするには、idleAction を SUSPEND に設定し、idleTimeout の期間を秒単位で(30 分の場合は 1800s など)指定して、ワークステーション構成を更新します。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
コンソール Google Cloud を使用してサービスと Google Cloud API にアクセスする場合、 認証を設定する必要はありません。
gcloud
コンソール Google Cloud で Cloud Shell をアクティブにします。
コンソールの下部にある Google Cloud Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です 。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています 。セッションが初期化されるまで数秒かかることがあります。
REST
このページの REST API サンプルをローカル開発環境で使用するには、
gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールします。
外部 ID プロバイダ(IdP)を使用している場合は、まず
フェデレーション ID を使用して gcloud CLI にログインする必要があります。
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証する をご覧ください。
コンソール
コンソール Google Cloud でワークステーション構成の一時停止を構成するには:
Google Cloud コンソールで、 [**ワークステーション構成**] に移動します。
[add] [Create] をクリックするか、既存の構成をクリックして [edit] [Edit] をクリックします。
[基本情報] セクションを入力し、[マシン設定] に進みます。
[**アイドル タイムアウト**] で、アイドル タイムアウト の期間(30 分など)を設定します。
[アイドル アクション] プルダウンで [一時停止](または [アイドル タイムアウト時にワークステーションを一時停止])を選択します。
残りの構成手順を完了し、[作成](または [保存])をクリックします。
gcloud
一時停止を有効にして新しいワークステーション構成を作成するには、
gcloud workstations configs create
コマンドを --idle-action=suspend フラグを指定して実行します。
gcloud workstations configs create CONFIG_NAME \
--cluster=CLUSTER_NAME \
--region=LOCATION \
--idle-timeout=1800 \
--idle-action=suspend
一時停止を使用するように既存のワークステーション構成を更新するには、
gcloud workstations configs update
コマンドを実行します。
gcloud workstations configs update CONFIG_NAME \
--cluster=CLUSTER_NAME \
--region=LOCATION \
--idle-timeout=1800 \
--idle-action=suspend
次のように置き換えます。
CONFIG_NAME: ワークステーション構成の名前。CLUSTER_NAME: ワークステーション クラスタの名前。LOCATION: ワークステーション クラスタが配置されているリージョン。
REST
REST API を使用して一時停止を構成するには、idleAction を SUSPEND に設定し、
idleTimeout を選択した期間に設定します。
workstationConfigs
ペイロード:
{
"idleTimeout": "1800s",
"idleAction": "SUSPEND"
}
サンプル Keep-Alive フックでエージェントを構成する
Cloud Workstations の事前構成済みベースイメージには、/google/samples/agents/keepalive/ にサンプル エージェント構成ファイルがプリインストールされています。これらのサンプルでは、Keep-Alive ライフサイクルを自動的に管理するように AI コーディング エージェントを構成する方法を示します。
エージェント Keep-Alive フックの仕組み
最新の AI コーディング エージェントには、主要なライフサイクル マイルストーンでコマンドを実行するイベント フック システムが用意されています。
- 実行開始フック: エージェントがユーザー入力の処理を開始する前にトリガーされます。このフックは、バックグラウンドで
/google/scripts/keep_alive.shを起動し、バックグラウンド プロセス ID(PID)を一時ファイル(/tmp/agent_keep_alive.pidなど)に書き込みます。 - 通知 / ユーザー入力待機フック: エージェントがタスクを完了したとき、またはユーザーに入力を求めるために一時停止したときにトリガーされます。このフックは、一時ファイルから PID を読み取り、バックグラウンドの
keep_alive.shプロセスを終了します。
Claude Code の構成
Claude Code は、設定で構成されたライフサイクル イベント フックをサポートしています。Claude Code の構成ファイルのサンプルは、次の場所にあります。
/google/samples/agents/keepalive/claude/
Claude Code では、次のイベント フックが Keep-Alive プロセスを管理します。
UserPromptSubmit: ユーザーがプロンプトを送信すると、フックが実行されます。バックグラウンドで Keep-Alive スクリプトを開始します。/google/scripts/keep_alive.sh & echo $! > /tmp/claude_keep_alive.pidNotification: Claude Code が通知を送信したとき、またはユーザー入力のために一時停止したときに、フックが実行されます。アクティブな Keep-Alive バックグラウンド プロセスを強制終了します。if [ -f /tmp/claude_keep_alive.pid ]; then kill "$(cat /tmp/claude_keep_alive.pid)" 2>/dev/null || true rm -f /tmp/claude_keep_alive.pid fi
サンプル構成を適用するには、/google/samples/agents/keepalive/claude/ から Claude 構成ディレクトリ(~/.claude/settings.json やプロジェクト レベルの構成など)にサンプルファイルをコピーまたはマージします。
Antigravity CLI の構成
Antigravity CLI は、設定で定義されたライフサイクル イベント フックをサポートしています。 Antigravity CLI の構成ファイルのサンプルは、次の場所にあります。
/google/samples/agents/keepalive/gemini/
Antigravity CLI では、次のイベント フックが Keep-Alive プロセスを管理します。
BeforeAgent: Antigravity CLI がアクションの実行を開始する前に、フックが実行されます。バックグラウンドで Keep-Alive スクリプトを開始します。/google/scripts/keep_alive.sh & echo $! > /tmp/gemini_keep_alive.pidNotification: エージェントがターンを完了したとき、またはユーザーのフィードバックが必要なときに、フックが実行されます。Keep-Alive プロセスを終了します。if [ -f /tmp/gemini_keep_alive.pid ]; then kill "$(cat /tmp/gemini_keep_alive.pid)" 2>/dev/null || true rm -f /tmp/gemini_keep_alive.pid fi
サンプル構成を適用するには、/google/samples/agents/keepalive/gemini/ から Antigravity CLI 構成ディレクトリ(~/.gemini/config.yaml やプロジェクト設定など)にサンプルファイルをコピーまたはマージします。
カスタム エージェントの統合
カスタム AI エージェントを構築または使用する場合は、エージェントのアクティブな実行中に /google/scripts/keep_alive.sh をバックグラウンド プロセスとして起動し、エージェントがアイドル状態または待機状態になったときにプロセスを終了することで、同じ Keep-Alive パターンを実装できます。
一時停止したワークステーションを再開する
ワークステーションが STATE_SUSPENDED の場合は、いつでも再開できます。
- Google Cloud **コンソール**: Google Cloud コンソールで [**ワークステーション**] ページに移動し、一時停止したワークステーションの横にある [**起動**] または [**開始**] をクリックします。
gcloudCLI:gcloud workstations startコマンドを実行します。gcloud workstations start WORKSTATION_NAME \ --cluster=CLUSTER_NAME \ --region=LOCATION \ --config=CONFIG_NAME次のように置き換えます。
WORKSTATION_NAME: ワークステーションの名前。CLUSTER_NAME: ワークステーション クラスタの名前。LOCATION: ワークステーション クラスタが配置されているリージョン。CONFIG_NAME: ワークステーション構成の名前。
ブラウザまたは SSH 接続: ワークステーションのウェブ URL に移動するか、 SSH を使用して接続すると、ワークステーションが自動的に再開されます。
再開すると、すべてのターミナル バッファ、エージェント コマンド履歴、ワークスペース ファイルが、中断したときとまったく同じように復元されます。
次のステップ
- ワークステーション構成を作成する。
- Gemini CLI を使用した AI エージェントによるコーディング支援の詳細を確認する。
- 事前構成されたベースイメージを確認する。
- SSH サポートで接続する方法を確認する。