

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.

# `AWSSupport-TroubleshootAPIGatewayLambdaInvocation`
<a name="automation-awssupport-troubleshootapigatewaylambdainvocation"></a>

Das `AWSSupport-TroubleshootAPIGatewayLambdaInvocation` Runbook hilft Ihnen bei der Fehlerbehebung Amazon API Gateway Gateway-Integrationen mit AWS Lambda Funktionen in HTTP- und REST-APIs. Das Runbook unterstützt Lambda-Funktionen, die als Integration oder als Autorisierer verwendet werden, und deckt die folgenden Anwendungsfälle ab:
+ **Unzureichende oder fehlende Berechtigungen:** Identifiziert fehlende Berechtigungen in Lambda-Ressourcenrichtlinien oder IAM-Rollen.
+ **Drosselung der Lambda-Funktion:** Erkennt Drosselungen, die durch Parallelitätsgrenzen verursacht werden, und gibt Empfehlungen.
+ **Timeout für die Lambda-Integration:** Analysiert Timeout-Probleme und schlägt Optimierungsstrategien vor.
+ **Lambda-Funktionsfehler:** Identifiziert Funktionsfehler und führt Sie zur Protokollanalyse.
+ Falsch **formatierte Lambda-Antwort:** Erkennt Probleme mit dem Antwortformat für Lambda-Integrationen und Autorisierer.
+ **Ungültige Konfiguration:** Validiert die API Gateway- und Lambda-Konfiguration.

**Einschränkungen**  
Dieses Runbook hat die folgenden Einschränkungen:  
Das Runbook unterstützt keine kontoübergreifenden Lambda-Szenarien.
Das Runbook analysiert keine API-Gateway-Zuordnungsvorlagen, Regex-Muster oder Integrationsantworten.
Das Runbook unterstützt nur Lambda-Autorisierer. IAM-Autorisierer oder Amazon Cognito Cognito-Autorisierer werden nicht unterstützt.
Das Runbook behandelt keine clientseitige Drosselung auf API Gateway.

