SageMaker Studio에서 예약된 노트북 작업 문제를 해결하려면 어떻게 해야 하나요?

3분 분량
0

Amazon SageMaker 스튜디오에서 예약된 노트북 작업을 실행할 때 오류가 발생합니다.

간략한 설명


SageMaker Studio에서 예약된 노트북 작업을 방해할 수 있는 일반적인 오류는 두 가지입니다.

  • AccessDenied 오류
  • 작업을 업데이트하려고 할 때 발생하는 UI 오류

해결 방법

AccessDenied 오류

AccessDenied 오류는 일반적으로 다음과 같은 문제와 관련이 있습니다.

  • AWS Identity and Access Management(AWS IAM) 정책

  • Virtual Private Cloud(VPC) 엔드포인트 정책

  • 리소스 태그 예외

IAM 정책 문제

일반적으로 권한 기반 오류 때문에 AccessDenied 오류가 발생합니다. 따라서 노트북 작업에 필요한 IAM 역할 모범 사례를 따르세요. 기본 트러스트 관계에는 다음과 같은 IAM 역할이 필요합니다.

{
  "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"
    }
  ]
}

또한 IAM 역할에 다음과 같은 권한이 있는지 확인하세요.

{
  "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": "*"
    }
  ]
}

자세한 내용은 AWS 관리형 SageMaker 노트북용 정책을 참고하세요.

VPC 엔드포인트 문제

VPC 엔드포인트를 통해 노트북 작업을 시작하는 경우 엔드포인트 구성과 정책을 확인하세요. 관련 서비스 엔드포인트의 단계와 모범 사례를 따르고 있는지 확인하세요.

Amazon S3 VPC 엔드포인트의 경우 단일 계정으로 제한되는 엔드포인트와 관련된 오류가 가장 일반적입니다. 예를 들어 다음 정책은 ID 111122223333 계정의 액세스를 제한합니다.

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

이 경우 사용자의 작업에 다음 버킷 액세스도 허용해야 합니다.

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

리소스 태그 예외

IAM 정책에 다음과 같은 권한이 있는지 확인하세요.

{
  "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"
    }
  }
}

작업을 업데이트하려고 할 때 발생하는 UI 오류

노트북 작업 생성, 설명, 업데이트, 중지, 삭제를 시도할 때 UI 오류가 발생할 수 있습니다. 작업 정의(예약된 작업)에서도 이 문제가 발생할 수 있습니다. 이 문제를 해결하려면 먼저 UI에 표시되는 오류 메시지를 참고하세요. 이 메시지에는 종종 문제 해결을 위한 지침이나 제안 작업이 포함되어 있습니다.

오류를 해결할 수 없는 경우 다음 단계를 따르세요.

  1. 오류 스크린샷을 찍은 다음 이미지 파일로 저장합니다.

  2. UI 오류가 발생할 때 네트워크 트래픽을 캡처하는 HTTP 아카이브(HAR) 파일을 만듭니다.

  3. SageMaker 스튜디오의 Jupyter 서버 터미널로 이동합니다. 파일, 새로 만들기, 터미널을 선택합니다.

  4. /var/log/app/app_container.log에서 UI 오류 발생 시점의 예외, 오류 또는 경고 로그를 확인합니다.

  5. AWS Support 센터를 통해 AWS Supprt에 문의합니다. 요청 시 오류 스크린샷, app_container.log, HAR 파일을 첨부하세요.

AWS 공식
AWS 공식업데이트됨 6달 전