AWS X-Ray mit API-Gateway-REST-APIs einrichten - Amazon API Gateway

AWS X-Ray mit API-Gateway-REST-APIs einrichten

In diesem Abschnitt finden Sie detaillierte Informationen zum Einrichten von AWS X-Ray mit API-Gateway-REST-APIs.

X-Ray-Ablaufverfolgungsmodi für API Gateway

Der Pfad einer Anforderung über Ihre Anwendung wird mit einer Nachverfolgungs-ID verfolgt. Eine Ablaufverfolgung erfasst alle von einer einzelnen Anforderung generierten Segmente; in der Regel handelt es sich dabei um eine HTTP GET- oder POST-Anforderung.

Es gibt zwei Ablaufverfolgungsmodi für eine API Gateway-API:

  • Passiv: Dies ist die Standardeinstellung, wenn Sie die X-Ray-Ablaufverfolgung in einer API-Stufe nicht aktiviert haben. Bei diesem Ansatz wird die API Gateway-API nur nachverfolgt, wenn X-Ray für einen Upstream-Service aktiviert wurde.

  • Aktiv: Wenn eine API Gateway-API-Stufe diese Einstellung aufweist, stellt API Gateway die API-Aufrufanfragen automatisch auf Basis des von X-Ray bereitgestellten Sampling-Algorithmus zusammen.

    Wenn die aktive Ablaufverfolgung in einer Stufe aktiviert ist, wird API Gateway in Ihrem Konto eine servicebezogene Rolle erstellen, sofern die Rolle nicht bereits vorhanden ist. Die Rolle wird benannt AWSServiceRoleForAPIGatewayund die APIGatewayServiceRolePolicy verwaltete Richtlinie wird an sie angehängt. Weitere Informationen zu serviceverknüpften Rollen finden Sie unter Verwenden serviceverknüpfter Rollen.

    Anmerkung

    X-Ray wendet einen Sampling-Algorithmus an, um eine effizient Ablaufverfolgung zu gewährleisten und gleichzeitig ein repräsentatives Beispiel für die Anforderungen bereitzustellen, die von Ihrer API bedient werden. Der Standardeinstellung für den Sampling-Algorithmus lautet 1 Anforderung pro Sekunde, wobei 5 Prozent der Anforderungen, die über dieses Limit hinausgehen, auch erfasst werden.

Sie können den Ablaufverfolgungsmodus für Ihre API mithilfe der API-Gateway-Managementkonsole, der API-Gateway-CLI oder eines AWS SDKs ändern.

Berechtigungen für die X-Ray-Ablaufverfolgung

Wenn Sie die X-Ray-Ablaufverfolgung in einer Stufe aktivieren, wird API Gateway in Ihrem Konto eine servicebezogene Rolle erstellen, sofern die Rolle nicht bereits vorhanden ist. Die Rolle wird benannt AWSServiceRoleForAPIGatewayund die APIGatewayServiceRolePolicy verwaltete Richtlinie wird an sie angehängt. Weitere Informationen zu serviceverknüpften Rollen finden Sie unter Verwenden serviceverknüpfter Rollen.

Aktivieren der X-Ray-Ablaufverfolgung in der API Gateway-Konsole

Sie können die Amazon API Gateway-Konsole verwenden, um die aktive Ablaufverfolgung in einer API-Stufe zu aktivieren.

Diese Schritte gehen davon aus, dass Sie die API bereits in einer Stufe bereitgestellt haben.

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

  2. Wählen Sie Ihre API und dann im Hauptnavigationsbereich die Option Stages (Stufe).

  3. Wählen Sie im Bereich Stages (Stufen) eine Stufe aus.

  4. Wählen Sie im Abschnitt Logs and tracing (Protokolle und Nachverfolgung) die Option Edit (Bearbeiten) aus.

  5. Sie können die aktive X-Ray-Nachverfolgung aktivieren, indem Sie X-Ray tracing (X-Ray-Nachverfolgung) auswählen, um die X-Ray-Nachverfolgung zu aktivieren.

  6. Klicken Sie auf Änderungen speichern.

Nachdem Sie X-Ray für Ihre API-Stufe aktiviert haben, können Sie die Ablaufverfolgungen und Service-Übersichten mithilfe der X-Ray-Verwaltungskonsole anzeigen.

Aktivieren der AWS X-Ray-Nachverfolgung mit der API Gateway CLI

Der folgende create-stage-Befehl erstellt eine Stufe mit aktiver X-Ray-Ablaufverfolgung:

aws apigateway create-stage \ --rest-api-id rest-api-id \ --stage-name stage-name \ --deployment-id deployment-id \ --region region \ --tracing-enabled=true

Die Ausgabe sieht wie folgt aus:

{ "tracingEnabled": true, "stageName": stage-name, "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "deploymentId": deployment-id, "lastUpdatedDate": 1533849811, "createdDate": 1533849811, "methodSettings": {} }

Der folgende create-stage-Befehl erstellt eine Stufe ohne aktive X-Ray-Ablaufverfolgung:

aws apigateway create-stage \ --rest-api-id rest-api-id \ --stage-name stage-name \ --deployment-id deployment-id \ --region region \ --tracing-enabled=false

Die Ausgabe sieht wie folgt aus:

{ "tracingEnabled": false, "stageName": stage-name, "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "deploymentId": deployment-id, "lastUpdatedDate": 1533849811, "createdDate": 1533849811, "methodSettings": {} }

Der folgende update-stage-Befehl aktiviert die aktive X-Ray-Ablaufverfolgung für eine bereitgestellte API:

aws apigateway update-stage \ --rest-api-id rest-api-id \ --stage-name stage-name \ --patch-operations op=replace,path=/tracingEnabled,value=true

Der folgende update-stage-Befehl deaktiviert die aktive X-Ray-Ablaufverfolgung für eine bereitgestellte API:

aws apigateway update-stage \ --rest-api-id rest-api-id \ --stage-name stage-name \ --region region \ --patch-operations op=replace,path=/tracingEnabled,value=false

Die Ausgabe sieht wie folgt aus:

{ "tracingEnabled": false, "stageName": stage-name, "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "deploymentId": deployment-id, "lastUpdatedDate": 1533850033, "createdDate": 1533849811, "methodSettings": {} }

Sobald Sie X-Ray für Ihre API-Stufe aktiviert haben, verwenden Sie die X-Ray-CLI zum Abrufen von Ablaufverfolgungsinformationen. Weitere Informationen finden Sie unter Verwenden der X-Ray-API mit der AWS-CLI.