Como solucionar problemas de tempo limite do Systems Manager Run Command?
Usei o AWS System Manager Run Command para executar um documento do SSM na minha instância gerenciada do Amazon Elastic Compute Cloud (Amazon EC2). No entanto, o processo falhou com um erro de tempo limite.
Descrição breve
Os detalhes do status do tempo limite do comando Executar incluem:
- Tempo limite de execução: o tempo, em segundos, para que um comando seja concluído antes de ser considerado como tendo falhado. O padrão é 3600 (1 hora). O valor máximo é 172800 (48 horas).
- Tempo limite de entrega: o comando não foi entregue ao nó gerenciado antes que o tempo limite total expirasse.
- Tempo limite total: o valor do tempo limite de entrega mais o tempo limite de execução. Se o tempo limite de execução não for exigido pelo documento do SSM, o tempo limite total será igual ao tempo limite de entrega mais o tempo limite de execução padrão.
Para mais informações, consulte Understanding command statuses (Entender os status de comandos).
Resolução
Examinar os detalhes do status do Run Command
- Abra o console do Systems Manager.
- No painel de navegação, escolha Run Command (Executar Comando).
- Escolha o ID do comando com hiperlink para abrir a página Status do comando.
- Na seção Targets and outputs (Destinos e saídas), escolha o ID da instância com hiperlink e revise a saída.
Quando a saída estiver truncada, conecte-se à instância do EC2 usando SSH e navegue até os diretórios a seguir para ver os detalhes completos do erro. Anote os códigos de status de saída e consulte Solução de problemas do Systems Manager Run Command para conhecer etapas adicionais de solução de problemas.
Para Linux e macOS:
/var/lib/amazon/ssm/<instance-id>/document/orchestration/<command-id>/<Plugin-name>/<Step-name>/stdout
/var/lib/amazon/ssm/<instance-id>/document/orchestration/<command-id>/<Plugin-name>/<Step-name>/stderr
Para Windows:
%ProgramData%\Amazon\SSM\InstanceData\<ManagedInstance-ID>\document\orchestration\<Command-ID>\<plug-in>\<step_number.plug-in>\stdout
%ProgramData%\Amazon\SSM\InstanceData\<ManagedInstance-ID>\document\orchestration\<Command-ID>\<plug-in>\<step_number.plug-in>\stderr
Revisar os logs do SSM Agent
Consulte os logs do SSM Agent para obter mais detalhes sobre a falha.
Para Linux e macOS, localize os logs nos seguintes diretórios:
/var/log/amazon/ssm/amazon-ssm-agent.log
/var/log/amazon/ssm/errors.log
/var/log/amazon/ssm/audits/amazon-ssm-agent-audit-YYYY-MM-DD
Para Windows, localize os logs nos seguintes diretórios:
%PROGRAMDATA%\Amazon\SSM\Logs\amazon-ssm-agent.log
%PROGRAMDATA%\Amazon\SSM\Logs\errors.log
%PROGRAMDATA%\Amazon\SSM\Logs\audits\amazon-ssm-agent-audit-YYYY-MM-DD
Se os logs do SSM Agent não fornecerem as informações necessárias para resolver o erro, permita o registro de depuração para reproduzir problema.
Solucionar problemas de tempo limite
- Certifique-se de que o tempo total de conclusão do documento do SSM do Run Command seja menor que a propriedade timeoutSeconds e verifique se o tempo total necessário para conclusão é menor que o parâmetro timeoutSeconds. O valor padrão da propriedade timeoutSeconds é 3600s segundos (1 hora). Para mais informações sobre como especificar o valor da propriedade timeoutSeconds, consulte Handling timeouts in runbooks (Lidar com tempos limite em runbooks).
- A instância do EC2 deve ser exibida como um nó gerenciado, e o status de ping do SSM Agent deve ser Online. Se a sua instância do EC2 não estiver sendo exibida como um nó gerenciado ou se o status do ping do SSM Agent não for Online, será necessária uma solução de problemas adicional. Para mais informações, consulte Why is my EC2 instance not displaying as a managed node or showing a "Connection lost" status in Systems Manager? (Por que minha instância do EC2 não está sendo exibida como um nó gerenciado ou está mostrando o status “Conexão perdida” no Systems Manager?)
- Se o Run Command estiver executando scripts que reinicializam os nós gerenciados, o nó poderá se desconectar, causando problemas de tempo limite. Verifique se você está usando os códigos de saída corretos. Para mais informações, consulte Handling reboots when running commands (Lidar com reinicializações ao executar comandos).
- Se a versão do SSM Agent for 2.0.913 ou superior, o valor de tempo limite máximo de execução será de 172800 segundos (48 horas). Verifique se a instância está usando a versão mais recente do SSM Agent.
- Quando a Janela de manutenção ou o State Manager executar o comando, confirme se o comando está sendo executado. Para confirmar, use o AWS CloudTrail para analisar a resposta de SendCommand.
Informações relacionadas
Documentos do AWS Systems Manager
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 3 anos