Erstellen Sie ein benutzerdefiniertes SageMaker Bild - Amazon SageMaker

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.

Erstellen Sie ein benutzerdefiniertes SageMaker Bild

Wichtig

Benutzerdefinierte IAM Richtlinien, die es Amazon SageMaker Studio oder Amazon SageMaker Studio Classic ermöglichen, SageMaker Amazon-Ressourcen zu erstellen, müssen auch Berechtigungen zum Hinzufügen von Tags zu diesen Ressourcen gewähren. Die Berechtigung zum Hinzufügen von Tags zu Ressourcen ist erforderlich, da Studio und Studio Classic automatisch alle von ihnen erstellten Ressourcen taggen. Wenn eine IAM Richtlinie Studio und Studio Classic das Erstellen von Ressourcen, aber kein Taggen erlaubt, können "AccessDenied" Fehler auftreten, wenn versucht wird, Ressourcen zu erstellen. Weitere Informationen finden Sie unter Stellen Sie Berechtigungen für das Taggen von Ressourcen SageMaker bereit.

AWS Verwaltete Richtlinien für Amazon SageMakerdie Berechtigungen zum Erstellen von SageMaker Ressourcen gewähren, beinhalten bereits Berechtigungen zum Hinzufügen von Tags beim Erstellen dieser Ressourcen.

Wichtig

Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Der folgende Abschnitt bezieht sich speziell auf die Verwendung der Studio Classic-Anwendung. Informationen zur Verwendung der aktualisierten Studio-Oberfläche finden Sie unterAmazon SageMaker Studio.

In diesem Thema wird beschrieben, wie Sie mithilfe der SageMaker Konsole oder ein benutzerdefiniertes SageMaker Image erstellen können AWS CLI.

Wenn Sie ein Image von der Konsole aus erstellen, wird SageMaker auch eine erste Image-Version erstellt. Die Image-Version stellt ein Container-Image in Amazon Elastic Container Registry (ECR) dar. Das Container-Image muss die Anforderungen erfüllen, um in Amazon SageMaker Studio Classic verwendet werden zu können. Weitere Informationen finden Sie unter Benutzerdefinierte SageMaker Bildspezifikationen. Informationen zum lokalen Testen Ihres Images und zum Beheben häufig auftretender Probleme finden Sie im SageMaker Studio Classic-Repo mit benutzerdefinierten Imagebeispielen.

Nachdem Sie Ihr benutzerdefiniertes SageMaker Image erstellt haben, müssen Sie es an Ihre Domain oder Ihren gemeinsam genutzten Bereich anhängen, um es mit Studio Classic verwenden zu können. Weitere Informationen finden Sie unter Hängen Sie ein benutzerdefiniertes SageMaker Bild an.

Erstellen Sie ein SageMaker Image von der Konsole aus

Im folgenden Abschnitt wird gezeigt, wie Sie ein benutzerdefiniertes SageMaker Image von der SageMaker Konsole aus erstellen.

So erstellen Sie ein Image
  1. Öffnen Sie die SageMaker Amazon-Konsole unter https://console.aws.amazon.com/sagemaker/.

  2. Wählen Sie im linken Navigationsbereich Admin-Konfigurationen.

  3. Wählen Sie unter Admin-Konfigurationen die Option Images.

  4. Wählen Sie auf der Seite Benutzerdefinierte Images die Option Image erstellen aus.

  5. Geben Sie als Bildquelle den Registrierungspfad zum Container-Image in Amazon einECR. Der Pfad hat das folgende Format:

    acct-id.dkr.ecr.region.amazonaws.com/repo-name[:tag] or [@digest]

  6. Wählen Sie Next.

  7. Geben Sie unter Image-Eigenschaften Folgendes ein:

    • Image-Name – Der Name muss für Ihr Konto in der aktuellen AWS-Region eindeutig sein.

    • (Optional) Anzeigename — Der Name, der auf der Studio Classic-Benutzeroberfläche angezeigt wird. Wenn nicht angegeben, wird Image name angezeigt.

    • (Optional) Beschreibung – Eine Beschreibung des Images.

    • IAMRolle — Der Rolle muss die AmazonSageMakerFullAccessRichtlinie angehängt sein. Verwenden Sie das Dropdown-Menü, um eine der folgenden Optionen zu wählen:

      • Eine neue Rolle erstellen – Geben Sie alle zusätzlichen Amazon Simple Storage Service (Amazon S3)-Buckets an, auf die die Benutzer Ihrer Notebooks zugreifen können sollen. Wenn Sie den Zugriff auf zusätzliche Bereiche nicht zulassen möchten, wählen Sie Keine.

        SageMaker ordnet die AmazonSageMakerFullAccess Richtlinie der Rolle zu. Die Rolle ermöglicht Benutzern Ihrer Notebooks den Zugriff auf die S3-Buckets, die neben den Häkchen aufgeführt sind.

      • Geben Sie eine benutzerdefinierte IAM Rolle ein ARN — Geben Sie den Amazon-Ressourcennamen (ARN) Ihrer IAM Rolle ein.

      • Bestehende Rolle verwenden – Wählen Sie eine Ihrer vorhandenen Rollen aus der Liste aus.

    • (Optional) Image-Tags – Wählen Sie Neues Tag hinzufügen. Sie können bis zu 50 Tags hinzufügen. Nach Tags kann über die Studio Classic-Benutzeroberfläche, die SageMaker Konsole oder die SageMaker Search API gesucht werden.

  8. Wählen Sie Absenden aus.

