Utilizzo di script nei runbook
I runbook Automation supportano l'esecuzione di script come parte dell'automazione. L'automazione è uno strumento di AWS Systems Manager. Utilizzando i runbook, è possibile eseguire script direttamente in AWS senza dover creare un ambiente di calcolo separato per eseguire gli script. Poiché i runbook possono eseguire passaggi di script insieme ad altri tipi di fasi di automazione, ad esempio le approvazioni, è possibile di intervenire manualmente in situazioni critiche o ambigue. Puoi inviare l'output dalle operazioni aws:executeScript nei runbook ad Amazon CloudWatch Logs. Per ulteriori informazioni, consulta Output dell'operazione automazione del logging con CloudWatch Logs.
Autorizzazioni per l'utilizzo di runbook
Per utilizzare un runbook, Systems Manager deve utilizzare le autorizzazioni di un ruolo (IAM) AWS Identity and Access Management. Il metodo utilizzato dal servizio di automazione per stabilire quali autorizzazioni del ruolo utilizzare dipende da alcuni fattori e dal fatto che una fase utilizza o meno l'operazione aws:executeScript.
Per i runbook che non utilizzano aws:executeScript, il servizio di automazione utilizza una delle due fonti di autorizzazione:
-
Le autorizzazioni di un ruolo di servizio IAM, o ruolo presunto, specificate nel runbook o passate come parametro.
-
Se non viene specificato alcun ruolo di servizio IAM, le autorizzazioni dell'utente che ha avviato l'automazione.
Tuttavia, quando una fase in un runbook include l'operazione aws:executeScript, è sempre necessario un ruolo di servizio IAM (ruolo presunto) se lo script Python o PowerShell specificato per l'operazione chiama qualsiasi azione API di AWS. Il servizio di automazione verifica questo ruolo nell'ordine seguente:
-
Le autorizzazioni di un ruolo di servizio IAM, o ruolo presunto, specificate nel runbook o passate come parametro.
-
Se non viene trovato alcun ruolo, il servizio di automazione tenta di eseguire lo script Python o PowerShell specificato per
aws:executeScriptsenza autorizzazioni. Se lo script chiama un'operazione API di AWS (ad esempio l'operazioneCreateImagedi Amazon EC2) o tenta di agire su una risorsa di AWS (ad esempio un'istanza di EC2), la fase contenente lo script non riesce e Systems Manager restituisce un messaggio di errore che segnala l'errore.
Aggiunta di script ai runbook
È possibile aggiungere script ai runbook includendo lo script in linea come parte di una fase nel runbook. È inoltre possibile allegare script al runbook caricando gli script dal computer locale o specificando un bucket di Amazon Simple Storage Service (Amazon S3) in cui si trovano gli script. Al termine di una fase che esegue uno script, l'output dello script è disponibile come oggetto JSON, che è possibile utilizzare come input per le fasi successive nel runbook. Per ulteriori informazioni sull'operazione aws:executeScript e su come utilizzare gli allegati per gli script, consulta aws:executeScript: esecuzione di uno script.
Vincoli di script per i runbook
I runbook applicano un limite di cinque file allegati. Gli script possono avere il formato di uno script Python (.py), uno script PowerShell Core (.ps1) o allegati come contenuti all'interno di un file .zip.