Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erste Schritte mit dem lokalen Modus
In den folgenden Abschnitten werden die Schritte beschrieben, die für den Einstieg in den lokalen Modus in Amazon SageMaker Studio erforderlich sind, darunter:
-
Erfüllung der Voraussetzungen
-
Festlegen von
EnableDockerAccess
-
Docker-Installation
Voraussetzungen
Erfüllen Sie die folgenden Voraussetzungen, um den lokalen Modus in Studio-Anwendungen zu verwenden:
-
Um Bilder aus einem Amazon Elastic Container Registry-Repository abzurufen, muss das Konto, das das Amazon ECR-Image hostet, eine Zugriffsberechtigung für die Ausführungsrolle des Benutzers bereitstellen. Die Ausführungsrolle der Domain muss auch Amazon ECR-Zugriff ermöglichen.
-
Stellen Sie sicher, dass Sie die neueste Version des Studio Python SDK verwenden, indem Sie den folgenden Befehl verwenden:
pip install -U sagemaker
-
Um den lokalen Modus und die lokalen Docker Funktionen zu verwenden, legen Sie
DockerSettings
mit der AWS Command Line Interface (AWS CLI) den folgenden Domänenparameter fest:EnableDockerAccess : ENABLED
-
Mithilfe können Sie auch steuern
EnableDockerAccess
, ob Benutzer in der Domäne den lokalen Modus verwenden können. Standardmäßig sind der lokale Modus und die lokalen Docker Funktionen in Studio-Anwendungen nicht zulässig. Weitere Informationen finden Sie unter Festlegen von EnableDockerAccess. -
Installieren Sie die Docker CLI in der Studio-Anwendung, indem Sie die Schritte unter befolgenDocker-Installation.
Festlegen von EnableDockerAccess
In den folgenden Abschnitten wird gezeigt, wie festgelegt wirdEnableDockerAccess
, wann die Domain über einen öffentlichen Internetzugang verfügt oder sich im VPC-only
Modus befindet.
Anmerkung
Änderungen, die EnableDockerAccess
nur für Anwendungen gelten, die nach der Aktualisierung der Domain erstellt wurden. Nach der Aktualisierung der Domain müssen Sie eine neue Anwendung erstellen.
Öffentlicher Internetzugang
Die folgenden Beispielbefehle zeigen, wie EnableDockerAccess
beim Erstellen einer neuen Domain oder beim Aktualisieren einer vorhandenen Domain mit öffentlichem Internetzugang Folgendes eingestellt wird:
# create new domain aws --region
region
\ sagemaker create-domain --domain-namedomain-name
\ --vpc-idvpc-id
\ --subnet-idssubnet-ids
\ --auth-mode IAM \ --default-user-settings "ExecutionRole=execution-role
" \ --domain-settings '{"DockerSettings": {"EnableDockerAccess": "ENABLED"}}' \ --query DomainArn \ --output text # update domain aws --regionregion
\ sagemaker update-domain --domain-iddomain-id
\ --domain-settings-for-update '{"DockerSettings": {"EnableDockerAccess": "ENABLED"}}'
VPC-only
Modus
Wenn Sie eine Domain im VPC-only
Modus verwenden, werden Docker Image-Push- und Pull-Anfragen über die Service-VPC und nicht über die vom Kunden konfigurierte VPC weitergeleitet. Aufgrund dieser Funktionalität können Administratoren eine Liste vertrauenswürdiger Dateien konfigurieren, an AWS-Konten
die Benutzer Amazon ECR Anfragen für Vorgänge senden und Docker abrufen können.
Wenn eine Docker Image-Push- oder Pull-Anfrage an eine Person gestellt wird AWS-Konto , die nicht in der Liste der vertrauenswürdigen Dateien aufgeführt ist AWS-Konten, schlägt die Anfrage fehl. DockerPull- und Push-Operationen außerhalb von Amazon Elastic Container Registry (Amazon ECR) werden im VPC-only
Modus nicht unterstützt.
Folgendes wird standardmäßig AWS-Konten als vertrauenswürdig eingestuft:
-
Das Konto, das die SageMaker AI-Domain hostet.
-
SageMaker AI-Konten, die die folgenden SageMaker Bilder hosten:
-
DLC-Framework-Bilder
-
SklearnSpark, Bilder verarbeiten XGBoost
-
Um eine Liste weiterer vertrauenswürdiger Dateien zu konfigurieren AWS-Konten, geben Sie den VpcOnlyTrustedAccounts
Wert wie folgt an:
aws --region
region
\ sagemaker update-domain --domain-iddomain-id
\ --domain-settings-for-update '{"DockerSettings": {"EnableDockerAccess": "ENABLED", "VpcOnlyTrustedAccounts": ["account-list
"]}}'
Docker-Installation
Zur Verwendung Docker müssen Sie die Installation manuell Docker vom Terminal Ihrer Studio-Anwendung aus durchführen. Die Installationsschritte unterscheiden Docker sich, je nachdem, ob die Domain Zugang zum Internet hat oder nicht.
Internetzugang
Wenn die Domain mit öffentlichem Internetzugang oder im VPC-only
Modus mit eingeschränktem Internetzugang erstellt wurde, gehen Sie zur Installation wie folgt vorDocker.
-
(Optional) Wenn Ihre Domain im
VPC-only
Modus mit eingeschränktem Internetzugang erstellt wurde, erstellen Sie ein öffentliches NAT-Gateway mit Zugriff auf die Docker Website. Anweisungen finden Sie unter NAT-Gateways. -
Navigieren Sie zum Terminal der Studio-Anwendung, Docker in der Sie die Installation durchführen möchten.
-
Um das Betriebssystem der Anwendung zurückzugeben, führen Sie den folgenden Befehl vom Terminal aus:
cat /etc/os-release
-
DockerFolgen Sie bei der Installation den Anweisungen für das Betriebssystem der Anwendung im Amazon SageMaker AI Local Mode Examples Repository
. Folgen Sie bei der Installation beispielsweise Docker dem Ubuntu Skript unter https://github.com/aws-samples/amazon-sagemaker-local-mode/blob/main/sagemaker_studio_docker_cli_install/sagemaker- ubuntu-focal-docker-cli -install.sh
und beachten Sie dabei die folgenden Überlegungen: -
Wenn verkettete Befehle fehlschlagen, führen Sie die Befehle nacheinander aus.
-
Studio unterstützt nur Docker Version
20.10.X.
und Docker Engine API-Version1.41
. -
Die folgenden Pakete sind für die Verwendung der Docker CLI in Studio nicht erforderlich und ihre Installation kann übersprungen werden:
-
containerd.io
-
docker-ce
-
docker-buildx-plugin
-
Anmerkung
Sie müssen den Docker Dienst nicht in Ihren Anwendungen starten. Die Instanz, die die Studio-Anwendung hostet, führt den Docker Dienst standardmäßig aus. Alle Docker API-Aufrufe werden automatisch über den Docker Dienst weitergeleitet.
-
-
Verwenden Sie den exponierten Docker Socket für Docker Interaktionen innerhalb von Studio-Anwendungen. Standardmäßig ist der folgende Socket verfügbar:
unix:///docker/proxy.sock
Die folgende Umgebungsvariable der Studio-Anwendung
USER
verwendet standardmäßig diesen exponierten Socket:DOCKER_HOST
Kein Internetzugang
Wenn die Domain im VPC-only
Modus ohne Internetzugang erstellt wurde, gehen Sie zur Installation wie folgt vorDocker.
-
Navigieren Sie zum Terminal der Studio-Anwendung, Docker in der Sie die Installation durchführen möchten.
-
Führen Sie den folgenden Befehl vom Terminal aus, um das Betriebssystem der Anwendung zurückzugeben:
cat /etc/os-release
-
Laden Sie die erforderlichen Docker
.deb
Dateien auf Ihren lokalen Computer herunter. Anweisungen zum Herunterladen der erforderlichen Dateien für das Betriebssystem der Studio-Anwendung finden Sie unter Docker Engine installieren. Installieren Sie beispielsweise Docker aus einem Paket auf Ubuntu und folgen Sie dabei den Schritten 1—4 unter Aus einem Paket installieren
. Beachten Sie dabei die folgenden Überlegungen: -
DockerAus einem Paket installieren. Die Verwendung anderer Methoden zur Installation von Docker schlägt fehl.
-
Installieren Sie die neuesten Pakete, die der Docker Version
20.10.X
entsprechen. -
Die folgenden Pakete sind nicht erforderlich, um die Docker CLI in Studio zu verwenden. Sie müssen Folgendes nicht installieren:
-
containerd.io
-
docker-ce
-
docker-buildx-plugin
-
Anmerkung
Sie müssen den Docker Dienst nicht in Ihren Anwendungen starten. Die Instanz, die die Studio-Anwendung hostet, führt den Docker Dienst standardmäßig aus. Alle Docker API-Aufrufe werden automatisch über den Docker Dienst weitergeleitet.
-
-
Laden Sie die
.deb
Dateien in das Amazon EFS-Dateisystem oder in das Amazon EBS-Dateisystem der Anwendung hoch. -
Installieren Sie die
docker-compose-plugin
.deb
Paketedocker-ce-cli
und manuell vom Studio-Anwendungsterminal aus. Weitere Informationen und Anweisungen finden Sie in Schritt 5 unter Aus einem Paket installierenauf der Docker Docs-Website. -
Verwenden Sie den exponierten Docker Socket für Docker Interaktionen innerhalb von Studio-Anwendungen. Standardmäßig ist der folgende Socket verfügbar:
unix:///docker/proxy.sock
Die folgende Umgebungsvariable der Studio-Anwendung
USER
verwendet standardmäßig diesen exponierten Socket:DOCKER_HOST