AWSSupport-TroubleshootAPIGatewayHttpErrors - AWS Systems Manager Referência do Automation Runbook

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWSSupport-TroubleshootAPIGatewayHttpErrors

Descrição

O AWSSupport-TroubleshootAPIGatewayHttpErrorsrunbook ajuda a solucionar erros 5XX/4XX ao invocar uma API REST implantada do Amazon API Gateway analisando registros de execução de and/or acesso e analisando erros para fornecer etapas de remediação por meio de artigos e documentação do re:POST. AWS

Importante

Esse runbook tem as seguintes limitações:

  • O registro deve estar ativado. Consulte Configurar o registro de CloudWatch APIs da Amazon usando o console do API Gateway.

  • Os registros devem ter sido habilitados antes da ocorrência do (s) erro (s). A captura e análise de registros não podem ser feitas retrospectivamente.

  • Erros cobertos: 500, 502, 503, 504, 401, 403, 429.

  • Somente REST APIs é suportado. WebSocket e HTTP (v2) não são cobertos por este runbook.

Importante

O uso desse runbook pode gerar cobranças adicionais em sua AWS conta pelos Amazon CloudWatch Logs capturados pela sua API REST e pelos CloudWatch Logs Insights usados na análise. Consulte os CloudWatch preços da Amazon para obter mais detalhes sobre as cobranças que podem ser incorridas. Se a aws:deletestack etapa falhar, acesse o CloudFormation console para excluir manualmente a pilha. O nome da pilha criada por esse runbook começa com AWSSupport-TroubleshootAPIGatewayHttpErrors. Para obter informações sobre como excluir CloudFormation pilhas, consulte Excluindo uma pilha no Guia do usuário. AWS CloudFormation

Como funciona?

O runbook executa as seguintes etapas de validação e análise:

  • Valida se a API REST especificada existe e se você tem as permissões necessárias.

  • Valida se o estágio especificado existe na API.

  • Valida se o caminho do recurso especificado existe na API.

  • Valida se o método HTTP especificado existe para o recurso.

  • Analisa os CloudWatch registros para os parâmetros e o intervalo de tempo especificados para identificar erros e fornecer recomendações de remediação.

Executar esta automação (console)

Tipo de documento

Automação

Proprietário

Amazon

Plataformas

/

Permissões obrigatórias do IAM

O parâmetro AutomationAssumeRole requer as seguintes ações para usar o runbook com êxito.

  • apigateway:GET

  • logs:CreateLogGroup

  • logs:CreateLogStream

  • logs:DescribeLogGroups

  • logs:DescribeLogStreams

  • logs:PutLogEvents

  • logs:StartQuery

  • logs:GetQueryResults

Exemplo de política do IAM:

{ "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": "*" } ] }

Instruções

Siga estas etapas para configurar a automação:

  1. Navegue até AWSSupport-TroubleshootAPIGatewayHttpErrorsem Systems Manager em Documentos.

  2. Selecione Execute automation (Executar automação).

  3. Para os parâmetros de entrada, insira o seguinte:

    • AutomationAssumeRole (Opcional):

      • Descrição: (Opcional) O Amazon Resource Name (ARN) da função AWS Identity and Access Management (IAM) que permite que o SSM Automation execute as ações em seu nome. Se nenhuma função for especificada, o SSM Automation usa as permissões do usuário que inicia esse runbook.

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

    • RestApiId (Obrigatório):

      • Descrição: (Obrigatório) O ID da API que requer solução de problemas. Deve ser uma sequência alfanumérica de 10 caracteres.

      • Tipo: String

      • Allowed-pattern: ^[a-zA-Z0-9]{10}$

    • StageName (Obrigatório):

      • Descrição: (Obrigatório) O nome do estágio implantado. Deve ter de 1 a 128 caracteres contendo letras, números, sublinhados ou hífens.

      • Tipo: String

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

    • ResourcePath (Opcional):

      • Descrição: (Opcional) O caminho do recurso para o qual o método está configurado. Exemplos: /, /store/items, /{resource}.

      • Tipo: String

      • Padrão: /

    • HttpMethod (Opcional):

      • Descrição: (Opcional) O método para o caminho do recurso configurado.

      • Tipo: String

      • Valores permitidos: [ANY, DELETE, HEAD, OPTIONS, GET, POST, PUT, PATCH]

      • Padrão: GET

    • StartTime (Opcional):

      • Descrição: (Opcional) A data e a hora de início da consulta dos CloudWatch registros. Formato: yyyy-MM-ddTHH:mm:ss no fuso horário UTC. Se não for especificado, o padrão é 3 dias antes da hora atual.

      • Tipo: String

      • Allowed-pattern: ^$|^[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]$

      • Padrão: ""

    • EndTime (Opcional):

      • Descrição: (Opcional) A data e a hora de término da consulta dos CloudWatch registros. Formato: yyyy-MM-ddTHH:mm:ss no fuso horário UTC. Se não for especificado, o padrão é a hora atual.

      • Tipo: String

      • Allowed-pattern: ^$|^[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]$

      • Padrão: ""

    • AccessLogs (Opcional):

      • Descrição: (Opcional) Se os registros de acesso devem ser analisados.

      • Tipo: Boolean

      • Valores permitidos: [true, false]

      • Padrão: false

    • RequestId (Opcional):

      • Descrição: (Opcional) O ID da solicitação em que o erro foi observado. Deve ser um formato UUID válido.

      • Tipo: String

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

      • Padrão: ""

  4. Selecione Executar.

  5. A automação é iniciada.

  6. O bucket realiza as seguintes etapas:

    • CheckApiExists:

      Valida se a API REST fornecida existe e se você tem as permissões necessárias para acessá-la.

    • CheckStageExists:

      Valida se o nome artístico fornecido existe na API fornecida e recupera as informações do grupo de registros de acesso.

    • CheckResourceExists:

      Valida se o caminho do recurso fornecido existe na API e recupera o ID do recurso.

    • CheckMethodExists:

      Valida se o método HTTP fornecido existe para o recurso especificado.

    • AnalyseLogs:

      Pesquisa registros usando os parâmetros fornecidos e retorna recomendações com base nos erros encontrados. Essa etapa analisa os registros de execução e acesso (se habilitado) para identificar erros 4XX e 5XX e fornece orientações específicas de remediação.

  7. Após a conclusão, revise a seção Saídas para obter os resultados detalhados da execução, incluindo análises de erros e recomendações de remediação.

Referências

Automação do Systems Manager