View a markdown version of this page

Überwachen Sie den Modellaufruf mithilfe von CloudWatch Logs und Amazon S3 - Amazon Bedrock

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.

Überwachen Sie den Modellaufruf mithilfe von CloudWatch Logs und Amazon S3

Sie können die Modellaufrufprotokollierung verwenden, um Aufrufprotokolle, Modelleingabedaten und Modellausgabedaten für alle Aufrufe zu sammeln, die Sie in Amazon Bedrock in einer Region AWS-Konto verwenden.

Mit der Aufrufprotokollierung können Sie die vollständigen Anforderungsdaten, Antwortdaten und Metadaten erfassen, die mit unterstützten Anrufen verknüpft sind, die in Ihrem Konto in einer Region ausgeführt wurden. Die Protokollierung kann so konfiguriert werden, dass sie die Zielressourcen bereitstellt, in denen die Protokolldaten veröffentlicht werden. Zu den unterstützten Zielen gehören Amazon CloudWatch Logs und Amazon Simple Storage Service (Amazon S3). Es werden nur Ziele aus demselben Konto und derselben Region unterstützt.

Die Protokollierung von Modellaufrufen ist standardmäßig deaktiviert. Nachdem die Protokollierung von Modellaufrufen aktiviert wurde, werden die Protokolle gespeichert, bis die Protokollierungskonfiguration gelöscht wird.

Mit den folgenden Operationen können Modellaufrufe protokolliert werden:

Anmerkung

Die Protokollierung von Modellaufrufen wird nur für Aufrufe unterstützt, die über den bedrock-runtime Endpunkt getätigt werden. Anrufe, die über andere Endpunkte getätigt werden, z. B. die Responses API auf dem bedrock-mantle Endpunkt, werden derzeit nicht von der Aufrufprotokollierung erfasst.

Wenn Sie die Converse-API verwenden, werden alle Bild- oder Dokumentdaten, die Sie weitergeben, in Amazon S3 protokolliert (sofern Sie Zustellungs- und Bildprotokollierung in Amazon S3 aktiviert haben).

Bevor Sie die Aufrufprotokollierung aktivieren können, müssen Sie ein Amazon S3- oder CloudWatch Logs-Ziel einrichten. Sie können die Aufrufprotokollierung entweder über die Konsole oder die API aktivieren.

Einrichten eines Amazon-S3-Ziels

Anmerkung

Wenn Sie Amazon S3 als Protokollierungsziel verwenden, muss sich der Bucket in demselben Bucket befinden AWS-Konto und AWS-Region auch in dem Bucket, in dem Sie die Konfiguration für die Protokollierung von Modellaufrufen erstellen.

