AWSSupport-TroubleshootAPIGatewayHttpErrors - AWS Systems Manager Riferimento all'Automation Runbook

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWSSupport-TroubleshootAPIGatewayHttpErrors

Descrizione

Il AWSSupport-TroubleshootAPIGatewayHttpErrorsrunbook aiuta a risolvere gli errori 5XX/4XX quando si richiama un'API REST di Amazon API Gateway distribuita analizzando i log di esecuzione degli and/or accessi e analizzando gli errori per fornire passaggi correttivi tramite articoli e documentazione di re:POST. AWS

Importante

Questo runbook presenta le seguenti limitazioni:

Importante

L'utilizzo di questo runbook potrebbe comportare costi aggiuntivi a carico del tuo AWS account per gli Amazon CloudWatch Logs acquisiti dall'API REST e CloudWatch Logs Insights utilizzati nell'analisi. Consulta CloudWatch i prezzi di Amazon per maggiori dettagli sugli addebiti che potrebbero essere sostenuti. Se il aws:deletestack passaggio non riesce, vai alla CloudFormation console per eliminare manualmente lo stack. Il nome dello stack creato da questo runbook inizia con. AWSSupport-TroubleshootAPIGatewayHttpErrors Per informazioni sull'eliminazione degli CloudFormation stack, vedere Eliminazione di uno stack nella Guida per l'utente. AWS CloudFormation

Come funziona?

Il runbook esegue le seguenti fasi di convalida e analisi:

  • Verifica l'esistenza dell'API REST specificata e l'utente dispone delle autorizzazioni necessarie.

  • Verifica che la fase specificata esista nell'API.

  • Verifica che il percorso di risorsa specificato esista nell'API.

  • Verifica l'esistenza del metodo HTTP specificato per la risorsa.

  • Analizza CloudWatch i log per i parametri e l'intervallo di tempo specificati per identificare gli errori e fornire consigli per la correzione.

Esegui questa automazione (console)

Tipo di documento

Automazione

Proprietario

Amazon

Piattaforme

/

Autorizzazioni IAM richieste

Il AutomationAssumeRole parametro richiede le seguenti azioni per utilizzare correttamente il runbook.

  • apigateway:GET

  • logs:CreateLogGroup

  • logs:CreateLogStream

  • logs:DescribeLogGroups

  • logs:DescribeLogStreams

  • logs:PutLogEvents

  • logs:StartQuery

  • logs:GetQueryResults

Policy IAM di esempio:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "apigateway:GET", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:PutLogEvents", "logs:StartQuery", "logs:GetQueryResults" ], "Resource": "*" } ] }

Istruzioni

Segui questi passaggi per configurare l'automazione:

  1. Accedere AWSSupport-TroubleshootAPIGatewayHttpErrorsa Systems Manager nella sezione Documenti.

  2. Seleziona Execute automation (Esegui automazione).

  3. Per i parametri di input, immettete quanto segue:

    • AutomationAssumeRole (Facoltativo):

      • Descrizione: (Facoltativo) L'Amazon Resource Name (ARN) del ruolo AWS Identity and Access Management (IAM) che consente a SSM Automation di eseguire le azioni per tuo conto. Se non viene specificato alcun ruolo, SSM Automation utilizza le autorizzazioni dell'utente che avvia questo runbook.

      • Tipo: AWS::IAM::Role::Arn

    • RestApiId (Obbligatorio):

      • Descrizione: (Obbligatorio) L'ID API per l'API che richiede la risoluzione dei problemi. Deve essere una stringa alfanumerica di 10 caratteri.

      • Tipo: String

      • Modello consentito: ^[a-zA-Z0-9]{10}$

    • StageName (Obbligatorio):

      • Descrizione: (Obbligatorio) Il nome dello stadio distribuito. Deve contenere da 1 a 128 caratteri contenenti lettere, numeri, caratteri di sottolineatura o trattini.

      • Tipo: String

      • Modello consentito: ^[a-zA-Z0-9_\\-]{1,128}$

    • ResourcePath (Facoltativo):

      • Descrizione: (Facoltativo) Il percorso della risorsa per il quale è configurato il metodo. Esempi: /, /store/items, /{resource}.

      • Tipo: String

      • Impostazione predefinita: /

    • HttpMethod (Facoltativo):

      • Descrizione: (Facoltativo) Il metodo per il percorso delle risorse configurato.

      • Tipo: String

      • Valori consentiti: [ANY, DELETE, HEAD, OPTIONS, GET, POST, PUT, PATCH]

      • Impostazione predefinita: GET

    • StartTime (Facoltativo):

      • Descrizione: (Facoltativo) La data e l'ora di inizio dell'interrogazione dei CloudWatch registri. Formato: yyyy-MM-ddTHH:mm:ss nel fuso orario UTC. Se non specificato, il valore predefinito è 3 giorni prima dell'ora corrente.

      • Tipo: String

      • Modello consentito: ^$|^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T(2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$

      • Impostazione predefinita: ""

    • EndTime (Facoltativo):

      • Descrizione: (Facoltativo) La data e l'ora di fine dell'interrogazione dei CloudWatch registri. Formato: yyyy-MM-ddTHH:mm:ss nel fuso orario UTC. Se non specificato, il valore predefinito è l'ora corrente.

      • Tipo: String

      • Modello consentito: ^$|^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T(2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$

      • Impostazione predefinita: ""

    • AccessLogs (Facoltativo):

      • Descrizione: (Facoltativo) Se i registri di accesso devono essere analizzati.

      • Tipo: Boolean

      • Valori consentiti: [true, false]

      • Impostazione predefinita: false

    • RequestId (Facoltativo):

      • Descrizione: (Facoltativo) L'ID della richiesta per la quale è stato rilevato un errore. Deve essere un formato UUID valido.

      • Tipo: String

      • Modello consentito: ^$|^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

      • Impostazione predefinita: ""

  4. Seleziona Esegui.

  5. L'automazione viene avviata.

  6. Il documento esegue le seguenti operazioni:

    • CheckApiExists:

      Verifica l'esistenza dell'API REST fornita e l'utente dispone delle autorizzazioni necessarie per accedervi.

    • CheckStageExists:

      Verifica che il nome di fase fornito esista nell'API specificata e recupera le informazioni sul gruppo di log di accesso.

    • CheckResourceExists:

      Verifica che il percorso di risorsa fornito esista nell'API e recupera l'ID della risorsa.

    • CheckMethodExists:

      Verifica l'esistenza del metodo HTTP fornito per la risorsa specificata.

    • AnalyseLogs:

      Cerca i log utilizzando i parametri forniti e restituisce consigli in base agli eventuali errori rilevati. Questo passaggio analizza i log di esecuzione e di accesso (se abilitati) per identificare gli errori 4XX e 5XX e fornisce indicazioni specifiche per la correzione.

  7. Al termine, consulta la sezione Output per i risultati dettagliati dell'esecuzione, comprese le raccomandazioni per l'analisi degli errori e la correzione.

Riferimenti

Systems Manager Automation