Come posso risolvere i problemi che si verificano con i miei job notebook pianificati Sagemaker AI?
Desidero risolvere i problemi che si verificano con i miei job notebook pianificati Amazon SageMaker AI.
Risoluzione
Il job notebook non viene eseguito durante l'orario pianificato
I job notebook pianificati utilizzano i servizi di addestramento e pipeline di Amazon EventBridge e SageMaker AI. Se il notebook non è in esecuzione nell'orario pianificato, il ruolo AWS Identity and Access Management (AWS IAM) potrebbe non avere le autorizzazioni richieste.
Il ruolo IAM utilizzato per creare e pianificare il job notebook è il ruolo del dominio SageMaker AI Studio o il ruolo associato al profilo utente individuale nel dominio.
Per concedere le autorizzazioni per gestire gli eventi Amazon CloudWatch per i job notebook pianificati, aggiungi ai job la seguente policy:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "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" } } }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringLike": { "iam:PassedToService": "events.amazonaws.com" } } }, { "Sid": "VisualEditor2", "Effect": "Allow", "Action": "sagemaker:ListTags", "Resource": "arn:aws:sagemaker:*:*:user-profile/*/*" } ] }
Nota: la policy precedente consente ai tag di elenco sui profili utente di identificare i notebook contrassegnati come job pianificato.
Il pulsante "Crea" è disattivato quando tenti di creare un job notebook pianificato
Se il pulsante Crea è disattivato e il parametro Opzioni aggiuntive mostra **!**quando crei un job notebook, recupera il file HAR. Esamina l'acquisizione della rete durante il periodo in cui si è verificato il problema per identificarne la causa. Verifica la presenza di configurazioni non corrette di Amazon Virtual Private Cloud (Amazon VPC) o problemi di autorizzazione dei ruoli di runtime.
Se utilizzi Amazon VPC per eseguire il job notebook, assicurati di disporre dei seguenti endpoint Amazon VPC:
- SageMaker AI: Per connetterti a SageMaker AI, consulta Connessione a SageMaker AI tramite un endpoint VPC di interfaccia.
- Amazon Simple Storage Service (Amazon S3): Per connetterti ad Amazon S3, consulta Endpoint gateway per Amazon S3.
- Amazon Elastic Compute Cloud (Amazon EC2): Per connetterti ad Amazon EC2, consulta Accedi ad Amazon EC2 utilizzando un endpoint VPC di interfaccia.
- EventBridge: Utilizza un endpoint EventBridge solo quando configuri un notebook pianificato. Per connetterti a EventBridge, consulta Utilizzo di Amazon EventBridge con endpoint VPC di interfaccia.
Specifica almeno una sottorete e un gruppo di sicurezza privati. Se non utilizzi sottoreti private, utilizza un'altra opzione di configurazione. Per ulteriori informazioni, consulta Requisiti per l'utilizzo della modalità VPC only.
Se hai configurato gli endpoint precedenti o non utilizzi Amazon VPC per eseguire il job notebook, configura le autorizzazioni IAM e le autorizzazioni dei ruoli di runtime.
Per configurare le autorizzazioni IAM, completa i seguenti passaggi:
- Apri la console IAM.
- Nel pannello di navigazione, scegliUtenti.
- Seleziona l'utente IAM associato al job notebook.
- Nel menu a discesa, scegli Aggiungi autorizzazioni, quindi scegli Crea policy inline.
- Scegli la scheda JSON, quindi aggiungi la seguente policy:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EventBridgeSchedule", "Effect": "Allow", "Action": [ "events:TagResource", "events:DeleteRule", "events:PutTargets", "events:DescribeRule", "events:EnableRule", "events:PutRule", "events:RemoveTargets", "events:DisableRule" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true" } } }, { "Sid": "IAMPassrole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringLike": { "iam:PassedToService": [ "sagemaker.amazonaws.com", "events.amazonaws.com" ] } } }, { "Sid": "IAMListRoles", "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "*" }, { "Sid": "S3ArtifactsAccess", "Effect": "Allow", "Action": [ "s3:PutEncryptionConfiguration", "s3:CreateBucket", "s3:PutBucketVersioning", "s3:ListBucket", "s3:PutObject", "s3:GetObject", "s3:GetEncryptionConfiguration", "s3:DeleteObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::sagemaker-automated-execution-*" ] }, { "Sid": "S3DriverAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::sagemakerheadlessexecution-*" ] }, { "Sid": "SagemakerJobs", "Effect": "Allow", "Action": [ "sagemaker:DescribeTrainingJob", "sagemaker:StopTrainingJob", "sagemaker:DescribePipeline", "sagemaker:CreateTrainingJob", "sagemaker:DeletePipeline", "sagemaker:CreatePipeline" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true" } } }, { "Sid": "AllowSearch", "Effect": "Allow", "Action": "sagemaker:Search", "Resource": "*" }, { "Sid": "SagemakerTags", "Effect": "Allow", "Action": [ "sagemaker:ListTags", "sagemaker:AddTags" ], "Resource": [ "arn:aws:sagemaker:*:*:pipeline/*", "arn:aws:sagemaker:*:*:space/*", "arn:aws:sagemaker:*:*:training-job/*", "arn:aws:sagemaker:*:*:user-profile/*" ] }, { "Sid": "ECRImage", "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchGetImage" ], "Resource": "*" } ] }
Per configurare le autorizzazioni del ruolo di runtime, completa i seguenti passaggi:
- Apri la console IAM.
- Nel pannello di navigazione, scegli Ruoli.
- Seleziona il ruolo di runtime del job associato al job notebook.
- Scegli la scheda Relazioni di attendibilità.
- Scegli Modifica policy di attendibilità, quindi aggiungi la seguente policy:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com", "events.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Per aggiungere le autorizzazioni per accedere alle risorse, completa i seguenti passaggi:
-
Apri la console IAM.
-
Nel pannello di navigazione a sinistra, scegli Ruoli.
-
Seleziona il ruolo di runtime del job associato al job notebook.
-
Nel menu a discesa, scegli Aggiungi autorizzazioni, quindi scegli Crea policy inline.
-
Scegli la scheda JSON, quindi aggiungi la seguente policy:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassroleForJobCreation", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringLike": { "iam:PassedToService": "sagemaker.amazonaws.com" } } }, { "Sid": "S3ForStoringArtifacts", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::sagemaker-automated-execution-*" }, { "Sid": "S3DriverAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::sagemakerheadlessexecution-*" ] }, { "Sid": "SagemakerJobs", "Effect": "Allow", "Action": [ "sagemaker:StartPipelineExecution", "sagemaker:CreateTrainingJob" ], "Resource": "*" }, { "Sid": "ECRImage", "Effect": "Allow", "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability" ], "Resource": "*" } ] }Nota: nella policy precedente, puoi aggiungere autorizzazioni ad altre risorse a cui il job notebook deve avere accesso.
-
Scegli Verifica policy. Quindi inserisci un nome per la policy.
-
Scegli Crea policy.
Ricevi l'errore "Unable to find metadata for image"
Ricevi il messaggio di errore "Unable to find metadata for image arn in region: example-region".
L'errore precedente si verifica quando non associ o selezioni l'immagine dell'utente durante la creazione del job notebook. L'errore può verificarsi anche quando tenti di allegare l'immagine dell'utente al job notebook.
Per risolvere il problema, riprogramma successivamente il job notebook. Se l'errore persiste, contatta il Supporto AWS.
Informazioni correlate
Operationalize your Amazon SageMaker Studio notebooks as scheduled notebook jobs (Come rendere operativi i notebook Amazon SageMaker Studio come job notebook pianificati)
Installazione di policy e autorizzazioni per gli ambienti Jupyter locali
- Argomenti
- Machine Learning & AIStorage
- Lingua
- Italiano
