Protokollieren von API-Aufrufen in Kinesis Data Firehose - Amazon API Gateway

Protokollieren von API-Aufrufen in Kinesis Data Firehose

Um Probleme im Zusammenhang mit dem Client-Zugriff auf Ihre API zu beheben, können Sie API-Aufrufe in Amazon Kinesis Data Firehose protokollieren. Weitere Informationen zu Kinesis Data Firehose finden Sie unter Was ist Amazon Kinesis Data Firehose?.

Für die Zugriffsprotokollierung können Sie nur CloudWatch oder Kinesis Data Firehose aktivieren. Beide können nicht aktiviert werden. Sie können jedoch CloudWatch für die Ausführungsprotokollierung und Kinesis Data Firehose für die Zugriffsprotokollierung aktivieren.

Kinesis Data Firehose-Protokollformate für API Gateway

Die Protokollierung von Kinesis Data Firehose verwendet dasselbe Format wie die CloudWatch-Protokollierung.

Berechtigungen für die Protokollierung von Kinesis Data Firehose

Wenn die Kinesis Data Firehose-Zugriffsprotokollierung auf einer Stufe aktiviert ist, erstellt API Gateway eine servicebezogene Rolle, sofern die Rolle nicht bereits in Ihrem Konto vorhanden ist. Die Rolle wird AWSServiceRoleForAPIGateway benannt und die verwaltete APIGatewayServiceRolePolicy-Richtlinie wird an sie angehängt. Weitere Informationen zu serviceverknüpften Rollen finden Sie unter Verwenden serviceverknüpfter Rollen.

Anmerkung

Der Name Ihres Kinesis Data Firehose-Bereitstellungs-Streams muss laute amazon-apigateway-{your-delivery-stream-name}.

Einrichten der Kinesis Data Firehose-Zugriffsprotokollierung mithilfe der API Gateway-Konsole

Zum Einrichten der API-Protokollierung müssen Sie die API für eine Stufe bereitgestellt haben. Sie müssen auch einen Kinesis Data Firehose-Bereitstellungs-Stream erstellt haben.

  1. Melden Sie sich bei der API Gateway-Konsole unter https://console.aws.amazon.com/apigateway an.

  2. Führen Sie eine der folgenden Aufgaben aus:

    1. Wählen Sie eine vorhandene API und anschließend eine Stufe aus.

    2. Erstellen Sie eine API und stellen Sie diese einer Stufe bereit.

  3. Wählen Sie Logs/Tracing im Stage Editor aus.

  4. Aktivieren der Zugriffsprotokollierung für einen Kinesis Data Firehose-Bereitstellungs-Stream:

    1. Wählen Sie Enable Access Logging (Aktivieren von Zugriffsprotokollierung) unter Custom Access Logging (Benutzerdefinierte Zugriffsprotokollierung) aus.

    2. Geben Sie den ARN eines Kinesis Data Firehose-Bereitstellungs-Streams in Access Log Destination ARN (Zugriffsprotokoll-Ziel-ARN) ein. Das ARN-Format ist arn:aws:firehose:{region}:{account-id}:deliverystream/amazon-apigateway-{your-delivery-stream-name}.

      Anmerkung

      Der Name Ihres Bereitstellungs-Streams muss laute amazon-apigateway-{your-delivery-stream-name}.

    3. Geben Sie unter Log Format (Protokollformat) ein Protokollformat ein. Sie können CLF, JSON, XML oder CSV auswählen, um eins der bereitgestellten Beispiele als Leitfaden zu verwenden.

  5. Wählen Sie Save Changes.

API Gateway kann nun Anforderungen an Ihre API in Kinesis Data Firehose protokollieren. Sie müssen die API nicht erneut bereitstellen, wenn Sie die Stufeneinstellungen, Protokolle oder Stufenvariablen aktualisieren.