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

:クラウド環境

最終更新日:Sep 25, 2026

環境は、セッションのコンテナテンプレート (オペレーティングシステム、ネットワークポリシー、プレインストール済みパッケージ) を定義します。セキュリティ監査、データ分析、汎用開発など、さまざまなユースケースに合わせてカスタマイズされた環境を作成できます。

重要

新しい Qoder CN ドキュメントサイトが公開されました。このサイトのコンテンツは、最新の製品機能を反映していない可能性があります。最新の製品ドキュメントについては、docs.qoder.cn をご覧ください。

環境とは

環境はセッションのインフラストラクチャ層として機能します。

  • コンテナタイプ:現在、cloud (クラウドホスト型コンテナ) をサポートしています。

  • ネットワークポリシー:コンテナのアウトバウンドネットワークアクセスを制御します。

  • パッケージ:システム、Python、Node.js のパッケージをプレインストールします。

セッションが開始されるたびに、指定された環境テンプレートに基づいて分離されたインスタンスが作成されます。

フィールド

パラメーター

型

必須

説明

id

文字列

—

env_ プレフィックスが付いた、システムが生成する ID。

type

文字列

—

"environment" に固定されています。

name

文字列

はい

環境の名前。

description

文字列

いいえ

オプションの説明。デフォルトは "" です。

config

オブジェクト

はい

環境設定 (タイプ、ネットワーク、パッケージ)。

config.type

文字列

はい

コンテナタイプ。現在は "cloud" に固定されています。

config.networking

オブジェクト

いいえ

ネットワークポリシーオブジェクト。 type プロパティは "unrestricted"、"limited"、または "allowed_hosts" のいずれかである必要があります。

config.packages

オブジェクト

いいえ

プレインストール済みパッケージの設定。

status

文字列

—

環境のステータス。常に ready です。

archived

ブール値

—

環境がアーカイブされているかどうかを示します。デフォルトは false です。

archived_at

文字列 | Null

—

アーカイブのタイムスタンプ (ISO 8601)。アーカイブされていない場合は null です。

created_at

文字列

—

作成タイムスタンプ (ISO 8601)。

updated_at

文字列

—

最終更新タイムスタンプ (ISO 8601)。

ネットワークポリシー

config.networking フィールドは 3 つのモードをサポートしています。すべてのモードでオブジェクト形式を使用する必要があります。"unrestricted" のような文字列による短縮表記はサポートされておらず、400 エラーが発生します。

モード

値

説明

無制限

{"type": "unrestricted"}

コンテナは任意の外部アドレスにアクセスできます。

制限付き

{"type": "limited", "allow_package_managers": true}

既知の安全なパブリックサービスと、オプションでパッケージマネージャーへのアクセスを許可します。

許可リスト

{"type": "allowed_hosts", "allowed_hosts": [...]}

指定されたホスト名のリストへのアクセスを制限します。

networking オブジェクトのフィールド

パラメーター

型

説明

networking.type

文字列

ネットワークポリシータイプ: unrestricted、limited、または allowed_hosts。

networking.allow_package_managers

ブール値

limited モードで、パッケージマネージャー (pip、npm、apt) へのアクセスを許可するかどうか。

networking.allowed_hosts

配列

allowed_hosts モードで許可されたホスト名のリスト。

無制限モード

{
  "config": {
    "type": "cloud",
    "networking": {"type": "unrestricted"}
  }
}

依存関係のダウンロードや外部 API へのアクセスが必要な一般的な開発タスクで使用します。

制限付きモード

{
  "config": {
    "type": "cloud",
    "networking": {
      "type": "limited",
      "allow_package_managers": true
    }
  }
}

任意のインターネットアクセスは不要でも、パッケージマネージャー経由で依存関係を取得する必要があるタスクで使用します。

許可リストモード

{
  "config": {
    "type": "cloud",
    "networking": {
      "type": "allowed_hosts",
      "allowed_hosts": [
        "api.github.com",
        "registry.npmjs.org",
        "pypi.org"
      ]
    }
  }
}

アクセス可能な外部サービスを正確に制御する必要がある、高いセキュリティやコンプライアンスが求められるシナリオで使用します。

プレインストール済みパッケージ

config.packages を使用して、コンテナの起動時に事前にインストールするパッケージを指定します:

{
  "config": {
    "type": "cloud",
    "networking": {"type": "unrestricted"},
    "packages": {
      "apt": ["git", "build-essential", "libssl-dev"],
      "pip": ["pandas", "numpy", "scikit-learn"],
      "npm": ["typescript", "eslint", "prettier"]
    }
  }
}

パッケージマネージャー

パラメーター

説明

apt

packages.apt

Debian/Ubuntu のシステムパッケージ。

pip

packages.pip

Python パッケージ。

npm

packages.npm

Node.js パッケージ (グローバルにインストールされます)。

