Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Accedi a un contenitore di formazione tramite AWS Systems Manager il debug remoto
Puoi connetterti in modo sicuro ai contenitori di formazione tramite (SSM). SageMaker AWS Systems Manager Ciò offre un accesso a livello di shell ai processi di formazione di debug in esecuzione all'interno del contenitore. Puoi anche registrare comandi e risposte trasmessi in streaming ad Amazon CloudWatch. Se usi il tuo Amazon Virtual Private Cloud (VPC) per addestrare un modello, puoi usarlo per configurare un endpoint VPC AWS PrivateLink per SSM e connetterti ai container privatamente tramite SSM.
Puoi connetterti a SageMaker Framework Containers
Configura le autorizzazioni IAM
Per abilitare SSM nel tuo contenitore di SageMaker formazione, devi impostare un ruolo IAM per il contenitore. Per consentire a te o agli utenti del tuo AWS account di accedere ai contenitori di formazione tramite SSM, devi configurare gli utenti IAM con le autorizzazioni per utilizzare SSM.
Ruolo IAM
Affinché un contenitore di SageMaker formazione inizi con l'agente SSM, fornisci un ruolo IAM con autorizzazioni SSM.
Per abilitare il debug remoto per il processo di formazione, è SageMaker necessario avviare l'agente SSM nel contenitore di formazione all'inizio del processo di formazione. Per consentire all'agente SSM di comunicare con il servizio SSM, aggiungi la seguente policy al ruolo IAM che utilizzi per eseguire il tuo processo di formazione.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": "*" } ] }
Utente IAM
Aggiungi la seguente policy per fornire a un utente IAM le autorizzazioni di sessione SSM per connettersi a un target SSM. In questo caso, il target SSM è un contenitore di formazione. SageMaker
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": "*" } ] }
Puoi limitare gli utenti IAM a connettersi solo ai container per specifici lavori di formazione aggiungendo la Condition
chiave, come mostrato nel seguente esempio di policy.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": [ "*" ], "Condition": { "StringLike": { "ssm:resourceTag/aws:ssmmessages:target-id": [ "sagemaker-training-job:*" ] } } } ] }
Puoi anche utilizzare in modo esplicito la chiave sagemaker:EnableRemoteDebug
condition per limitare il debug remoto. Di seguito è riportato un esempio di policy per gli utenti IAM per limitare il debug remoto.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyRemoteDebugInTrainingJob", "Effect": "Allow", "Action": [ "sagemaker:CreateTrainingJob", "sagemaker:UpdateTrainingJob" ], "Resource": "*", "Condition": { "BoolIfExists": { "sagemaker:EnableRemoteDebug": false } } } ] }
Per ulteriori informazioni, consulta Condition keys for Amazon SageMaker nel AWS Service Authorization Reference.
Come abilitare il debug remoto per un lavoro di formazione SageMaker
In questa sezione, scopri come abilitare il debug remoto all'avvio o all'aggiornamento di un processo di formazione in Amazon. SageMaker
Accedi al tuo contenitore di formazione
È possibile accedere a un contenitore di formazione quando si tratta SecondaryStatus
del lavoro di formazione corrispondenteTraining
. I seguenti esempi di codice mostrano come controllare lo stato del processo di formazione utilizzando l'DescribeTrainingJob
API, come controllare i login CloudWatch del processo di formazione e come accedere al contenitore di formazione.
Per verificare lo stato di un lavoro di formazione
Per trovare il nome host di un contenitore di formazione
Per connetterti al contenitore di formazione tramite SSM, usa questo formato per l'ID di destinazione:sagemaker-training-job:<training-job-name>_algo-<n>
, dove algo-<n>
è il nome dell'host del contenitore. Se il processo è in esecuzione su una singola istanza, l'host lo è semprealgo-1
. Se esegui un processo di formazione distribuito su più istanze, SageMaker crea un numero uguale di host e flussi di log. Ad esempio, se utilizzi 4 istanze, SageMaker crea, algo-1
algo-2
, algo-3
e. algo-4
È necessario determinare di quale flusso di log si desidera eseguire il debug e il relativo numero di host. Per accedere ai flussi di log associati a un processo di formazione, effettuate le seguenti operazioni.
Apri la SageMaker console Amazon all'indirizzo https://console.aws.amazon.com/sagemaker/
. -
Nel riquadro di navigazione a sinistra, scegli Formazione, quindi scegli Training jobs.
-
Dall'elenco dei lavori di formazione, scegli il lavoro di formazione di cui desideri eseguire il debug. Viene visualizzata la pagina dei dettagli del lavoro di formazione.
-
Nella sezione Monitor, scegli Visualizza registri. L'elenco dei relativi registri dei lavori di formazione viene visualizzato nella CloudWatch console.
-
I nomi dei flussi di log vengono visualizzati in un
<training-job-name>/algo-<n>-<time-stamp>
formatoalgo-<n>
che rappresenta il nome host.
Per ulteriori informazioni su come SageMaker gestisce le informazioni di configurazione per la formazione distribuita a più istanze, consulta Distributed Training Configuration.
Per accedere al contenitore di formazione
Utilizzate il seguente comando nel terminale per avviare la sessione SSM (aws ssm start-session
) e connettervi al contenitore di formazione.
aws ssm start-session --target sagemaker-training-job:
<training-job-name>
_algo-<n>
Ad esempio, se il nome del processo di formazione è training-job-test-remote-debug
e il nome host èalgo-1
, l'ID di destinazione diventasagemaker-training-job:training-job-test-remote-debug_algo-1
. Se l'output di questo comando è simile aStarting session with SessionId:xxxxx
, la connessione ha esito positivo.
Accesso SSM con AWS PrivateLink
Se i tuoi contenitori di formazione vengono eseguiti all'interno di un Amazon Virtual Private Cloud che non è connesso a Internet pubblico, puoi utilizzarli AWS PrivateLink per abilitare SSM. AWS PrivateLink limita tutto il traffico di rete tra le istanze di endpoint, SSM e Amazon EC2 alla rete Amazon. Per ulteriori informazioni su come configurare l'accesso SSM con AWS PrivateLink, consulta Configurare un endpoint Amazon VPC per Session Manager.
Registra i comandi e i risultati della sessione SSM
Dopo aver seguito le istruzioni riportate in Creare un documento di preferenze di Session Manager (riga di comando), è possibile creare documenti SSM che definiscono le preferenze per le sessioni SSM. È possibile utilizzare i documenti SSM per configurare le opzioni di sessione, tra cui la crittografia dei dati, la durata della sessione e la registrazione. Ad esempio, puoi specificare se archiviare i dati dei log di sessione in un bucket Amazon Simple Storage Service (Amazon S3) o in un gruppo Amazon Logs. CloudWatch Puoi creare documenti che definiscono le preferenze generali per tutte le sessioni per un AWS account o documenti che definiscono le preferenze per le singole sessioni. Regione AWS
Risoluzione dei problemi controllando i log degli errori da SSM
Amazon SageMaker carica gli errori dall'agente SSM nei tuoi CloudWatch registri nel gruppo di log. /aws/sagemaker/TrainingJobs
I flussi di log degli agenti SSM sono denominati in questo formato:. <job-name>/algo-<n>-<timestamp>/ssm
Per esempio, se crei un processo di formazione a due nodi denominatotraining-job-test-remote-debug
, il registro dei lavori di formazione training-job-test-remote-debug/algo-<n>-<timestamp>
e i log degli errori di più agenti SSM training-job-test-remote-debug/algo-<n>-<timestamp>/ssm
vengono caricati nei tuoi registri. CloudWatch In questo esempio, puoi esaminare i flussi di */ssm
log per risolvere i problemi relativi a SSM.
training-job-test-remote-debug/algo-1-1680535238 training-job-test-remote-debug/algo-2-1680535238 training-job-test-remote-debug/algo-1-1680535238/ssm training-job-test-remote-debug/algo-2-1680535238/ssm
Considerazioni
Considerate quanto segue quando utilizzate il debug remoto. SageMaker
-
Il debug remoto non è supportato per i contenitori di SageMaker algoritmi o per i contenitori futuri. SageMaker Marketplace AWS
-
Non è possibile avviare una sessione SSM per contenitori con isolamento di rete abilitato perché l'isolamento impedisce le chiamate di rete in uscita.