Utilizzo di Generatore di documenti per la creazione di runbook - AWS Systems Manager

• La AWS Systems Manager CloudWatch dashboard non sarà più disponibile dopo il 30 aprile 2026. I clienti possono continuare a utilizzare la CloudWatch console Amazon per visualizzare, creare e gestire le proprie CloudWatch dashboard Amazon, proprio come fanno oggi. Per ulteriori informazioni, consulta la documentazione di Amazon CloudWatch Dashboard.

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à.

Utilizzo di Generatore di documenti per la creazione di runbook

Se i runbook AWS Systems Manager pubblici non supportano tutte le azioni che desideri eseguire sulle tue AWS risorse, puoi creare i tuoi runbook. Per creare un runbook personalizzato, puoi creare manualmente un file locale in formato YAML o JSON con le operazioni di automazione appropriate. In alternativa, puoi utilizzare Generatore di documenti nella console di Automazione Systems Manager per creare un runbook personalizzato.

Utilizzando Generatore di documenti, puoi aggiungere operazioni di automazione al runbook personalizzato e fornire i parametri richiesti senza dover utilizzare la sintassi JSON o YAML. Dopo aver aggiunto fasi e creato il runbook, il sistema converte le operazioni aggiunte nel formato YAML che Systems Manager può utilizzare per eseguire l'automazione.

Inoltre, i runbook supportano l'uso di Markdown, un linguaggio di markup, che consente di aggiungere descrizioni in stile wiki ai runbook e alle singole fasi all'interno del runbook. Per ulteriori informazioni sull'utilizzo di Markdown, consulta Utilizzo di Markdown in AWS.

Creazione di un runbook utilizzando Generatore di documenti

Prima di iniziare

Ti consigliamo di leggere le diverse operazioni che è possibile utilizzare all'interno di un runbook. Per ulteriori informazioni, consulta Riferimento alle operazioni del servizio di automazione di Systems Manager.

