Come si risolvono i problemi di timeout di Run Command in Systems Manager?

4 minuti di lettura
0

Ho usato Run Command di AWS System Manager per eseguire un documento SSM sulla mia istanza gestita di Amazon Elastic Compute Cloud (Amazon EC2). Tuttavia, il processo non è riuscito e ha restituito un errore di timeout.

Breve descrizione

I dettagli sullo stato di timeout di Run Command includono quanto segue:

  • Timeout di esecuzione: Il tempo, in secondi, necessario per il completamento di un comando prima che venga considerato non riuscito. L'impostazione predefinita è 3600 (1 ora). Il valore massimo è 172800 (48 ore).
  • Termine di distribuzione: Il comando non è stato recapitato al nodo gestito prima della scadenza del timeout totale.
  • Timeout totale: Il valore del timeout di distribuzione più il timeout di esecuzione. Se il timeout di esecuzione non è richiesto dal documento SSM, il timeout totale è uguale al timeout di distribuzione più il timeout di esecuzione predefinito.

Per ulteriori informazioni, consulta Informazioni sugli stati dei comandi.

Risoluzione

Controlla i dettagli dello stato di Run Command

  1. Apri la console di Systems Manager.
  2. Dal riquadro di navigazione, scegli Run Command.
  3. Scegli l'ID del comando con collegamento ipertestuale per aprire la pagina Stato del comando.
  4. Nella sezione Destinazioni e output, scegli l'ID istanza con collegamento ipertestuale, quindi esamina l'output.

Quando l'output viene troncato, connettiti all'istanza EC2 tramite SSH, quindi accedi alle seguenti directory per visualizzare i dettagli completi dell'errore. Prendi nota dei codici di stato di uscita e consulta la sezione Risoluzione dei problemi di Systems Manager per ulteriori passi di risoluzione dei problemi.

Per 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

Per 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

Rivedi i log di SSM Agent

Per ulteriori dettagli sull'errore, consulta i log di SSM Agent.

Per Linux e macOS, individua i log nelle seguenti directory:

/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

Per Windows, individua i log nelle seguenti directory:

%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 i log di SSM Agent non forniscono le informazioni necessarie per risolvere l'errore, consenti la registrazione di debug per riprodurre il problema.

Risoluzione dei problemi di timeout

  • Assicurati che il tempo totale di completamento del documento SSM per Run Command sia inferiore alla proprietà timeoutSeconds e verifica che il tempo totale richiesto per completarli sia inferiore al parametro timeoutSeconds. Il valore predefinito della proprietà timeoutSeconds è di 3600 secondi (1 ora). Per maggiori informazioni su come specificare il valore della proprietà timeoutSeconds, vedi Gestione dei timeout nei runbook.
  • L'istanza EC2 deve essere visualizzata come nodo gestito e lo stato di ping di SSM Agent deve essere Online. Se l'istanza EC2 non viene visualizzata come nodo gestito o lo stato di ping di SSM Agent non è Online, è necessaria un'ulteriore risoluzione dei problemi. Per ulteriori informazioni, vedi Perché la mia istanza EC2 non viene visualizzata come nodo gestito o mostra lo stato "Connessione persa" in Systems Manager?
  • Se Run Command esegue script che riavviano i nodi gestiti, il nodo potrebbe disconnettersi causando problemi di timeout. Assicurati di utilizzare i codici di uscita corretti. Per ulteriori informazioni, consulta Gestione di riavvii durante l'esecuzione dei comandi.
  • Se la versione di SSM Agent è 2.0.913 o successiva, il valore massimo del timeout di esecuzione è di 172800 secondi (48 ore). Verifica che l'istanza utilizzi la versione più recente di SSM Agent.
  • Quando Maintenance Window o State Manager eseguono il comando, verifica che il comando sia in esecuzione. Per verificare, usa AWS CloudTrail per esaminare la risposta di SendCommand.

Informazioni correlate

Documenti di AWS Systems Manager

Configurazione di AWS Systems Manager

Come posso risolvere gli errori di Systems Manager Run Command?

AWS UFFICIALE
AWS UFFICIALEAggiornata 9 mesi fa