インスタンスは、テンプレートから作成される、分離されたランタイム環境です。コンソールまたは SDK からインスタンスを作成し、インスタンスの詳細ページで、ターミナルアクセス、VNC デスクトップ、ファイル管理、サービス呼び出し、一時停止と再開、テンプレートとして保存、有効期限切れ時の回収などの操作を実行できます。
概要
インスタンスは、PAI-Instant Service の 3 層のリソース階層 (スペース > テンプレート > インスタンス) の最下層です。各インスタンスには以下の特徴があります。
分離された実行:独自のゲスト OS カーネル、ファイルシステム、アクセス認証情報を持ちます。
独立したライフサイクル:独立して作成、一時停止、再開、削除が可能です。
一意のプロパティ:インスタンス ID、アクセストークン、ファイルシステム、アクセス URL、サービスポートなどを含みます。
3 層リソースモデルの全体像については、「インスタントサービスの概要 — リソース階層」をご参照ください。
使用上の注意
24 時間を超える継続的な接続については、接続の安定性は保証されません。
インスタンスの作成
コンソールからの作成
PAI-Instant Service には、インスタンスを作成するための 3 つのコンソールエントリーポイントが用意されています。
エントリーポイント 1:Instant Service のワークベンチで、 インスタンスの作成 ボタンをクリックします。
エントリーポイント 2: [Private Templates/Public Templates] リストで、対象のテンプレートの インスタンスの作成 アクションを選択します。
エントリーポイント 3:テンプレートの詳細ページで、 [instance list] の インスタンスの作成 をクリックします。
インスタンスの作成 ダイアログボックスで、以下のパラメーターを設定します。
パラメーター | 必須 | 説明 |
テンプレート | はい | インスタンスのベースとなるテンプレート。 |
有効期限 | はい | インスタンスの最大有効期間 (例:1時間) 。 無期限 トグルをオンにすると、有効期限を無効にできます (本番環境では非推奨) 。 |
環境変数 | いいえ | インスタンス内部で利用可能な環境変数。キーと値のペア形式で指定します。 |
カスタムタグ | いいえ | インスタンスに付与するキーと値のペア形式のタグ。検索や分類に役立ちます。 |
インスタンスの作成 をクリックしてインスタンスを作成します。
SDK を使用した作成
PAI-Instant Service は E2B SDK とネイティブに互換性があります。使用方法は E2B と同じです。
import os
from e2b import Sandbox
# 認証情報を設定
os.environ["E2B_API_KEY"] = "<YOUR-TOKEN>"
os.environ["E2B_DOMAIN"] = "sandbox01.cn-shanghai.pai-eas.aliyuncs.com"
# インスタンスを作成
sandbox = Sandbox.create(
template="<YOUR-TEMPLATE-ID>",
timeout=300000,
)
print(f"Sandbox ID: {sandbox.sandbox_id}") [Template Details] ページで、右上の [SDK Access] をクリックすると、SDK 接続設定と Python のサンプルコードが表示されます。API の詳細については、「E2B SDKとの統合」をご参照ください。
インスタンスの使用
インスタンス詳細の表示
Instant Service のワークベンチに移動し、 [instance list] で対象のインスタンスを見つけ、[Actions] 列の [Details] をクリックしてインスタンスの詳細ページを開きます。
インスタンスの詳細ページには、以下の情報が表示されます。
リソース仕様:CPU、メモリ、ディスク。
ステータス情報:ステータス (実行中/一時停止中) と稼働時間。
基本情報:インスタンス ID、テンプレート、作成時刻、有効期限、RAM ユーザー ID、Alibaba Cloud アカウント ID、アクセストークン。
メタデータ:
sandbox.alicloud.com/service-nameやuserIdなどのキーと値のペア。
ターミナルの起動
[Open Terminal] をクリックして Web ターミナルウィンドウを開きます。ターミナルには、インスタンス ID、テンプレート ID、セッションタイムアウト (デフォルトでは、アイドルタイムアウト 10 分、最大 30 分) が表示されます。
ターミナルで直接任意のシェルコマンドを実行できます。これは、SDK を介して sandbox.commands.run() を呼び出すことと同等で、環境のデバッグや検証に役立ちます。
VNC の起動
Desktop タイプのテンプレートの場合、 [Open VNC] をクリックしてリモートデスクトップセッションを開始します。
noVNC サービスはポート 6080 でリッスンする必要があります。フロントエンドは、リモートデスクトップアクセスのためにこのポートにリダイレクトします。
VNC は、以下のような場合に役立ちます。
グラフィカルインターフェースを必要とするアプリケーションのデバッグ。
ブラウザーオートメーション (Playwright、Selenium など) の視覚的な検証。
GUI テストとスクリーンショットのキャプチャ。
ファイル管理
インスタンスの詳細ページには、ディレクトリツリービューを備えた [File Management] パネルがあります。
インスタンス内の
bin、boot、code、dev、etc、homeなどのディレクトリ構造をブラウズできます。フォルダーの作成、ファイルのアップロード、ビューの更新、1 つ上の階層への移動、ルートディレクトリへの復帰が可能です。
ファイルサイズと変更時刻を表示できます。
ファイル管理は、SDK を介して sandbox.files.read() / sandbox.files.write() を呼び出すことと同等で、コンソールを離れることなくランタイムの結果に素早くアクセスできます。
サービス呼び出し
[Service Invocation] パネルは、インスタンス内で実行されているサービスを呼び出すための対話型の HTTP インターフェースを提供します。
設定オプション:
リクエストメソッド:GET、POST、PUT、DELETE など。
ポート:インスタンス内のサービスがリッスンしているポート。
パス:リクエストの URL パス (例:
/health) 。リクエストヘッダー:カスタム HTTP ヘッダー (例:
Content-Type: application/json) 。プレビュー URL:システムによって組み立てられた完全なリクエスト URL。コピーして直接使用できます。
[Send Request] をクリックします。右側の [HTTP Interaction History] パネルにリクエストとレスポンスの内容が表示され、リアルタイムでデバッグできます。
インスタンスサービスへの外部アクセス:インスタンス内で実行されているサービスには、 https://<port>-<sandbox-id>.<domain>/<path> 形式の外部からアクセス可能な URL が自動的に割り当てられます。追加のポートマッピングなしで、任意の HTTP クライアントからこの URL を直接呼び出すことができます。
リクエストログの表示
[Request Logs] タブに切り替えると、データプレーンを介してインスタンスに転送されたすべての HTTP リクエストを表示できます。これらのログは、監査やトラブルシューティングに使用します。
一時停止と再開
インスタンスを一時停止および再開して、後で復元するために状態を保持したり、テンプレートとして保存したりすることができます。
一時停止:インスタンスリストで [Pause] をクリックするか、
sandbox.pause()を呼び出します。インスタンスの状態はインスタンスストレージに永続化されます。再開:インスタンスリストで [Resume] をクリックするか、
Sandbox.connect("<sandbox-id>")を呼び出します。インスタンスは迅速に実行中の状態に復元されます。
一時停止中のインスタンスは、 実行中のインスタンスと同じ料金で課金され続けます (CPU、メモリ、システムディスクを含む) 。コストを削減するには、不要になったインスタンスを削除してください。詳細については、「課金」をご参照ください。
テンプレートとして保存
インスタンスの現在の状態 (ファイル、インストール済みの依存関係、実行中のプロセスを含む) を新しいテンプレートとして保存し、環境を再利用できます。
典型的なシナリオ:
開発中にコードの変更や環境設定が完了した後、インスタンスをテンプレートとして保存することで、変更のたびにイメージを再ビルドする手間を省けます。
完全に設定されたエージェントのランタイム環境を、チームで再利用するための標準テンプレートとしてキャプチャします。
前提条件:Instant Service には、設定済みの [エンタープライズ版イメージのインスタンス] (Standard または Enterprise Edition) が必要です。
手順:
テンプレートとして保存したいインスタンスを一時停止します。
[Save as Template] をクリックします。
新しいテンプレートの名前と説明を入力します。
[OK] をクリックします。システムは現在のインスタンスの状態に基づいて新しいテンプレートを作成します。
新しいテンプレートは、Instant Service ワークベンチの [Private Templates] リストに表示されます。
インスタンスの有効期限と回収
インスタンスは、以下のメカニズムによって回収されます。
作成時に指定された有効期限に達したときの自動的な回収。
コンソールまたは SDK による手動での削除。
インスタンスタイムアウトの延長
タイムアウトは 2 つの方法で延長できます。
方法 | 動作 |
| 再接続時にタイムアウトを延長します。インスタンスが一時停止している場合、新しいタイムアウトで自動的に再開されます。実行中の場合、リクエストされた |
| 新しいタイムアウトを明示的に設定します。有効期限を現在時刻に指定されたタイムアウト値を加えた時刻にリセットします。 |
次のステップ
SDK によるインスタンスの管理:E2B SDKとの統合
インスタンスのモニタリングメトリクスとパフォーマンスデータの表示:モニタリングとパフォーマンスメトリクス