

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon SageMaker Studio Classic 的自訂 Amazon SageMaker 映像規格
<a name="studio-byoi-specs"></a>

**重要**  
自 2023 年 11 月 30 日起，先前的 Amazon SageMaker Studio 體驗現在命名為 Amazon SageMaker Studio Classic。下節專門介紹如何使用 Studio Classic 應用程式。如需使用已更新 Studio 體驗的資訊，請參閱 [Amazon SageMaker Studio](studio-updated.md)。  
Studio Classic 仍會針對現有工作負載進行維護，但無法再用於加入。您只能停止或刪除現有的 Studio Classic 應用程式，而且無法建立新的應用程式。我們建議您[將工作負載遷移至新的 Studio 體驗](studio-updated-migrate.md)。

下列規格適用於由 SageMaker AI 映像版本所代表的容器映像。

**執行映像**  
覆寫 `ENTRYPOINT` 和 `CMD` 指示，以使映像能夠做為 KernelGateway 應用程式執行映像。  
映像中的連接埠 8888 會保留用於執行 KernelGateway 網頁伺服器。

**停止映像**  
`DeleteApp` API 為發行與 `docker stop` 命令的等效的命令。容器中的其他程序將無法獲得 SIGKILL/SIGTERM 訊號。

**Kernel 探索**  
SageMaker AI 可識別由 Jupyter [核心規格](https://jupyter-client.readthedocs.io/en/latest/kernels.html#kernelspecs)定義的核心。  
您可以指定在執行映像之前要顯示的核心清單。如果未指定，則顯示 python3。使用[描述應用程式映像設定](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAppImageConfig.html) API 來檢視核心清單。  
Conda 環境預設被識別為核心規格。

**檔案系統**  
`/opt/.sagemakerinternal` 和 `/opt/ml` 目錄已預留。執行期可能會看不到這些目錄中的任何資料。

**使用者資料**  
網域中的每個使用者都會在映像中的共用 Amazon Elastic File System 磁碟區上取得一個使用者目錄。目前使用者目錄在 Amazon EFS 磁碟區上的位置是可設定的。預設目錄位置是 `/home/sagemaker-user`。  
SageMaker AI 會設定映像與主機之間的 POSIX UID/GID 對應。這預設會將根使用者的 UID/GID (0/0) 對應至主機上的 UID/GID。  
您可以使用[建立應用程式](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAppImageConfig.html)映像設定 API 來指定這些值。

**GID/UID 限制**  
Amazon SageMaker Studio Classic 僅支援下列 `DefaultUID` 和 `DefaultGID` 組合：  
+  預設 ID：1000 和預設值：100，對應於未授權的使用者。
+  預設 ID：0 和預設值：0，它對應於根存取權限。

**中繼資料**  
中繼資料檔案位於 `/opt/ml/metadata/resource-metadata.json`。映像中定義的變數不會新增其他環境變數。如需更多更多資訊，請參閱[取得應用程式中繼資料](notebooks-run-and-manage-metadata.md#notebooks-run-and-manage-metadata-app)。

**GPU**  
在 GPU 執行個體上，映像檔會使用 `--gpus` 選項執行。只有 CUDA 工具包應該包含在映像中，而不是 NVIDIA 驅動程序。如需更多資訊，請參閱 [NVIDIA 使用者指南](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/user-guide.html)。

**指標和日誌記錄**  
來自 KernelGateway 程序的日誌會傳送到客戶帳戶中的 Amazon CloudWatch。日誌群組的名稱為 `/aws/sagemaker/studio`。日誌串流名稱為 `$domainID/$userProfileName/KernelGateway/$appName`。

**映像大小**  
限制為 35 GB。要查看映像的大小，請執行 `docker image ls`。  


## 範例 Dockerfile
<a name="studio-byoi-specs-sample"></a>

以下範例 Dockerfile 會建立以 Amazon Linux 2 為基礎的映像檔、安裝第三方套件和 `python3` 核心，並將範圍設定為非特權使用者。

```
FROM public.ecr.aws/amazonlinux/amazonlinux:2

ARG NB_USER="sagemaker-user"
ARG NB_UID="1000"
ARG NB_GID="100"

RUN \
    yum install --assumeyes python3 shadow-utils && \
    useradd --create-home --shell /bin/bash --gid "${NB_GID}" --uid ${NB_UID} ${NB_USER} && \
    yum clean all && \
    jupyter-activity-monitor-extension \
    python3 -m pip install ipykernel && \
    python3 -m ipykernel install

USER ${NB_UID}
```