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.
Themen
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 dieAPIGatewayServiceRolePolicyverwaltete 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.
Melden Sie sich bei der API-Gateway-Konsole unter https://console.aws.amazon.com/apigateway
an. -
Wählen Sie Ihre API und dann im Hauptnavigationsbereich die Option Stages (Stufe).
-
Wählen Sie im Bereich Stages (Stufen) eine Stufe aus.
-
Wählen Sie im Abschnitt Logs and tracing (Protokolle und Nachverfolgung) die Option Edit (Bearbeiten) aus.
-
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.
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-idrest-api-id\ --stage-namestage-name\ --deployment-iddeployment-id\ --regionregion\ --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-idrest-api-id\ --stage-namestage-name\ --deployment-iddeployment-id\ --regionregion\ --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-idrest-api-id\ --stage-namestage-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-idrest-api-id\ --stage-namestage-name\ --regionregion\ --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.