Per creare un runbook utilizzando Generatore di documenti
  1. Apri la AWS Systems Manager console all'indirizzo. https://console.aws.amazon.com/systems-manager/

  2. Nel pannello di navigazione, scegli Documenti.

  3. Scegli Crea automazione.

  4. Per Nome, inserisci un nome descrittivo per il runbook.

  5. Per Descrizione documento, specificare la descrizione dello stile markdown per il runbook. È possibile fornire istruzioni per l'utilizzo del runbook, delle fasi numerate o di qualsiasi altro tipo di informazioni per descrivere il runbook. Fare riferimento al testo predefinito per informazioni sulla formattazione del contenuto.

    Suggerimento

    Passare da Nascondi anteprima a Mostra anteprima e viceversa per vedere come appare il contenuto della descrizione durante la composizione.

  6. (Facoltativo) Per Ruolo presunto, inserisci il nome o l'ARN di un ruolo di servizio per eseguire operazioni per tuo conto. Se non si specifica un ruolo, il servizio di automazione utilizza le autorizzazioni di accesso dell'utente che esegue l'automazione.

    Importante

    Per i runbook non di proprietà di Amazon che utilizzano l'operazione aws:executeScript, è necessario specificare un ruolo. Per informazioni, consulta Autorizzazioni per l'utilizzo di runbook.

  7. (Facoltativo) Per Output, inserisci eventuali output per l'automazione di questo runbook per renderli disponibili per altri processi.

    Ad esempio, se il runbook crea una nuova AMI, puoi specificare [». CreateImage ImageId«], quindi utilizzate questo output per creare nuove istanze in un'automazione successiva.

  8. (Facoltativo) Espandi la sezione Parametri di input ed effettua le seguenti operazioni.

    1. Per Nome parametro, inserisci un nome descrittivo per il parametro del runbook che si sta creando.

    2. Per Tipo, scegli un tipo per il parametro, ad esempio String o MapList.

    3. Per Obbligatorio, effettua una delle seguenti operazioni:

      • Seleziona , se per questo parametro del runbook deve essere fornito un valore durante il runtime.

      • Seleziona No, se il parametro non è richiesto e (facoltativo) inserire un valore di parametro predefinito in Valore predefinito.

    4. Per Descrizione, inserisci una descrizione per il parametro del runbook.

    Nota

    Per aggiungere altri parametri del runbook, sceglie Aggiungi un parametro. Per rimuovere un parametro del runbook, seleziona il pulsante X (Rimuovi).

  9. (Facoltativo) Espandi la sezione Tipo di destinazione e scegli un tipo di destinazione per definire i tipi di risorse su cui è possibile eseguire l'automazione. Ad esempio, per utilizzare un runbook sulle istanze di EC2, scegli /AWS::EC2::Instance.

    Nota

    Se si specifica un valore di “/“, il runbook può essere eseguito su tutti i tipi di risorse. Per un elenco dei tipi di risorse validi, consulta Informazioni di riferimento sui tipi di proprietà e di risorse di AWS nella Guida per l'utente di AWS CloudFormation .

  10. (Facoltativo) Espandi la sezione Tag documento e inserisci una o più coppie chiave-valore tag da applicare al runbook. I tag semplificano l'identificazione, l'organizzazione e la ricerca delle risorse.

  11. Nella sezione Fase 1 fornisci le seguenti informazioni.

    • Per Nome fase, inserisci un nome descrittivo per la prima fase dell'automazione.

    • Per Tipo di operazione, seleziona il tipo di operazione da utilizzare per questa fase.

      Per un elenco e informazioni sui tipi di operazione disponibili, consulta Riferimento alle operazioni del servizio di automazione di Systems Manager.

    • In Descrizione, inserisci una descrizione per la fase di automazione. È possibile utilizzare Markdown per formattare il testo.

    • A seconda del Tipo di operazione selezionato, inserisci gli input necessari per il tipo di operazione nella sezione Input della fase. Ad esempio, se è stata selezionata l'operazione aws:approve, è necessario specificare un valore per la proprietà Approvers.

      Per informazioni sui campi di input della fase, consulta la voce in Riferimento alle operazioni del servizio di automazione di Systems Manager relativa al tipo di operazione selezionato. Ad esempio: aws:executeStateMachine— Esegui una macchina a AWS Step Functions stati.

    • (Facoltativo) Per Input aggiuntivi, fornisci eventuali valori di input aggiuntivi necessari per il runbook. I tipi di input disponibili dipendono dal tipo di operazione selezionato per la fase. (Si noti che alcuni tipi di operazione richiedono valori di input.)

      Nota

      Per aggiungere altri input, selezionare Aggiungi input facoltativo. Per rimuovere un input, scegli il pulsante X (Rimuovi).

    • (Facoltativo) Per Output, inserisci eventuali output per questa fase per renderli disponibili per altri processi.

      Nota

      Output non è disponibile per tutti i tipi di operazione.

    • (Facoltativo) Espandi la sezione Proprietà comuni e specifica le proprietà per le operazioni comuni a tutte le operazioni di automazione. Ad esempio, per i Secondi di timeout, è possibile fornire un valore in secondi per specificare per quanto tempo è possibile eseguire la fase prima che venga arrestata.

      Per ulteriori informazioni, consulta Proprietà condivise da tutte le operazioni.

    Nota

    Per aggiungere altre fasi, seleziona Aggiungi fase e ripeti la procedura per la creazione di una fase. Per rimuovere una fase, seleziona Rimuovi fase.

  12. Scegli Crea automazione per salvare il runbook.

Creazione di un runbook che esegue script

La procedura seguente mostra come utilizzare Generatore di documenti nella console di Automazione AWS Systems Manager per creare un runbook personalizzato che esegue uno script.

La prima fase del runbook creato esegue uno script per avviare un'istanza Amazon Elastic Compute Cloud (Amazon EC2). Nella seconda fase viene eseguito un altro script per monitorare il controllo dello stato dell'istanza da modificare in ok. Quindi, viene riportato uno stato generale di Success per l'automazione.

Prima di iniziare

Effettuare le operazioni seguenti:

  • Verificare di disporre dei privilegi di amministratore o di disporre delle autorizzazioni appropriate per accedere a Systems Manager in AWS Identity and Access Management (IAM).

    Per informazioni, consulta Verifica dell'accesso utente per runbook.

  • Verificare di disporre di un ruolo di servizio IAM per il servizio di automazione (noto anche come ruolo presunto) nell' Account AWS. Il ruolo è necessario perché questa procedura dettagliata utilizza l'operazione aws:executeScript.

    Per ulteriori informazioni sulla creazione di questo ruolo, consulta Configurazione di un accesso al ruolo di servizio (ruolo presunto) per le automazioni.

    Per informazioni sul requisito del ruolo di servizio IAM per l'esecuzione di aws:executeScript, consulta Autorizzazioni per l'utilizzo di runbook.

  • Accertati di disporre dell'autorizzazione per avviare le istanze EC2.

    Per ulteriori informazioni, consulta IAM e Amazon EC2 nella Guida per l'utente di Amazon EC2.

