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à.
Creazione di runbook del servizio di automazione
Ogni runbook di Automation, una funzionalità di AWS Systems Manager, definisce un'automazione. I runbook del servizio di automazione definiscono le operazioni eseguite durante un'automazione. Nel contenuto del runbook, definisci i parametri di input, gli output e le azioni che Systems Manager esegue sulle istanze e sulle risorse gestite. AWS
Il servizio di automazione include numerosi runbook predefiniti che puoi utilizzare per eseguire processi comuni, ad esempio il riavvio di una o più istanze di Amazon Elastic Compute Cloud (Amazon EC2) o la creazione di un'Amazon Machine Image (AMI). Tuttavia, i casi d'uso potrebbero estendersi oltre le funzionalità dei runbook predefiniti. In questo caso, è possibile creare runbook personalizzati e modificarli in base alle proprie esigenze.
Un runbook è costituito da operazioni di automazione, parametri per tali operazioni e parametri di input specificati. Il contenuto di un runbook viene scritto in YAML o JSON. Se non conosci né YAML né JSON, ti consigliamo di utilizzare il visual designer o di saperne di più su entrambi i linguaggi di markup prima di provare a creare il tuo runbook. Per ulteriori informazioni sul visual designer, consulta. Esperienza di progettazione visiva per i runbook di automazione
Le sezioni seguenti consentono di creare il primo runbook.
Identificazione del caso d'uso
La prima fase nella creazione di un runbook consiste nell'identificare il caso d'uso. Ad esempio, è stato pianificato il runbook AWS-CreateImage
per l'esecuzione quotidiana su tutte le istanze di Amazon EC2 di produzione. Alla fine del mese, si decide di disporre di più immagini di quante sia necessario per i punti di ripristino. Andando avanti, si desidera eliminare automaticamente l'AMI più vecchia di un'istanza di Amazon EC2 quando viene creata una nuova AMI. A tale scopo, è possibile creare un nuovo runbook che esegue le seguenti operazioni:
-
Esegue l'operazione
aws:createImage
e specifica l'ID di istanza nella descrizione dell'immagine. -
Esegue l'operazione
aws:waitForAwsResourceProperty
per verificare lo stato dell'immagine fino a quando non èavailable
. -
Dopo che lo stato dell'immagine è
available
, l'operazioneaws:executeScript
esegue uno script Python personalizzato che raccoglie gli ID di tutte le immagini associate all'istanza Amazon EC2. Lo script esegue questa operazione filtrando, utilizzando l'ID di istanza nella descrizione dell'immagine specificata al momento della creazione. Quindi, lo script ordina l'elenco degli ID immagine in base dell'elementocreationDate
dell'immagine e restituisce l'ID dell'AMI più vecchia. -
Infine, l'operazione
aws:deleteImage
viene eseguita per eliminare l'AMI più vecchia utilizzando l'ID dell'output della fase precedente.
In questo scenario, si stava già utilizzando il runbook AWS-CreateImage
, ma si è scoperto che il caso d'uso richiedeva una maggiore flessibilità. Si tratta di una situazione comune perché possono esserci sovrapposizioni tra runbook e operazioni di automazione. Di conseguenza, potrebbe essere necessario modificare i runbook o le operazioni da utilizzare per risolvere il caso d'uso.
Ad esempio, le operazioni aws:executeScript
e aws:invokeLambdaFunction
permettono entrambe di eseguire script personalizzati come parte dell'automazione. Per scegliere tra di loro, potresti preferire aws:invokeLambdaFunction
a causa dei linguaggi di tempo di esecuzione aggiuntivi supportati. Tuttavia, potresti preferire aws:executeScript
perché consente di creare il contenuto dello script direttamente nei runbook YAML e di fornire il contenuto dello script come allegati per i runbook JSON. Si potrebbe anche considerare più semplice aws:executeScript
in termini di configurazione di AWS Identity and Access Management
(IAM). Poiché utilizza le autorizzazioni fornite inAutomationAssumeRole
, aws:executeScript
non richiede un ruolo di esecuzione AWS Lambda della funzione aggiuntivo.
In un determinato scenario, un'operazione potrebbe fornire maggiore flessibilità o funzionalità aggiuntive rispetto a un'altra. Pertanto, si consiglia di esaminare i parametri di input disponibili per il runbook o l'operazione che si desidera utilizzare per determinare il caso d'uso e le preferenze più adatte.
Configurazione dell'ambiente di sviluppo
Dopo aver identificato il caso d'uso e i runbook predefiniti o le operazioni di automazione che si desidera utilizzare nel runbook, è il momento di configurare l'ambiente di sviluppo per il contenuto del runbook. Per sviluppare i contenuti del runbook, si consiglia di utilizzare la console Systems Manager Documents AWS Toolkit for Visual Studio Code anziché la console Systems Manager Documents.
Toolkit for VS Code è un'estensione open source per Visual Studio Code (VS Code) che offre più funzionalità rispetto alla console Documenti di Systems Manager. Le funzionalità utili includono la convalida dello schema sia per YAML che per JSON, snippet per i tipi di operazioni di automazione e il supporto di completamento automatico per varie opzioni sia in YAML che JSON.
Per ulteriori informazioni sull'installazione del Toolkit for VS Code, consulta Installazione di AWS Toolkit for Visual Studio Code. Per ulteriori informazioni su come utilizzare Toolkit for VS Code per lo sviluppo di runbook, consulta Utilizzo dei documenti del servizio di automazione di Systems Manager nella AWS Toolkit for Visual Studio Code Guida per l'utente di .
Sviluppo di contenuti del runbook
Con l'identificazione del caso d'uso e la configurazione dell'ambiente, è possibile sviluppare il contenuto per il runbook. Il caso d'uso e le preferenze determinano in gran parte le operazioni di automazione o i runbook utilizzati nel contenuto del runbook. Alcune operazioni supportano solo un sottoinsieme di parametri di input rispetto a un'altra operazione che consente di eseguire un processo simile. Altre operazioni hanno output specifici, come aws:createImage
, dove alcune operazioni consentono di definire i propri output, come aws:executeAwsApi
.
Se non si ha la certezza di come utilizzare un'operazione particolare nel runbook, si consiglia di esaminare la voce corrispondente per l'operazione in Riferimento alle operazioni del servizio di automazione di Systems Manager. Si consiglia inoltre di esaminare il contenuto dei runbook predefiniti per visualizzare esempi reali di come queste operazioni vengono utilizzate. Per altri esempi di applicazioni reali dei runbook, consulta Ulteriori esempi di runbook.
Per dimostrare le differenze di semplicità e flessibilità offerte dal contenuto del runbook, le esercitazioni seguenti forniscono un esempio di come applicare patch a gruppi di istanze Amazon EC2 per fasi:
-
Esempio 1: Creazione di runbook padre-figlio: in questo esempio vengono utilizzati due runbook in una relazione padre-figlio. Il runbook padre avvia un'automazione del controllo della velocità del runbook figlio.
-
Esempio 2: Runbook con script: in questo esempio viene illustrato come eseguire gli stessi processi dell'esempio 1 condensando il contenuto in un singolo runbook e utilizzando script nel runbook.