SnapVM の使い方
SnapVM は、マシン、ターミナルセッション、サービス、ストレージ、組織という少数の永続的な概念で構成されています。これらは主に Web コンソールから操作します。
基本的な流れ
Section titled “基本的な流れ”- コンソールで組織を選択します。
- プロジェクト、デモ、授業、エージェントホスト用のマシンを作成します。
- ターミナルを開いてワークスペースをセットアップします。
- 探索的な短いコマンドはターミナルで実行します。
- 長時間動かすプロセスはサービスとして定義します。
- アイドル時はマシンを停止するかハイバネーションに任せます。
- 後で再度マシンを開き、永続化されたファイルシステムから作業を続けます。
マシンは名前付きのワークスペースです。ファイル、パッケージ、リポジトリ、サービス定義、ゲートウェイルーティングなど、必要な状態を保持します。
マシン名はアプリケーション URL の一部にもなります。api-demo、agent-lab、frontend-review のように短く安定した名前を使います。
ターミナルセッションは、マシンエージェントが公開するインタラクティブシェルです。開発、デバッグ、ツールのインストール、ログ確認に適しています。
ブラウザ切断後もセッションに再接続できる場合がありますが、セッションはあくまで対話的な作業面です。ハイバネーション後もプロセスを復帰させたい場合はサービスを使います。
サービスは永続的なプロセス定義です。Web サーバー、データベース、キュー、ワーカー、言語サーバー、エージェントなど、マシン復帰時に再起動してほしいものに使います。
通常、サービスには次の情報があります。
- 名前
- コマンドと引数
- 作業ディレクトリ
- 必要に応じた環境変数
- 必要に応じた HTTP ポート
- 実行状態
ストレージとハイバネーション
Section titled “ストレージとハイバネーション”ファイルシステムは停止やハイバネーションをまたいで永続します。ソースコード、インストール済みパッケージ、ディスク上のデータベース、設定ファイル、生成物が含まれます。
インメモリの状態は永続しません。インタラクティブシェルで起動したプロセスは、サービスとして管理されていない限り、ランタイムがスリープすると停止します。
組織とアクセス
Section titled “組織とアクセス”マシンは組織に属します。認証と行レベルセキュリティにより、ユーザーはアクセス権のある組織のマシンだけを閲覧できます。
一般的なアクセス管理はコンソールで行います。
- 組織の作成または切り替え
- メンバーの招待
- マシン所有状況の確認
- デプロイで対応している場合のメンバーロール更新
どれを使うべきか
Section titled “どれを使うべきか”| やりたいこと | 使うもの |
|---|---|
| プロジェクト用の永続ワークスペース | マシン |
| ブラウザ上のシェルで探索する | ターミナルセッション |
| 長時間動かすプロセス | サービス |
| アイドル後も残るファイルやパッケージ | 永続ファイルシステム |
| チーム単位の所有権とアクセス管理 | 組織 |