Per creare un runbook personalizzato che esegue script utilizzando Generatore di documenti
  1. Apri la AWS Systems Manager console all'indirizzo https://console.aws.amazon.com/systems-manager/.

  2. Nel pannello di navigazione, scegli Documenti.

  3. Scegli Crea automazione.

  4. Per Nome, digita questo nome descrittivo per il runbook: LaunchInstanceAndCheckStatus.

  5. (Facoltativo) Per Descrizione documento, sostituisci il testo predefinito con una descrizione per questo runbook, utilizzando Markdown. Di seguito è riportato un esempio di :

    ##Title: LaunchInstanceAndCheckState ----- **Purpose**: This runbook first launches an EC2 instance using the AMI ID provided in the parameter ```imageId```. The second step of this runbook continuously checks the instance status check value for the launched instance until the status ```ok``` is returned. ##Parameters: ----- Name | Type | Description | Default Value ------------- | ------------- | ------------- | ------------- assumeRole | String | (Optional) The ARN of the role that allows Automation to perform the actions on your behalf. | - imageId | String | (Optional) The AMI ID to use for launching the instance. The default value uses the latest Amazon Linux 2023 AMI ID available. | {{ ssm:/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64 }}
  6. In Ruolo presunto, inserisci l'ARN del ruolo di servizio IAM per il servizio di automazione (Ruolo presunto) per l'automazione, nel formato arn:aws:iam::111122223333:role/AutomationServiceRole. Sostituisci il tuo Account AWS ID con 111122223333.

    Il ruolo specificato viene utilizzato per fornire le autorizzazioni necessarie per avviare l'automazione.

    Importante

    Per i runbook non di proprietà di Amazon che utilizzano l'operazione aws:executeScript, è necessario specificare un ruolo. Per informazioni, consulta Autorizzazioni per l'utilizzo di runbook.

  7. Espandi Parametri di input e procedi come segue.

    1. Per Nome parametro, inserisci imageId.

    2. In Tipo, scegli String.

    3. Per Obbligatorio, scegli No.

    4. Per Valore predefinito, inserisci quanto segue.

      {{ ssm:/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64 }}
      Nota

      Questo valore avvia un'istanza Amazon EC2 utilizzando l'ID Amazon Linux Amazon Machine Image 2023 AMI () più recente. Se si desidera utilizzare un AMI diverso, sostituire il valore con il proprio ID AMI.

    5. Per Descrizione, inserisci quanto segue.

      (Optional) The AMI ID to use for launching the instance. The default value uses the latest released Amazon Linux 2023 AMI ID.
  8. Scegli Aggiungi un parametro per creare il secondo parametro, tagValue e inserisci quanto segue.

    1. Per Nome parametro, inserisci tagValue.

    2. In Tipo, scegli String.

    3. Per Obbligatorio, scegli No.

    4. In Valore predefinito, inserisci LaunchedBySsmAutomation. Questo aggiunge il valore di coppia di chiavi tag Name:LaunchedBySsmAutomation all'istanza.

    5. Per Descrizione, inserisci quanto segue.

      (Optional) The tag value to add to the instance. The default value is LaunchedBySsmAutomation.
  9. Scegli Aggiungi un parametro per creare il terzo parametro, instanceType e inserisci le informazioni seguenti.

    1. Per Nome parametro, inserisci instanceType.

    2. In Tipo, scegli String.

    3. Per Obbligatorio, scegli No.

    4. In Valore predefinito, inserisci t2.micro.

    5. Per Descrizione parametro, inserisci quanto segue.

      (Optional) The instance type to use for the instance. The default value is t2.micro.
  10. Espandi Tipo di destinazione e scegli "/".

  11. (Facoltativo) Espandi Tag documento per applicare i tag delle risorse al runbook. Per Chiave tag, inserisci Purpose e per Valore tag, inserisci LaunchInstanceAndCheckState.

  12. Nella sezione Fase 1, completa i passaggi seguenti.

    1. Per Nome della fase, inserisci questo nome descrittivo di fase per la prima fase dell'automazione: LaunchEc2Instance.

    2. Per Tipo operazione, scegli Esegui uno script (aws:executeScript).

    3. In Descrizione, inserisci una descrizione per la fase di automazione, ad esempio la seguente.

      **About This Step** This step first launches an EC2 instance using the ```aws:executeScript``` action and the provided script.
    4. Espandi Input.

    5. In Runtime, scegli il linguaggio di runtime da utilizzare per eseguire lo script fornito.

    6. Per Gestore, inserisci launch_instance. Questo è il nome della funzione dichiarato nello script seguente.

      Nota

      Questo non è richiesto per. PowerShell

    7. Per Script, sostituire i contenuti predefiniti con i seguenti. Assicurarsi di abbinare lo script con il valore di runtime corrispondente.

      Python
      def launch_instance(events, context): import boto3 ec2 = boto3.client('ec2') image_id = events['image_id'] tag_value = events['tag_value'] instance_type = events['instance_type'] tag_config = {'ResourceType': 'instance', 'Tags': [{'Key':'Name', 'Value':tag_value}]} res = ec2.run_instances(ImageId=image_id, InstanceType=instance_type, MaxCount=1, MinCount=1, TagSpecifications=[tag_config]) instance_id = res['Instances'][0]['InstanceId'] print('[INFO] 1 EC2 instance is successfully launched', instance_id) return { 'InstanceId' : instance_id }
      PowerShell
      Install-Module AWS.Tools.EC2 -Force Import-Module AWS.Tools.EC2 $payload = $env:InputPayload | ConvertFrom-Json $imageid = $payload.image_id $tagvalue = $payload.tag_value $instanceType = $payload.instance_type $type = New-Object Amazon.EC2.InstanceType -ArgumentList $instanceType $resource = New-Object Amazon.EC2.ResourceType -ArgumentList 'instance' $tag = @{Key='Name';Value=$tagValue} $tagSpecs = New-Object Amazon.EC2.Model.TagSpecification $tagSpecs.ResourceType = $resource $tagSpecs.Tags.Add($tag) $res = New-EC2Instance -ImageId $imageId -MinCount 1 -MaxCount 1 -InstanceType $type -TagSpecification $tagSpecs return @{'InstanceId'=$res.Instances.InstanceId}
    8. Espandi Input aggiuntivi.

    9. Per Inserisci il nome, scegli InputPayload. Per Valore di input, inserisci i seguenti dati YAML.

      image_id: "{{ imageId }}" tag_value: "{{ tagValue }}" instance_type: "{{ instanceType }}"
  13. Espandi Output ed effettua le seguenti operazioni:

    • In Nome, inserisci payload.

    • Per Selettore, inserisci $.Payload.

    • In Tipo, scegli StringMap.

  14. Scegli Aggiungi fase per aggiungere una seconda fase al runbook. La seconda fase interroga lo stato dell'istanza avviata nella fase 1 e attende fino a quando lo stato restituito è ok.

  15. Nella sezione Fase 2 effettua le seguenti operazioni.

    1. Per Nome fase, inserisci questo nome descrittivo per la seconda fase dell'automazione: WaitForInstanceStatusOk.

    2. Per Tipo operazione, scegli Esegui uno script (aws:executeScript).

    3. In Descrizione, inserisci una descrizione per la fase di automazione, ad esempio la seguente.

      **About This Step** The script continuously polls the instance status check value for the instance launched in Step 1 until the ```ok``` status is returned.
    4. In Runtime, scegli il linguaggio di runtime da utilizzare per l'esecuzione dello script fornito.

    5. Per Gestore, inserisci poll_instance. Questo è il nome della funzione dichiarato nello script seguente.

      Nota

      Questo non è necessario per PowerShell.

    6. Per Script, sostituire i contenuti predefiniti con i seguenti. Assicurarsi di abbinare lo script con il valore di runtime corrispondente.

      Python
      def poll_instance(events, context): import boto3 import time ec2 = boto3.client('ec2') instance_id = events['InstanceId'] print('[INFO] Waiting for instance status check to report ok', instance_id) instance_status = "null" while True: res = ec2.describe_instance_status(InstanceIds=[instance_id]) if len(res['InstanceStatuses']) == 0: print("Instance status information is not available yet") time.sleep(5) continue instance_status = res['InstanceStatuses'][0]['InstanceStatus']['Status'] print('[INFO] Polling to get status of the instance', instance_status) if instance_status == 'ok': break time.sleep(10) return {'Status': instance_status, 'InstanceId': instance_id}
      PowerShell
      Install-Module AWS.Tools.EC2 -Force $inputPayload = $env:InputPayload | ConvertFrom-Json $instanceId = $inputPayload.payload.InstanceId $status = Get-EC2InstanceStatus -InstanceId $instanceId while ($status.Status.Status -ne 'ok'){ Write-Host 'Polling get status of the instance', $instanceId Start-Sleep -Seconds 5 $status = Get-EC2InstanceStatus -InstanceId $instanceId } return @{Status = $status.Status.Status; InstanceId = $instanceId}
    7. Espandi Input aggiuntivi.

    8. Per Inserisci il nome, scegli InputPayload. Per Valore di input, inserisci quanto segue:

      {{ LaunchEc2Instance.payload }}
  16. Scegliere Create automation (Crea automazione) per salvare il runbook.