すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:クイックスタート

最終更新日:Aug 29, 2026

最も簡単な手順で最初の PAI-Instant Service インスタンスを作成します。インスタントサービスを作成し、パブリックテンプレートからインスタンスを起動し、E2B SDK でコマンドを実行し、インスタンスを破棄します。

前提条件

PAI-Instant Service を使用する前に、次の準備が完了していることを確認してください。

  • Alibaba Cloud アカウントが有効化され、実名認証が完了していること。

  • PAI が有効化され、PAI ワークスペースが作成されていること。

  • EAS 専用マシンの従量課金購入ページで、インスタントサービスのコンピューティングリソースが購入されていること。

  • (任意) カスタムイメージからテンプレートを作成するには、Container Registry (ACR) を有効化し、Standard または Premium の ACR Enterprise Edition インスタンス を作成します。パブリックテンプレートのみを使用する場合、ACR は不要です。

  • (任意) E2B Python SDK を使用する場合、v2.25.0 より前のバージョンのみがサポートされます。

ステップ1:インスタントサービスの作成

  1. PAI コンソールにログインします。左側のナビゲーションペインで [Elastic Algorithm Service (EAS)] を選択し、サービス一覧ページに移動します。

  2. 上部の 即時サービス タブに切り替えます。

  3. インスタントサービスの作成 をクリックし、次のようにパラメーターを設定します。他のパラメーターはデフォルト値のままにします。

    • [名前]:カスタム名を入力します (例:quickstart)。

    • [リソースタイプ]:EAS リソースグループ を選択します。

    • [リソースグループ]:購入したインスタントサービスのリソースグループを選択します。

    • [送信接続方式]:共有パブリックネットワーク を選択します。

  4. 確認 をクリックして作成を完了します。

説明

パラメーターと詳細設定については、「インスタントサービスとテンプレートの管理」をご参照ください。

ステップ2:パブリックテンプレートの選択

PAI-Instant Service は、code-interpreter、browser、desktop などのすぐに使えるパブリックテンプレートを提供しています。このガイドでは code-interpreter を使用するため、カスタムテンプレートは必要ありません。

  1. インスタントサービスワークベンチに移動します。

    1. 即時サービス タブで、ステップ1で作成したインスタントサービスを見つけます。呼び出し 列で、即時サービスワークベンチ アイコンをクリックします。

    2. 即時サービスワークベンチへ移動 ダイアログボックスで、リンクの管理 または 読み取り専用リンク の URL をコピーし、ブラウザーで開きます。

  2. 公開テンプレートリストで、code-interpreter を選択し、テンプレート ID をクリックしてテンプレート詳細ページに移動します。

  3. テンプレート詳細ページの右上隅にある [SDK Access] をクリックして、SDK 接続設定と Python サンプルコードを取得します。

ステップ3:SDK を使用したインスタンスの作成とコマンドの実行

E2B SDK のインストール

pip install "e2b<2.25.0"

完全な例

次の例は、インスタンスの作成、インスタンス情報の取得、コマンドの実行、ファイルの読み書き、インスタンスの破棄という、一連のインスタンスワークフローを示しています。

<YOUR-API-TOKEN> と <YOUR-DOMAIN> をステップ 2 で取得した値で置き換えます。

import os
from e2b import Sandbox
import time

# 1. 認証情報を設定
os.environ["E2B_API_KEY"] = "<YOUR-API-TOKEN>"
os.environ["E2B_DOMAIN"] = "<YOUR-DOMAIN>"

# 2. インスタンスを作成
sandbox = Sandbox.create(
    template="<YOUR-TEMPLATE-ID>",
    timeout=300000,   # タイムアウト (ミリ秒)
)
print(f"Sandbox ID: {sandbox.sandbox_id}")

# インスタンスが実行中になるまで待機
print("Waiting for sandbox to be ready...")
max_attempts = 30
for attempt in range(1, max_attempts + 1):
    try:
        is_running = sandbox.is_running()
        status = "Running" if is_running else "Not Running"
        print(f"    [{attempt}/{max_attempts}] Sandbox status: {status}")
        if is_running:
            print("    ✓ Sandbox is now running!")
            break
    except Exception as e:
        print(f"    [{attempt}/{max_attempts}] Failed to check status: {e}")

    if attempt < max_attempts:
        time.sleep(2)

# 3. インスタンスの詳細 (メタデータとダッシュボード URL を含む) を取得
info = sandbox.get_info()
print(f"State: {info.state}")
print(f"CPU: {info.cpu_count}, Memory: {info.memory_mb}MB")

# メタデータを表示
if info.metadata:
    print("\nMetadata:")
    for key, value in info.metadata.items():
        print(f"  {key}: {value}")

    # ダッシュボード URL を取得
    dashboard_url = info.metadata.get('sandbox.alicloud.com/dashboard-url') or \
                    info.metadata.get('dashboard_url')
    if dashboard_url:
        print(f"\nDashboard URL: {dashboard_url}")

# 4. コマンドを実行
result = sandbox.commands.run("echo 'Hello, World!'")
print(result.stdout)

# 5. ファイル操作
sandbox.files.write("/tmp/test.txt", "Hello from sandbox!")
content = sandbox.files.read("/tmp/test.txt")
print(content)

# 6. クリーンアップ
sandbox.kill()      

ステップ4:リソースのクリーンアップ

  • sandbox.kill() を呼び出してインスタンスを破棄すると、コンピューティングリソースとシステムディスクの両方の課金が停止されます。

  • インスタントサービスワークベンチの [Instance list] でインスタンスを見つけ、[Delete] をクリックして破棄することもできます。

  • インスタントサービスが不要になった場合は、インスタントサービスリストから削除できます。

重要

kill() を呼び出していない、または timeout に達していないインスタンスは、引き続き課金されます。 一時停止中のインスタンスも、実行中と同じ料金で課金されます。 詳細については、「課金」をご参照ください。

次のステップ