> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 設定

> サンドボックスのリソース、イメージ、環境設定を行います。

これらの例では、`CWSANDBOX_API_KEY` に設定した CoreWeave API アクセストークンを使用します。Forge APIキーによる認証については、[はじめに](/ja/products/sandboxes/get-started)を参照してください。CKS の要件については、[配置モード](/ja/products/sandboxes/placement)を参照してください。

このチュートリアルでは、`Sandbox.run()` にオプションを渡すことで起動時にサンドボックスを設定する方法を説明します。基本的なサンドボックスはすでに作成済みで、コンテナーイメージ、リソース割り当て、およびワークロード用の事前配置ファイルの制御を希望する開発者を対象としています。

<h2 id="pass-configuration-to-sandboxrun">
  `Sandbox.run()` に設定を渡す
</h2>

サンドボックスをプロビジョニングする方法を制御する設定オプションを、キーワード引数として直接 `Sandbox.run()` に渡します:

```python theme={"system"}
from cwsandbox import Sandbox

with Sandbox.run(
    container_image="python:3.11",
    max_lifetime_seconds=300,
    tags=["my-app"],
) as sandbox:
    sandbox.exec(["python", "--version"]).result()
```

<h2 id="resources">
  リソース
</h2>

ワークロードのニーズに合わせて CPU とメモリを設定し、オーバープロビジョニングやアンダープロビジョニングを避けましょう。`ResourceOptions` を使用してリクエストと制限を設定します：

```python theme={"system"}
from cwsandbox import ResourceOptions, Sandbox

with Sandbox.run(
    resources=ResourceOptions(
        requests={"cpu": "2", "memory": "2Gi"},
        limits={"cpu": "2", "memory": "2Gi"},
    ),
) as sandbox:
    sandbox.exec(["python", "compute.py"]).result()
```

`ResourceOptions` は [Kubernetes resource syntax](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) を使用します:

| リソース | 形式 | サンプル |
| - | - | - |
| CPU | コアまたはミリコア | `"1"`, `"2"`, `"500m"` (0.5 CPU) |
| メモリ | 単位接尾辞付きのバイト | `"512Mi"`, `"1Gi"`, `"2Gi"` |

<h2 id="mounted-files">
  マウントされたファイル
</h2>

マウントされたファイルを使用すると、サンドボックスが起動する前に設定、スクリプト、またはその他の静的コンテンツをサンドボックスに配置できます。これにより、ワークロードは実行開始時に必要なものをすべて揃えられます。サンドボックスの起動時にファイルを事前投入します：

```python theme={"system"}
with Sandbox.run(
    mounted_files=[
        {"mount_path": "/app/config.json", "file_content": b'{"debug": true}'},
        {"mount_path": "/app/script.py", "file_content": b"print('hello')"},
    ]
) as sandbox:
    sandbox.exec(["python", "/app/script.py"]).result()
```

各エントリには、サンドボックス内の絶対パスである `mount_path` と、ファイルの内容をバイト列で表す `file_content` を指定します。`str` を渡した場合は、自動的に UTF-8 でエンコードされます。

マウントされたファイルは読み取り専用です。変更が必要な file には `write_file()` を使用してください。

<h2 id="next-steps">
  次のステップ
</h2>

コンテナーイメージ、リソース割り当て、およびワークロードに必要な事前マウント済みファイルで開始するサンドボックスが用意できました。

複数のサンドボックス間で再利用可能な設定にするには、`SandboxDefaults` を使用します。すべての `ResourceOptions` フィールド、GPU リソース、QoS クラス、および config-library 相互運用については、[サンドボックスの設定ガイド](/ja/products/sandboxes/client/guides/sandbox-configuration) を参照してください。