Mit folgenden Schritten können Sie ein S3-Ziel für die Protokollierung in Amazon Bedrock einrichten:

  1. Erstellen Sie einen S3-Bucket, in dem die Protokolle gespeichert werden.

  2. Fügen Sie eine Bucket-Richtlinie wie die folgende hinzu (ersetzen Sie Werte füraccountId, regionbucketName, und optionalprefix):

    Anmerkung

    Eine Bucket-Richtlinie wird in Ihrem Namen automatisch an den Bucket angehängt, wenn Sie die Protokollierung mit den Berechtigungen S3:GetBucketPolicy und S3:PutBucketPolicy konfigurieren.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "AmazonBedrockLogsWrite", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucketName/prefix/AWSLogs/123456789012/BedrockModelInvocationLogs/*" ], "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:*" } } } ] }
  3. (Optional) Fügen Sie SSE-KMS bei der Konfiguration für den Bucket die folgende Richtlinie für den KMS-Schlüssel hinzu:

    { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock:region:accountId:*" } } }

Weitere Informationen zu SSE-KMS S3-Konfigurationen finden Sie unter KMS-Verschlüsselung angeben.

Anmerkung

Die Bucket-ACL muss deaktiviert sein, damit die Bucket-Richtlinie wirksam wird. Weitere Informationen finden Sie unter Deaktivieren von ACLs für alle neuen Buckets und Durchsetzen von Object Ownership.

Richten Sie ein CloudWatch Logs-Ziel ein

Mit den folgenden Schritten können Sie ein Amazon CloudWatch Logs-Ziel für die Anmeldung bei Amazon Bedrock einrichten:

  1. Erstellen Sie eine CloudWatch Protokollgruppe, in der die Protokolle veröffentlicht werden.

  2. Erstellen Sie eine IAM-Rolle mit den folgenden Berechtigungen für CloudWatch Logs.

    Vertrauenswürdige Entität:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:*" } } } ] }

    Rollenrichtlinie:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:us-east-1:123456789012:log-group:logGroupName:log-stream:aws/bedrock/modelinvocations" } ] }

Weitere Informationen zum Einrichten von SSE für CloudWatch Logs finden Sie unter Logdaten verschlüsseln unter CloudWatch Logs using. AWS Key Management Service

Protokollierung von Modellaufrufen mithilfe der Konsole

So aktivieren Sie die Protokollierung von Modellaufrufen

Melden Sie sich bei der AWS-Managementkonsole mit einer IAM-Identität an, die berechtigt ist, die Amazon Bedrock-Konsole zu verwenden. Öffnen Sie dann die Amazon Bedrock-Konsole unter https://console.aws.amazon.com/bedrock.

  1. Wählen Sie im linken Navigationsbereich Einstellungen aus.

  2. Wählen Sie auf der Seite Modellaufrufprotokollierung die Option Modellaufrufprotokollierung aus. Zusätzliche Konfigurationseinstellungen für die Protokollierung werden angezeigt.

  3. Wählen Sie die Modalitäten der Datenanfragen und -antworten aus, die Sie in den Protokollen veröffentlichen möchten. Sie können eine beliebige Kombination der folgenden Ausgabeoptionen wählen:

    • Text

    • Image

    • Einbettung

    • Video

    Anmerkung

    Daten werden für alle Modelle protokolliert, die die von Ihnen ausgewählten Modalitäten (ob als Eingabe oder Ausgabe) unterstützen. Wenn Sie beispielsweise Bild auswählen, wird der Modellaufruf für alle Modelle protokolliert, die Bildeingabe, Bildausgabe oder beides unterstützen.

  4. Wählen Sie aus, wo die Protokolle veröffentlicht werden sollen:

    • Nur Amazon S3

    • CloudWatch Nur Protokolle

    • Sowohl Amazon S3 als auch CloudWatch Logs

Ziele protokollieren

Amazon S3- und CloudWatch Logs-Ziele werden für Aufrufprotokolle und kleine Eingabe- und Ausgabedaten unterstützt. Für große Ein- und Ausgabedatenmengen oder binäre Bildausgaben wird nur Amazon S3 unterstützt. Die folgenden Details fassen zusammen, wie die Daten am Zielort dargestellt werden.

  • S3-Ziel – Gzip-JSON-Dateien, die jeweils einen Stapel von Aufrufprotokolldatensätzen enthalten, werden an den angegebenen S3-Bucket übermittelt. Ähnlich wie bei einem CloudWatch Logs-Ereignis enthält jeder Datensatz die Aufruf-Metadaten sowie Eingabe- und Ausgabe-JSON-Texte mit einer Größe von bis zu 100 KB. Binärdaten oder JSON-Texte, die größer als 100 KB sind, werden als einzelne Objekte in den angegebenen Amazon-S3-Bucket unter dem Datenpräfix hochgeladen. Die Daten können mit Amazon S3 Select und Amazon Athena abgefragt und für ETL mit AWS Glue katalogisiert werden. Die Daten können in den OpenSearch Service geladen oder von beliebigen EventBridge Amazon-Zielen verarbeitet werden.

  • CloudWatch Protokollziel — JSON-Aufruf-Protokollereignisse werden an eine angegebene Protokollgruppe in CloudWatch Logs übermittelt. Das Protokollereignis enthält die Aufruf-Metadaten sowie Ein- und Ausgabe-JSON-Texte mit einer Größe von bis zu 100 KB. Wenn ein Amazon S3 S3-Standort für die Lieferung großer Datenmengen bereitgestellt wird, werden stattdessen Binärdaten oder JSON-Inhalte, die größer als 100 KB sind, unter dem Datenpräfix in den Amazon S3 S3-Bucket hochgeladen. Daten können mit CloudWatch Logs Insights abgefragt und mithilfe von Logs in Echtzeit an verschiedene Dienste gestreamt werden. CloudWatch

Protokollierung von Modellaufrufen mithilfe der API

Die Protokollierung von Modellaufrufen kann mithilfe der folgenden APIs konfiguriert werden:

Format des Protokolleintrags

Jeder Aufrufprotokolleintrag ist ein JSON-Objekt mit der folgenden Struktur. Das Format ist für CloudWatch Logs- und Amazon S3 S3-Ziele dasselbe.

{ "schemaType": "ModelInvocationLog", "schemaVersion": "1.0", "timestamp": "2024-01-15T12:00:00Z", "accountId": "123456789012", "region": "us-east-1", "requestId": "abcd1234-5678-efgh-ijkl-mnopqrstuvwx", "operation": "Converse", "modelId": "anthropic.claude-sonnet-4-20250514-v1:0", "requestMetadata": { "team": "orchestrator", "environment": "production" }, "input": { "inputContentType": "application/json", "inputBodyJson": { }, "inputTokenCount": 25 }, "output": { "outputContentType": "application/json", "outputBodyJson": { }, "outputTokenCount": 150 } }

In der folgenden Tabelle werden die Felder in einem Protokolleintrag beschrieben:

Feld Description
schemaType Der Typ des Protokolldatensatzes. Immer ModelInvocationLog.
schemaVersion Die Version des Protokollschemas.
timestamp Die Uhrzeit des Aufrufs im ISO 8601-Format.
accountId Die AWS-Konto ID, die den Aufruf ausgeführt hat.
region Der AWS-Region Ort, an dem der Aufruf erfolgt ist.
requestId Die eindeutige Kennung für die Anfrage.
operation Die aufgerufene API-Operation (z. B.Converse,InvokeModel).
modelId Die Modell-ID oder die ID des Inferenzprofils, die für den Aufruf verwendet wurde.
requestMetadata Ein optionales JSON-Objekt mit Schlüssel-Wert-Tags, die vom Aufrufer bereitgestellt werden. Nur vorhanden, wenn der Aufrufer Anforderungsmetadaten bereitstellt. Details hierzu finden Sie unter Per-request Tagging von Metadaten.
input.inputBodyJson Der Anfragetext, der an das Modell gesendet wurde (bis zu 100 KB). Größere Körper werden als separate Objekte in Amazon S3 gespeichert.
input.inputTokenCount Die Anzahl der Eingabe-Token in der Anfrage.
output.outputBodyJson Der Antworttext aus dem Modell (bis zu 100 KB). Größere Körper werden als separate Objekte in Amazon S3 gespeichert.
output.outputTokenCount Die Anzahl der Ausgabetokens in der Antwort.
Anmerkung

Binärdaten (wie Bilder) und JSON-Texte, die größer als 100 KB sind, sind nicht direkt im Protokolleintrag enthalten. Stattdessen werden sie als separate Objekte im Amazon S3 S3-Bucket unter dem Datenpräfix gespeichert, und der Protokolleintrag enthält einen Verweis auf den Amazon S3 S3-Standort.