Protokollierung und Überwachung - SageMaker Bewährte Methoden für die Studio-Administration

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Protokollierung und Überwachung

Um Ihnen beim Debuggen Ihrer Kompilierungs-, Verarbeitungs-, Trainingsjobs, Endpunkte, Transformationsjobs, Notebook-Instances und Lebenszykluskonfigurationen für Notebook-Instances zu helfen, wird alles, was ein Algorithmuscontainer, ein Modellcontainer oder eine Notebook-Instance-Lebenszykluskonfiguration an stdout oder stderr sendet, auch an Amazon Logs gesendet. CloudWatch Sie können SageMaker Studio mithilfe von Amazon überwachen. Amazon sammelt Rohdaten und verarbeitet sie zu lesbaren Metriken CloudWatch, die nahezu in Echtzeit ablaufen. Diese Statistiken werden 15 Monate lang aufbewahrt, sodass Sie auf historische Informationen zugreifen und sich einen besseren Überblick über die Leistung Ihrer Webanwendung oder Ihres Dienstes verschaffen können.

Protokollierung mit CloudWatch

Da der datenwissenschaftliche Prozess von Natur aus experimentell und iterativ ist, ist es wichtig, Aktivitäten wie die Notebook-Nutzung, die Laufzeit von Schulungs- und Verarbeitungsjobs, Trainingsmetriken und Messwerte für die Endpunktbereitstellung wie die Aufruflatenz zu protokollieren. SageMakerVeröffentlicht Metriken standardmäßig in CloudWatch Logs, und diese Protokolle können mit vom Kunden verwalteten Schlüsseln verschlüsselt werden. AWS KMS

Sie können VPC-Endpunkte auch verwenden, um Protokolle zu senden, CloudWatch ohne das öffentliche Internet zu nutzen. Sie können auch Alarme einrichten, die auf bestimmte Grenzwerte achten und Benachrichtigungen senden oder Aktivitäten auslösen, wenn diese Grenzwerte erreicht werden. Weitere Informationen finden Sie im CloudWatch Amazon-Benutzerhandbuch.

SageMaker erstellt eine einzelne Protokollgruppe für Studio, unter/aws/sagemaker/studio. Jedes Benutzerprofil und jede App hat ihren eigenen Protokollstream unter dieser Protokollgruppe, und auch Skripts zur Lebenszykluskonfiguration haben ihren eigenen Protokollstream. Ein Benutzerprofil mit dem Namen „studio-user“ mit einer Jupyter Server-App und einem angehängten Lifecycle-Skript und einer Data Science Kernel Gateway-App enthält beispielsweise die folgenden Protokollstreams:

/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

Damit der Aufrufer CloudWatch der Job-APIs für SageMaker Training/Processing/Transform Logs in Ihrem Namen senden kann, benötigt er die folgenden Berechtigungen:

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

Um diese Protokolle mit einem benutzerdefinierten AWS KMS Schlüssel zu verschlüsseln, müssen Sie zunächst die Schlüsselrichtlinie so ändern, dass der CloudWatch Dienst den Schlüssel ver- und entschlüsseln kann. Nachdem Sie einen AWS KMS Schlüssel zur Protokollverschlüsselung erstellt haben, ändern Sie die Schlüsselrichtlinie so, dass sie Folgendes umfasst:

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

Beachten Sie, dass Sie jederzeit einen bestimmten Amazon-Ressourcennamen (ARN) für das CloudWatch Protokoll, das Sie verschlüsseln möchten, verwenden ArnEquals und angeben können. Hier zeigen wir der Einfachheit halber, dass Sie diesen Schlüssel verwenden können, um alle Protokolle in einem Konto zu verschlüsseln. Darüber hinaus veröffentlichen Trainings-, Verarbeitungs- und Modellendpunkte Metriken über die CPU- und Speicherauslastung der Instanz, die Latenz bei Hosting-Aufrufen usw. Sie können Amazon SNS außerdem so konfigurieren, dass Administratoren über Ereignisse informiert werden, wenn bestimmte Schwellenwerte überschritten werden. Der Nutzer der Trainings- und Verarbeitungs-APIs benötigt die folgenden Berechtigungen:

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

Prüfung mit AWS CloudTrail

Um Ihren Compliance-Status zu verbessern, überprüfen Sie alle Ihre APIs mitAWS CloudTrail. Standardmäßig werden alle SageMaker APIs mit protokolliert AWS CloudTrail. Für die Aktivierung CloudTrail benötigen Sie keine zusätzlichen IAM-Berechtigungen.

Alle SageMaker Aktionen, mit Ausnahme von InvokeEndpoint undInvokeEndpointAsync, werden von den Vorgängen protokolliert CloudTrail und sind in den Vorgängen dokumentiert. Beispielsweise generieren Aufrufe der CreateNotebookInstance AktionenCreateTrainingJob,CreateEndpoint, und Einträge in den CloudTrail Protokolldateien.

Jeder CloudTrail Ereigniseintrag enthält Informationen darüber, wer die Anfrage generiert hat. Die Identitätsinformationen unterstützen Sie bei der Ermittlung der folgenden Punkte:

  • Gibt an, ob die Anfrage mit Root- oder IAM-Benutzer-Anmeldeinformationen von AWS ausgeführt wurde.

  • Gibt an, ob die Anforderung mit temporären Sicherheitsanmeldeinformationen für eine Rolle oder einen verbundenen Benutzer gesendet wurde.

  • Gibt an, ob die Anforderung aus einem anderen AWS-Service gesendet wurde Ein Beispielereignis finden Sie in der CloudTrail Dokumentation Log SageMaker API Calls.

Standardmäßig wird der Name der Studio-Ausführungsrolle des Benutzerprofils als ID für jedes Ereignis CloudTrail protokolliert. Dies funktioniert, wenn jeder Benutzer seine eigene Ausführungsrolle hat. Wenn sich mehrere Benutzer dieselbe Ausführungsrolle teilen, können Sie die sourceIdentity Konfiguration verwenden, um den Namen des Studio-Benutzerprofils weiterzugeben CloudTrail. Informationen zur Aktivierung der sourceIdentity Funktion finden Sie unter Überwachen des Zugriffs auf Benutzerressourcen von Amazon SageMaker Studio aus. In einem gemeinsam genutzten Bereich beziehen sich alle Aktionen auf den Space-ARN als Quelle, und Sie können keinen Audit durchführensourceIdentity.