パッケージをプレインストールすると、環境の初期化時間が増加します。必要なものだけを追加し、他のパッケージはセッション中にオンデマンドでインストールしてください。

環境の作成

# 専用のデータサイエンス環境を作成します
curl -s -X POST https://api.qoder.com.cn/api/v1/cloud/environments \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "data-science",
    "config": {
      "type": "cloud",
      "networking": {"type": "unrestricted"},
      "packages": {
        "apt": ["build-essential"],
        "pip": ["pandas", "numpy", "matplotlib", "scikit-learn", "jupyter"]
      }
    }
  }' | jq .

成功すると、API は 201 Created ステータスを返します。

{
  "id": "env_019e44eb66bb748cabcd1489f6fa4428",
  "type": "environment",
  "name": "data-science",
  "description": "",
  "config": {
    "type": "cloud",
    "networking": {"type": "unrestricted"},
    "packages": {
      "apt": ["build-essential"],
      "pip": ["pandas", "numpy", "matplotlib", "scikit-learn", "jupyter"]
    }
  },
  "status": "ready",
  "archived": false,
  "archived_at": null,
  "created_at": "2026-05-18T10:00:00Z",
  "updated_at": "2026-05-18T10:00:00Z"
}

セキュアな環境の作成

# 内部 API へのアクセスのみを許可するセキュアな環境を作成します
curl -s -X POST https://api.qoder.com.cn/api/v1/cloud/environments \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "secure-internal",
    "config": {
      "type": "cloud",
      "networking": {
        "type": "allowed_hosts",
        "allowed_hosts": ["internal-api.mycompany.com", "git.mycompany.com"]
      },
      "packages": {
        "apt": ["git", "curl"]
      }
    }
  }' | jq .

環境の取得

# すべての環境を一覧表示します
curl -s https://api.qoder.com.cn/api/v1/cloud/environments \
  -H "Authorization: Bearer $QODER_PAT"
# 単一の環境の詳細を取得します
curl -s https://api.qoder.com.cn/api/v1/cloud/environments/env_ds456 \
  -H "Authorization: Bearer $QODER_PAT"

環境の更新

# 既存の環境に新しいパッケージを追加します
curl -s -X PUT https://api.qoder.com.cn/api/v1/cloud/environments/env_ds456 \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "data-science",
    "config": {
      "type": "cloud",
      "networking": {"type": "unrestricted"},
      "packages": {
        "apt": ["build-essential", "libpq-dev"],
        "pip": ["pandas", "numpy", "matplotlib", "scikit-learn", "jupyter", "sqlalchemy"]
      }
    }
  }' | jq .

環境を更新しても、実行中のセッションには影響しません。新しい設定は、更新後に作成されたセッションにのみ適用されます。

環境の削除

# カスタム環境を削除します
curl -s -X DELETE https://api.qoder.com.cn/api/v1/cloud/environments/env_ds456 \
  -H "Authorization: Bearer $QODER_PAT"

環境がアクティブなセッションで使用中の場合、DELETE リクエストは 409 Conflict エラーで失敗し、"Environment is in use and cannot be deleted" というメッセージが返されます。先に関連付けられたセッションをアーカイブまたは削除するか、代わりに POST /environments/{id}/archive を使用して環境を論理削除してください。

推奨構成

シナリオ

推奨構成

汎用開発

default 環境を使用します。追加の設定は不要です。

データ分析

pandas/numpy をプレインストールし、無制限のネットワークを使用します。

セキュリティ監査

ネットワークには許可リストを使用し、最小限のパッケージをインストールします。

フロントエンド開発

Node.js エコシステムのツールをプレインストールし、npm レジストリへのアクセスを許可します。

CI/CD 統合

Git と Docker CLI をプレインストールし、許可リストモードを使用します。

よくある質問

Q: 環境を作成した後、使用できるようになるまでどのくらい待つ必要がありますか?A: 環境の作成後、ステータスは直ちに ready に設定され、すぐにセッションの作成に使用できます。依存関係のインストールを含む実際のコンテナの初期化は、セッションの開始時に行われます。Q: プリインストールされているパッケージのバージョンを指定できますか?A: はい、"pandas==2.1.0" や "typescript@5.0.0" など、pip および npm パッケージのバージョンを指定できます。apt パッケージは、システムのリポジトリにあるデフォルトのバージョンを使用します。Q: ネットワーク設定が正しくないためにエージェントの実行に失敗した場合は、どうすればよいですか?A: 新しい環境を作成するか、既存の環境を更新し、ネットワークポリシーを変更してから、セッションを再起動します。Q: 1 つのアカウントで作成できる環境の最大数はいくつですか?A: 厳密な制限はありません。ただし、管理上の問題を避けるために、実際のニーズに基づいて環境を作成することをお勧めします。整理のために命名規則を使用することをお勧めします。