Registrazione e monitoraggio - SageMaker Best practice per l'amministrazione di Studio

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à.

Registrazione e monitoraggio

Per aiutarti a eseguire il debug di processi di compilazione, processi di elaborazione, lavori di formazione, endpoint, processi di trasformazione, istanze notebook e configurazioni del ciclo di vita delle istanze notebook, tutto ciò che un contenitore di algoritmi, un contenitore modello o una configurazione del ciclo di vita di un'istanza notebook invia a stdout o stderr viene inviato anche ad Amazon CloudWatch Logs. Puoi monitorare SageMaker Studio utilizzando Amazon, che raccoglie dati grezzi e li elabora in parametri leggibili quasi in tempo CloudWatch reale. Queste statistiche vengono conservate per 15 mesi, così puoi accedere alle informazioni storiche e avere una prospettiva migliore sulle prestazioni della tua applicazione o del tuo servizio web.

Registrazione con CloudWatch

Poiché il processo di data science è intrinsecamente sperimentale e iterativo, è essenziale registrare attività come l'utilizzo del notebook, la durata dei lavori di formazione/elaborazione, le metriche di formazione e le metriche di servizio degli endpoint come la latenza di chiamata. Per impostazione predefinita, SageMaker pubblica le metriche in CloudWatch Logs e questi log possono essere crittografati con chiavi gestite dal cliente utilizzando. AWS KMS

Puoi anche utilizzare gli endpoint VPC per inviare i log CloudWatch senza utilizzare la rete Internet pubblica. È anche possibile impostare allarmi che controllano determinate soglie e inviare notifiche o intraprendere azioni quando queste soglie vengono raggiunte. Per ulteriori informazioni, consulta la Amazon CloudWatch User Guide.

SageMaker crea un singolo gruppo di log per Studio, sotto/aws/sagemaker/studio. Ogni profilo utente e app ha il proprio flusso di log in questo gruppo di log e anche gli script di configurazione del ciclo di vita hanno il proprio flusso di log. Ad esempio, un profilo utente denominato «studio-user» con un'app Jupyter Server e uno script del ciclo di vita allegato e un'app Data Science Kernel Gateway hanno i seguenti flussi di log:

/aws/sagemaker/studio/<domain-id>/studio-user/JupyterServer/default

/aws/sagemaker/studio/<domain-id>/studio-user/JupyterServer/default/LifecycleConfigOnStart

/aws/sagemaker/studio/<domain-id>/studio-user/KernelGateway/datascience-app

Per inviare i log SageMaker a tuo nome, il chiamante delle API di CloudWatch lavoro Training/Processing/Transform avrà bisogno delle seguenti autorizzazioni:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:CreateLogDelivery", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DeleteLogDelivery", "logs:Describe*", "logs:GetLogEvents", "logs:GetLogDelivery", "logs:ListLogDeliveries", "logs:PutLogEvents", "logs:PutResourcePolicy", "logs:UpdateLogDelivery" ], "Resource": "*", "Effect": "Allow" } ] }

Per crittografare questi log con una AWS KMS chiave personalizzata, dovrai prima modificare la politica delle chiavi per consentire al servizio di crittografare e decrittografare la chiave. CloudWatch Dopo aver creato una chiave di crittografia dei log, modifica la politica della AWS KMS chiave per includere quanto segue:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "*", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:region:account-id:*" } } } ] }

Tieni presente che puoi sempre utilizzare ArnEquals e fornire un Amazon Resource Name (ARN) specifico per il CloudWatch log che desideri crittografare. Qui mostriamo che puoi usare questa chiave per crittografare tutti i log di un account per semplificare la procedura. Inoltre, gli endpoint di formazione, elaborazione e modello pubblicano metriche sull'utilizzo della CPU e della memoria dell'istanza, sulla latenza delle chiamate all'hosting e così via. Puoi configurare ulteriormente Amazon SNS per notificare agli amministratori gli eventi quando vengono superate determinate soglie. L'utente delle API di formazione ed elaborazione deve disporre delle seguenti autorizzazioni:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarms", "cloudwatch:GetMetricData", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics", "cloudwatch:PutMetricAlarm", "cloudwatch:PutMetricData", "sns:ListTopics" ], "Resource": "*", "Effect": "Allow", "Condition": { "StringLike": { "cloudwatch:namespace": "aws/sagemaker/*" } } }, { "Action": [ "sns:Subscribe", "sns:CreateTopic" ], "Resource": [ "arn:aws:sns:*:*:*SageMaker*", "arn:aws:sns:*:*:*Sagemaker*", "arn:aws:sns:*:*:*sagemaker*" ], "Effect": "Allow" } ] }

Verifica con AWS CloudTrail

Per migliorare il tuo livello di conformità, controlla tutte le tue API con. AWS CloudTrail Per impostazione predefinita, tutte le SageMaker API vengono registrate con. AWS CloudTrail Non sono necessarie autorizzazioni IAM aggiuntive per l'attivazione. CloudTrail

Tutte SageMaker le azioni, ad eccezione di InvokeEndpoint eInvokeEndpointAsync, vengono registrate CloudTrail e documentate nelle operazioni. Ad esempio, le chiamate alle CreateNotebookInstance azioni CreateTrainingJobCreateEndpoint, e generano voci nei file di CloudTrail registro.

Ogni voce CloudTrail dell'evento contiene informazioni su chi ha generato la richiesta. Le informazioni di identità consentono di determinare quanto segue:

  • Se la richiesta è stata effettuata con le credenziali dell'utente AWS o root.

  • Se la richiesta è stata effettuata con le credenziali di sicurezza temporanee per un ruolo o un utente federato.

  • Se la richiesta è stata effettuata da un altro servizio AWS. Per un evento di esempio, consulta la sezione Log SageMaker API Calls with CloudTrail documentation.

Per impostazione predefinita, CloudTrail registra il nome del ruolo di esecuzione di Studio del profilo utente come identificatore per ogni evento. Funziona se ogni utente ha il proprio ruolo di esecuzione. Se più utenti condividono lo stesso ruolo di esecuzione, puoi utilizzare la sourceIdentity configurazione per propagare il nome del profilo utente di Studio. CloudTrail Per abilitare la sourceIdentity funzionalità, consulta Monitoraggio dell'accesso alle risorse degli utenti da Amazon SageMaker Studio. In uno spazio condiviso, tutte le azioni fanno riferimento all'ARN dello spazio come origine e non è possibile eseguire il controllo. sourceIdentity