Das neue Image wird in der Liste Benutzerdefinierte Images angezeigt und kurz hervorgehoben. Nachdem das Image erfolgreich erstellt wurde, können Sie den Namen des Images wählen, um seine Eigenschaften anzuzeigen, oder Version erstellen wählen, um eine weitere Version zu erstellen.

Um eine weitere Image-Version zu erstellen
  1. Wählen Sie Version erstellen in derselben Zeile wie das Image aus.

  2. Geben Sie als Bildquelle den Registrierungspfad zum ECR Amazon-Container-Image ein. Das Container-Image sollte nicht dasselbe Bild sein, das in einer früheren Version des SageMaker Images verwendet wurde.

Erstellen Sie ein SageMaker Bild aus dem AWS CLI

Sie führen die folgenden Schritte aus, um mithilfe von ein SageMaker Image aus dem Container-Image zu erstellen AWS CLI.

  • Erstellen einer Image VPC

  • Erstellen einer ImageVersion VPC

  • Erstellen einer Konfigurationsdatei

  • Erstellen einer AppImageConfig.

Um die SageMaker Image-Entitäten zu erstellen
  1. Erstellen Sie ein SageMaker Bild.

    aws sagemaker create-image \ --image-name custom-image \ --role-arn arn:aws:iam::<acct-id>:role/service-role/<execution-role>

    Die Antwort sollte in etwa so aussehen wie die folgende.

    { "ImageArn": "arn:aws:sagemaker:us-east-2:acct-id:image/custom-image" }
  2. Erstellen Sie eine SageMaker Image-Version aus dem Container-Image.

    aws sagemaker create-image-version \ --image-name custom-image \ --base-image <acct-id>.dkr.ecr.<region>.amazonaws.com/smstudio-custom:custom-image

    Die Antwort sollte in etwa so aussehen wie die folgende.

    { "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/custom-image/1" }
  3. Überprüfen Sie, ob die Image-Version erfolgreich erstellt wurde.

    aws sagemaker describe-image-version \ --image-name custom-image \ --version-number 1

    Die Antwort sollte in etwa so aussehen wie die folgende.

    { "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/custom-image/1", "ImageVersionStatus": "CREATED" }
    Anmerkung

    Wenn die Antwort lautet"ImageVersionStatus": "CREATED_FAILED", enthält die Antwort auch den Grund für den Fehler. Ein Problem mit Berechtigungen ist eine häufige Fehlerursache. Sie können auch Ihre CloudWatch Amazon-Protokolle überprüfen, wenn beim Starten oder Ausführen der KernelGateway App für ein benutzerdefiniertes Image ein Fehler auftritt. Der Name der Protokollgruppe ist /aws/sagemaker/studio. Der Name des Protokollstroms ist $domainID/$userProfileName/KernelGateway/$appName.

  4. Erstellen Sie eine Konfigurationsdatei mit dem Namen app-image-config-input.json. Der Name Wert von KernelSpecs muss mit dem Namen des im zugehörigen Bild kernelSpec verfügbaren Bildes übereinstimmenAppImageConfig. Bei diesem Wert ist die Groß- und Kleinschreibung zu beachten. Sie können das kernelSpecs in einem Bild verfügbare Objekt finden, indem Sie es jupyter-kernelspec list von einer Shell innerhalb des Containers aus ausführen. MountPathist der Pfad innerhalb des Images, um Ihr Amazon Elastic File System (AmazonEFS) -Home-Verzeichnis zu mounten. Er muss sich von dem Pfad unterscheiden, den Sie innerhalb des Containers verwenden, da dieser Pfad überschrieben wird, wenn Ihr EFS Amazon-Home-Verzeichnis bereitgestellt wird.

    Anmerkung

    Die folgenden DefaultUID und DefaultGID Kombinationen sind die einzigen akzeptierten Werte:

    • StandardUID: 1000 und StandardGID: 100

    • StandardUID: 0 und StandardGID: 0

    { "AppImageConfigName": "custom-image-config", "KernelGatewayImageConfig": { "KernelSpecs": [ { "Name": "python3", "DisplayName": "Python 3 (ipykernel)" } ], "FileSystemConfig": { "MountPath": "/home/sagemaker-user", "DefaultUid": 1000, "DefaultGid": 100 } } }
  5. Erstellen Sie das AppImageConfig mit der Datei, die Sie im vorherigen Schritt erstellt haben.

    aws sagemaker create-app-image-config \ --cli-input-json file://app-image-config-input.json

    Die Antwort sollte in etwa so aussehen wie die folgende.

    { "AppImageConfigArn": "arn:aws:sagemaker:us-east-2:acct-id:app-image-config/custom-image-config" }