**Weitere Kosten**  
Mit diesem Runbook werden Metriken von Amazon CloudWatch abgefragt. Für die während der Analyse abgefragten Kennzahlen CloudWatch fallen möglicherweise Standardgebühren für Ihr AWS Konto an. Weitere Informationen zur Preisgestaltung finden Sie unter [ CloudWatch Amazon-Preise](https://aws.amazon.com/cloudwatch/pricing/).

Das Runbook führt die folgenden Validierungs- und Analyseschritte durch:
+ Überprüft, ob die angegebene API, Stufe und Route oder Ressource des API-Gateways vorhanden sind, und bestätigt, dass eine Lambda-Integration oder ein Autorisierer konfiguriert ist.
+ Überprüft, ob API Gateway über ausreichende Berechtigungen zum Aufrufen der Lambda-Funktion verfügt, indem es die Lambda-Ressourcenrichtlinie und die IAM-Rolle mithilfe der IAM-Richtliniensimulation auswertet.
+ Ruft API-Gateway-Metriken (`4xxError``5xxError`, `Count``Latency`, und`IntegrationLatency`) ab, um API-level Fehler CloudWatch zu erkennen.
+ Ruft Lambda-Metriken (`Invocations`, `Throttles` `Errors``Duration`, und`ConcurrentExecutions`) von den CloudWatch API-Gateway-Fehlern ab und korreliert sie mit ihnen.
+ Analysiert Lambda-Autorisierungs- und Integrationsantwortformate, wenn API-Fehler weiterhin bestehen, aber keine Lambda-Fehler erkannt werden.
+ Erstellt einen zusammenfassenden Bericht mit Ergebnissen, Empfehlungen und relevanten Referenzen.

 [Führen Sie diese Automatisierung aus (Konsole)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootAPIGatewayLambdaInvocation) 

**Art des Dokuments**

Automatisierung

**Eigentümer**

Amazon

**Plattformen**

/

**Erforderliche IAM-Berechtigungen**

Der `AutomationAssumeRole` Parameter erfordert die folgenden Aktionen, um das Runbook erfolgreich zu verwenden.
+ `apigateway:GET`
+ `apigatewayv2:GetApi`
+ `apigatewayv2:GetRoute`
+ `apigatewayv2:GetStage`
+ `apigatewayv2:GetAuthorizer`
+ `apigatewayv2:GetIntegration`
+ `lambda:GetFunction`
+ `lambda:GetAccountSettings`
+ `lambda:GetPolicy`
+ `lambda:GetProvisionedConcurrencyConfig`
+ `lambda:GetFunctionConcurrency`
+ `iam:GetRole`
+ `iam:GetContextKeysForPrincipalPolicy`
+ `iam:GetContextKeysForCustomPolicy`
+ `iam:SimulatePrincipalPolicy`
+ `iam:SimulateCustomPolicy`
+ `cloudwatch:GetMetricData`

Beispiel für eine IAM-Richtlinie:

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "APIGatewayReadAccess",
            "Effect": "Allow",
            "Action": [
                "apigateway:GET",
                "apigatewayv2:GetApi",
                "apigatewayv2:GetRoute",
                "apigatewayv2:GetStage",
                "apigatewayv2:GetAuthorizer",
                "apigatewayv2:GetIntegration"
            ],
            "Resource": [
                "arn:aws:apigateway:*::/restapis/*",
                "arn:aws:apigateway:*::/apis/*"
            ]
        },
        {
            "Sid": "LambdaReadAccess",
            "Effect": "Allow",
            "Action": [
                "lambda:GetFunction",
                "lambda:GetPolicy",
                "lambda:GetProvisionedConcurrencyConfig",
                "lambda:GetFunctionConcurrency",
                "lambda:GetAccountSettings"
            ],
            "Resource": "*"
        },
        {
            "Sid": "IAMReadAndSimulate",
            "Effect": "Allow",
            "Action": [
                "iam:GetRole",
                "iam:GetContextKeysForPrincipalPolicy",
                "iam:GetContextKeysForCustomPolicy",
                "iam:SimulatePrincipalPolicy",
                "iam:SimulateCustomPolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CloudWatchMetricsRead",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:GetMetricData"
            ],
            "Resource": "*"
        }
    ]
}
```

**Anmerkung**  
Der IAM-Benutzer oder die IAM-Rolle, die das Runbook startet, erfordert die folgenden Aktionen:  
`iam:ListRoles`
`iam:PassRole`
`ssm:DescribeAutomationExecutions`
`ssm:DescribeAutomationStepExecutions`
`ssm:DescribeDocument`
`ssm:GetAutomationExecution`
`ssm:GetDocument`
`ssm:ListDocuments`
`ssm:StartAutomationExecution`

Gehen Sie wie folgt vor, um die Automatisierung zu konfigurieren:

1. Öffnen Sie [AWSSupport-TroubleshootAPIGatewayLambdaInvocation](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootAPIGatewayLambdaInvocation/description)im Systems Manager unter Dokumente.

1. Wählen Sie Automatisierung ausführen.

1. Geben Sie für die Eingabeparameter Folgendes ein:
   + **AutomationAssumeRole (Fakultativ):**

     Der Amazon-Ressourcenname (ARN) der IAM-Rolle, der es Systems Manager Automation ermöglicht, die Aktionen in Ihrem Namen durchzuführen. Wenn keine Rolle angegeben ist, verwendet Systems Manager Automation Ihre Berechtigungen.
   + **ApiId (Erforderlich):**

     Die API-ID der API-Gateway-API, für die eine Fehlerbehebung erforderlich ist.
   + **HttpMethod (Erforderlich):**

     Die HTTP-Methode für die Ressource oder Route, für die eine Fehlerbehebung erforderlich ist. Zulässige Werte: `ANY` `DELETE``HEAD`,,`OPTIONS`,`GET`,`POST`,`PUT`,`PATCH`,`$default`.
   + **RouteIdOrResourceId (Erforderlich):**

     Die Route-ID (HTTP-API) oder Ressourcen-ID (REST-API) mit einer Lambda-Integration oder einem Autorisierer, für die eine Fehlerbehebung erforderlich ist. Zum Beispiel `dsyrv84` für eine HTTP-API-Route oder `jklob2` für eine REST-API-Ressource.
   + **StageName (Erforderlich):**

     Die Phase, in der die API bereitgestellt wird.
   + **StartTime (Fakultativ):**

     Startzeit in UTC, um den abzufragenden Zeitrahmen zu identifizieren. Das Format muss sein `yyyy-MM-ddTHH:mm:ss` (zum Beispiel`1970-01-01T00:00:00`). Die Startzeit darf nicht mehr als 30 Tage in der Vergangenheit liegen. Wenn diese Eingabe fehlt oder ungültig ist, wird das Runbook standardmäßig 2 Tage vor der Endzeit angezeigt. Wenn keine Endzeit angegeben ist, wird das Runbook standardmäßig 2 Tage vor der aktuellen Uhrzeit angezeigt.
   + **EndTime (Optional):**

     Endzeit in UTC, um den Zeitrahmen für die Abfrage zu identifizieren. Das Format muss sein `yyyy-MM-ddTHH:mm:ss` (zum Beispiel`1970-01-01T00:00:00`). Die Endzeit darf nicht mehr als 2 Tage nach der Startzeit liegen. Wenn diese Eingabe fehlt oder ungültig ist, verwendet das Runbook standardmäßig die aktuelle Uhrzeit.

1. Wählen Sie Ausführen.

1. Die Automatisierung wird initiiert.

1. Das Dokument führt die folgenden Schritte aus:
   + **`ValidateResourcesAndInputs`**:

     Überprüft, ob die API, Stufe und Route oder Ressource des API-Gateways vorhanden sind, und bestätigt, dass eine Lambda-Integration oder ein Lambda-Autorisierer konfiguriert ist. Validiert die Zeitbereichseingaben und extrahiert Lambda-Funktions- und API-Details.
   + **`CheckAPIGatewayLambdaInvokePermissions`**:

     Simuliert die IAM-Rollenberechtigungen und wertet die Lambda-Ressourcenrichtlinie aus, um festzustellen, ob API Gateway berechtigt ist, die Lambda-Funktion aufzurufen. Generiert Beispielrichtlinien, wenn die Berechtigungen nicht ausreichen.
   + **`GetAPIMetrics`**:

     Ruft API-Gateway-Metriken (`4xxError``5xxError``Count``Latency`,, und`IntegrationLatency`) CloudWatch für den angegebenen Zeitraum ab und identifiziert API-level Fehlermuster.
   + **`GetLambdaMetrics`**:

     Ruft Lambda-Metriken (`Invocations`, `Throttles` `Errors``Duration`, und`ConcurrentExecutions`) von den API Gateway Gateway-Fehlerzeitstempeln ab CloudWatch und korreliert sie mit ihnen.
   + **`CompareAPIGatewayAndLambdaMetrics`**:

     Analysiert und korreliert die API Gateway- und Lambda-Metriken, um Drosselungsmuster, Timeout-Szenarien und unbehandelte Lambda-Funktionsfehler zu identifizieren. Ermittelt die Ursache des Aufruf-Problems.
   + **`AuthorizerAndIntegrationTroubleshooting`**:

     Wenn API-Fehler weiterhin bestehen, aber keine Lambda-Fehler erkannt werden, analysiert das Lambda-Autorisierungs- und Integrationsantwortformat und gibt Empfehlungen für die richtige Formatierung der Lambda-Funktionsausgabe.
   + **`CompileResults`**:

     Erstellt einen zusammenfassenden Bericht über die Ergebnisse, Validierungsprobleme, Genehmigungsprobleme und Empfehlungen zur Fehlerbehebung mit umsetzbaren Anleitungen und relevanten Referenzen.

1. Nach Abschluss der Ausführung finden Sie im Abschnitt „Ergebnisse“ die detaillierten Ergebnisse der Ausführung.

Systems Manager Automation
+ [Führen Sie diese Automatisierung aus (Konsole)](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootAPIGatewayLambdaInvocation/description)
+ [Führen Sie eine Automatisierung aus](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [Eine Automatisierung einrichten](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Support Sie Automatisierungs-Workflows](https://aws.amazon.com/premiumsupport/technology/saw/)