Benutzerdefinierte Images - Amazon SageMaker AI

Benutzerdefinierte Images

Sollten Sie Funktionen benötigen, die über die von SageMaker Distribution bereitgestellten Funktionen hinausgehen, können Sie Ihr eigenes Image mit Ihren benutzerdefinierten Erweiterungen und Paketen bereitstellen. Sie können es auch verwenden, um die JupyterLab-Benutzeroberfläche an Ihre eigenen Branding- oder Compliance-Anforderungen anzupassen.

Auf der folgenden Seite finden Sie spezifische Informationen zu JupyterLab sowie Vorlagen zum Erstellen Ihrer eigenen benutzerdefinierten SageMaker-AI-Images. Dies soll die Informationen und Anweisungen von Amazon SageMaker Studio zum Erstellen eines eigenen SageMaker-AI-Images und zum Importieren eines eigenen Images in Studio ergänzen. Weitere Informationen zu benutzerdefinierten Images von Amazon SageMaker AI und wie Sie Ihr eigenes Image in Studio importieren können, finden Sie unter Bring Your Own Image (BYOI).

Zustandsprüfung und URL für Anwendungen

  • Base URL – Die Basis-URL für die BYOI-Anwendung muss jupyterlab/default lauten. Es ist nur eine Anwendung zulässig, und diese muss stets den Namen default haben.

  • HealthCheck API – SageMaker AI verwendet den Endpunkt für die Zustandsprüfung am Port 8888, um den Zustand der JupyterLab-Anwendung zu überprüfen. jupyterlab/default/api/status ist der Endpunkt für die Zustandsprüfung.

  • Home/Default URL – Die Verzeichnisse /opt/.sagemakerinternal und /opt/ml, die von AWS verwendet werden. Die Metadatendatei in /opt/ml enthält Metadaten zu Ressourcen wie DomainId.

  • Authentifizierung – Um die Authentifizierung für Ihre Benutzer zu aktivieren, deaktivieren Sie bitte die token- oder passwortbasierte Authentifizierung für Jupyter-Notebooks und lassen Sie alle Ursprünge zu.

Dockerfile-Beispiele

Die folgenden Beispiele sind Dockerfiles, die den obigen Informationen und Benutzerdefinierte Image-Daten entsprechen.

Anmerkung

Wenn Sie Ihr eigenes Image in SageMaker Unified Studio einbringen, müssen Sie die Dockerfile-Spezifikationen im Benutzerhandbuch für Amazon SageMaker Unified Studio befolgen.

Dockerfile-Beispiele für SageMaker Unified Studio finden Sie im Dockerfile-Beispiel im Benutzerhandbuch für Amazon SageMaker Unified Studio.

Example AL2023 Dockerfile

Das folgende ist ein Beispiel für AL2023 Dockerfile, die den obigen Informationen und Benutzerdefinierte Image-Daten entsprechen.

FROM public.ecr.aws/amazonlinux/amazonlinux:2023 ARG NB_USER="sagemaker-user" ARG NB_UID=1000 ARG NB_GID=100 # Install Python3, pip, and other dependencies RUN yum install -y \ python3 \ python3-pip \ python3-devel \ gcc \ shadow-utils && \ useradd --create-home --shell /bin/bash --gid "${NB_GID}" --uid ${NB_UID} ${NB_USER} && \ yum clean all RUN python3 -m pip install --no-cache-dir \ 'jupyterlab>=4.0.0,<5.0.0' \ urllib3 \ jupyter-activity-monitor-extension \ --ignore-installed # Verify versions RUN python3 --version && \ jupyter lab --version USER ${NB_UID} CMD jupyter lab --ip 0.0.0.0 --port 8888 \ --ServerApp.base_url="/jupyterlab/default" \ --ServerApp.token='' \ --ServerApp.allow_origin='*'
Example Amazon SageMaker Distribution Dockerfile

Das folgende ist ein Beispiel für Amazon SageMaker Distribution Dockerfile, die den obigen Informationen und Benutzerdefinierte Image-Daten entsprechen.

FROM public.ecr.aws/sagemaker/sagemaker-distribution:latest-cpu ARG NB_USER="sagemaker-user" ARG NB_UID=1000 ARG NB_GID=100 ENV MAMBA_USER=$NB_USER USER root RUN apt-get update RUN micromamba install sagemaker-inference --freeze-installed --yes --channel conda-forge --name base USER $MAMBA_USER ENTRYPOINT ["jupyter-lab"] CMD ["--ServerApp.ip=0.0.0.0", "--ServerApp.port=8888", "--ServerApp.allow_origin=*", "--ServerApp.token=''", "--ServerApp.base_url=/jupyterlab/default"]