Wie kann ich Probleme mit geplanten Notebook-Aufgaben in SageMaker Studio beheben?

Lesedauer: 4 Minute
0

Wenn ich eine geplante Notebook-Aufgabe in Amazon SageMaker Studio ausführe, erhalte ich eine Fehlermeldung.

Kurzbeschreibung

Zwei Arten von Fehlern lassen geplante Notebook-Aufgaben in SageMaker Studio häufig fehlschlagen:

  • AccessDenied-Fehler
  • Benutzeroberflächenfehler bei Versuchen, eine Aufgabe zu aktualisieren

Lösung

AccessDenied-Fehler

AccessDenied-Fehler treten am häufigsten bei Problemen an folgenden Stellen auf:

  • AWS Identity and Access Management (IAM)-Richtlinien
  • Virtual Private Cloud (VPC)-Endpunktrichtlinien
  • Ressourcen-Tag-Ausnahmen

Probleme mit IAM-Richtlinien

AccessDenied-Fehler treten am häufigsten aufgrund von Fehlern im Zusammenhang mit Berechtigungen auf. Folgen Sie daher den bewährten Methoden für die IAM-Rolle, die Sie für die Notebook-Aufgabe benötigen. Für die Basis-Vertrauensbeziehung benötigen Sie die folgende IAM-Rolle:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    },
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "events.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Stellen Sie außerdem sicher, dass Ihre IAM-Rolle über die folgenden Berechtigungen verfügt:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::*:role/*",
      "Condition": {
        "StringLike": {
          "iam:PassedToService": [
            "sagemaker.amazonaws.com",
            "events.amazonaws.com"
          ]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "events:TagResource",
        "events:DeleteRule",
        "events:PutTargets",
        "events:DescribeRule",
        "events:PutRule",
        "events:RemoveTargets",
        "events:DisableRule",
        "events:EnableRule"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:PutBucketVersioning",
        "s3:PutEncryptionConfiguration"
      ],
      "Resource": "arn:aws:s3:::sagemaker-automated-execution-*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "sagemaker:ListTags"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:user-profile/*",
        "arn:aws:sagemaker:*:*:space/*",
        "arn:aws:sagemaker:*:*:training-job/*",
        "arn:aws:sagemaker:*:*:pipeline/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddTags"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:training-job/*",
        "arn:aws:sagemaker:*:*:pipeline/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:CreateNetworkInterfacePermission",
        "ec2:CreateVpcEndpoint",
        "ec2:DeleteNetworkInterface",
        "ec2:DeleteNetworkInterfacePermission",
        "ec2:DescribeDhcpOptions",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribeRouteTables",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSubnets",
        "ec2:DescribeVpcEndpoints",
        "ec2:DescribeVpcs",
        "ecr:BatchCheckLayerAvailability",
        "ecr:BatchGetImage",
        "ecr:GetDownloadUrlForLayer",
        "ecr:GetAuthorizationToken",
        "s3:ListBucket",
        "s3:GetBucketLocation",
        "s3:GetEncryptionConfiguration",
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:GetObject",
        "sagemaker:DescribeDomain",
        "sagemaker:DescribeUserProfile",
        "sagemaker:DescribeSpace",
        "sagemaker:DescribeStudioLifecycleConfig",
        "sagemaker:DescribeImageVersion",
        "sagemaker:DescribeAppImageConfig",
        "sagemaker:CreateTrainingJob",
        "sagemaker:DescribeTrainingJob",
        "sagemaker:StopTrainingJob",
        "sagemaker:Search",
        "sagemaker:CreatePipeline",
        "sagemaker:DescribePipeline",
        "sagemaker:DeletePipeline",
        "sagemaker:StartPipelineExecution"
      ],
      "Resource": "*"
    }
  ]
}

Weitere Informationen finden Sie unter AWS managed policies for SageMaker notebooks.

Probleme mit VPC-Endpunkten

Wenn Sie die Notebook-Aufgabe über einen VPC-Endpunkt initiieren, überprüfen Sie die Konfiguration und Richtlinien des Endpunkts. Stellen Sie sicher, dass Sie die Schritte und bewährten Methoden für den betreffenden Service-Endpunkt befolgen:

Bei Amazon-S3-VPC-Endpunkten entsteht der häufigste Fehler aus einem Endpunkt, der auf ein einzelnes Konto beschränkt ist. Die folgende Richtlinie schränkt beispielsweise den Zugriff auf ein Konto mit der ID 111122223333 ein:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowSpecificAccountsPermission",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "s3:*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "s3:ResourceAccount": "111122223333"
        }
      }
    }
  ]
}

In diesem Fall müssen Sie auch den folgenden Bucket-Zugriff für die Aktionen des Benutzers zulassen:

{
  "Action": [
    "s3:*"
  ],
  "Resource": [
    "arn:aws:s3:::sagemakerheadlessexecution-prod-*",
    "arn:aws:s3:::sagemakerheadlessexecution-prod-*/*"
  ],
  "Effect": "Allow",
  "Sid": "SCTASK14554266"
}

Ressourcen-Tag-Ausnahmen

Stellen Sie sicher, dass Ihre IAM-Richtlinie über die folgenden Berechtigungen verfügt:

{
  "Effect": "Allow",
  "Action": [
    "events:TagResource",
    "events:DeleteRule",
    "events:PutTargets",
    "events:DescribeRule",
    "events:PutRule",
    "events:RemoveTargets",
    "events:DisableRule",
    "events:EnableRule"
  ],
  "Resource": "*",
  "Condition": {
    "StringEquals": {
      "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true"
    }
  }
}

Benutzeroberflächenfehler bei Versuchen, eine Aufgabe zu aktualisieren

Möglicherweise tritt ein Benutzeroberflächenfehler auf, wenn Sie versuchen, eine Notebook-Aufgabe zu erstellen, zu beschreiben, zu aktualisieren, zu beenden oder zu löschen. Dieses Problem kann auch bei Aufgabendefinitionen (geplante Aufgaben) auftreten. Um das Problem zu beheben, notieren Sie sich zunächst die Fehlermeldung, die auf der Benutzeroberfläche angezeigt wird. Diese Meldung enthält häufig Anweisungen oder Empfehlungen zur Fehlerbehebung.

Wenn Sie den Fehler nicht beheben können, gehen Sie wie folgt vor:

  1. Fertigen Sie einen Screenshot der Fehlermeldung an und speichern Sie ihn als Grafikdatei.
  2. Erstellen Sie eine HTTP-Archivdatei (HAR), die den Netzwerkdatenverkehr erfasst, wenn der Benutzeroberflächenfehler auftritt.
  3. Gehen Sie zum Jupyter-Serverterminal von SageMaker Studio. Wählen Sie Datei, Neu, Terminal aus.
  4. Überprüfen Sie die Protokolle in /var/log/apps/app_container.log auf Ausnahmen, Fehler oder Warnungen zum Zeitpunkt des Benutzeroberflächenfehlers.
  5. Wenden Sie sich über das AWS Support Center an den AWS Support. Hängen Sie Ihrer Anfrage den Screenshot des Fehlers, die app_container.log und die HAR-Datei an.
AWS OFFICIAL
AWS OFFICIALAktualisiert vor 6 Monaten