SageMaker Studio でスケジュールされたノートブックジョブのトラブルシューティングを行うにはどうすればよいですか?
Amazon SageMaker Studio でスケジュールされたノートブックジョブを実行しようとすると、エラーが発生します。
簡単な説明
SageMaker Studio でのノートブックジョブのスケジューリングを妨げる可能性のある一般的な問題には、次の 2 種類があります。
- AccessDenied エラー
- ジョブを更新しようとすると表示される UI エラー
解決策
AccessDenied エラー
AccessDenied エラーには、最も一般的には次の問題が関係しています。
- AWS Identity and Access Management (IAM) ポリシー
- 仮想プライベートクラウド (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 managed policies for SageMaker notebooks」を参照してください。
VPC エンドポイントの問題
VPC エンドポイントからノートブックジョブを開始する場合は、エンドポイントの設定とポリシーを確認してください。関連するサービスエンドポイントの手順とベストプラクティスに必ず従ってください。
- Amazon Elastic Compute Cloud (Amazon EC2) のエンドポイント
- Amazon EventBridge エンドポイント
- SageMaker エンドポイント
- Amazon Simple Storage Service (Amazon S3) のエンドポイント
Amazon S3 VPC エンドポイントで最もよくあるエラーは、1 つのアカウントに制限されているエンドポイントに関するものです。たとえば、次のポリシーは、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 に表示されるエラーメッセージを書き留めておきます。このメッセージには、多くの場合、問題を解決するための指示または提案アクションが含まれています。
エラーを解決できない場合は、次の手順を実行してください。
- エラーのスクリーンショットを撮り、画像ファイルとして保存します。
- UI エラーが発生したときにネットワークトラフィックをキャプチャする HTTP アーカイブ (HAR) ファイルを作成します。
- SageMaker Studio の Jupyter サーバーターミナルにアクセスしてください。[File]、[New]、[Terminal] を選択します。
- /var/log/apps/app_container.log のログをチェックして、UI エラー発生時の例外、エラー、または警告を確認します。
- AWS サポートセンターから AWS サポートにお問い合わせください。お問い合わせには、エラーのスクリーンショット、app_container.log、HAR ファイルを添付してください。
関連するコンテンツ
- 質問済み 7年前lg...
- 質問済み 1年前lg...
- 質問済み 10日前lg...
- 質問済み 2ヶ月前lg...
- 質問済み 8年前lg...
- AWS公式更新しました 2年前