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 AI Studio mit Amazon überwachen CloudWatch, das Rohdaten sammelt und sie zu lesbaren Metriken verarbeitet, die nahezu in Echtzeit verfügbar sind. 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. Standardmäßig veröffentlicht SageMaker KI Metriken in CloudWatch Logs, und diese Protokolle können mithilfe von vom Kunden verwalteten Schlüsseln verschlüsselt werden. AWS KMS

Sie können auch VPC Endpunkte 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 AI 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 SageMaker KI in Ihrem Namen Logs CloudWatch an Sie senden kann, benötigt der Aufrufer des Training/Processing/Transform Jobs APIs 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 Instanz CPU - und Speicherauslastung, die Latenz bei Hosting-Aufrufen usw. Sie können Amazon außerdem so konfigurierenSNS, dass Administratoren über Ereignisse informiert werden, wenn bestimmte Schwellenwerte überschritten werden. Der Nutzer der Schulung und Verarbeitung APIs muss über die folgenden Berechtigungen verfügen:

{ "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 Ihre Einhaltung von Vorschriften zu verbessern, sollten Sie alle APIs mit prüfen AWS CloudTrail. Standardmäßig APIs werden alle SageMaker KI protokolliert AWS CloudTrail. Für die Aktivierung benötigen Sie keine zusätzlichen IAM Berechtigungen CloudTrail.

Alle SageMaker KI-Aktionen, mit Ausnahme von InvokeEndpoint undInvokeEndpointAsync, werden von den Vorgängen protokolliert CloudTrail und in diesen 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:

  • Ob die Anforderung mit Root- oder AWS IAM-Benutzeranmeldeinformationen ausgeführt wurde.

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

  • Ob die Anfrage von einem anderen AWS Dienst gestellt wurde. Ein Beispielereignis finden Sie in der CloudTrail Dokumentation Log SageMaker AI 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 AI Studio aus. In einem gemeinsam genutzten Bereich beziehen sich alle Aktionen auf den Bereich ARN als Quelle, und Sie können ihn nicht überprüfensourceIdentity.