Creazione del contenuto del documento SSM - AWS Systems Manager

Creazione del contenuto del documento SSM

Se i documenti pubblici di AWS Systems Manager non eseguono tutte le operazioni che si desidera eseguire sulle risorse AWS, è possibile creare documenti SSM propri. È inoltre possibile clonare documenti SSM tramite la console. La clonazione di documenti consente di copiare il contenuto da un documento esistente in un nuovo documento che è possibile modificare. Quando si crea o si clona un documento, il contenuto non deve superare i 64 KB. Questa quota include anche il contenuto specificato per i parametri di input in runtime (fase di esecuzione). Quando si crea un nuovo documento Command o Policy, si consiglia di utilizzare lo schema versione 2.2 o successiva in modo da poter sfruttare le funzionalità più recenti, come la modifica dei documenti, il controllo automatico delle versioni, il sequenziamento e altro ancora.

Scrittura del contenuto del documento SSM

Per creare il proprio contenuto del documento SSM, è importante comprendere i diversi schemi, plugin, le diverse funzionalità e la diversa sintassi disponibili per i documenti SSM. Si consiglia di acquisire familiarità con le seguenti risorse.

I documenti SSM predefiniti AWS potrebbero eseguire alcune delle operazioni necessarie. È possibile richiamare questi documenti utilizzando i plugin aws:runDocument, aws:runCommand o aws:executeAutomation all'interno del documento SSM personalizzato, a seconda del tipo di documento. È inoltre possibile copiare parti di tali documenti in un documento SSM personalizzato e modificare il contenuto in base alle proprie esigenze.

Suggerimento

Durante la creazione del contenuto del documento SSM, è possibile modificare il contenuto e aggiornare il documento più volte durante il test. I comandi seguenti aggiornano il documento SSM con il contenuto più recente e aggiornano la versione predefinita del documento alla versione più recente.

Nota

I comandi Linux e Windows utilizzano lo strumento a riga di comando jq per filtrare i dati di risposta JSON.

Linux & macOS
latestDocVersion=$(aws ssm update-document \ --content file://path/to/file/documentContent.json \ --name "ExampleDocument" \ --document-format JSON \ --document-version '$LATEST' \ | jq -r '.DocumentDescription.LatestVersion') aws ssm update-document-default-version \ --name "ExampleDocument" \ --document-version $latestDocVersion
Windows
latestDocVersion=$(aws ssm update-document ^ --content file://C:\path\to\file\documentContent.json ^ --name "ExampleDocument" ^ --document-format JSON ^ --document-version "$LATEST" ^ | jq -r '.DocumentDescription.LatestVersion') aws ssm update-document-default-version ^ --name "ExampleDocument" ^ --document-version $latestDocVersion
PowerShell
$content = Get-Content -Path "C:\path\to\file\documentContent.json" | Out-String $latestDocVersion = Update-SSMDocument ` -Content $content ` -Name "ExampleDocument" ` -DocumentFormat "JSON" ` -DocumentVersion '$LATEST' ` | Select-Object -ExpandProperty LatestVersion Update-SSMDocumentDefaultVersion ` -Name "ExampleDocument" ` -DocumentVersion $latestDocVersion

Clonazione di un documento SSM

È possibile clonare documenti AWS Systems Manager utilizzando la console Documenti di Systems Manager per creare documenti SSM. La clonazione di documenti SSM consente di copiare il contenuto da un documento esistente in un nuovo documento che è possibile modificare. Non puoi clonare un documento di dimensioni superiori a 64 KB.

Per clonare un documento SSM
  1. Aprire la console AWS Systems Manager all'indirizzo https://console.aws.amazon.com/systems-manager/.

  2. Nel riquadro di navigazione, scegli Documenti.

  3. Nella casella di ricerca, inserire il nome del documento che si desidera clonare.

  4. Scegliere il nome del documento che si desidera clonare, quindi scegliere Clone document (Clona documento) nel menu a tendina Actions (Operazioni).

  5. Modificare il documento come si preferisce, quindi scegliereCreate document (Crea documento) per salvare il documento.

Dopo aver scritto il contenuto del documento SSM, è possibile utilizzarlo per creare un documento SSM tramite uno dei seguenti metodi.

Creazione di documenti compositi

Un documento AWS Systems Manager (SSM) composito è un documento personalizzato per condurre una serie di operazioni eseguendo uno o più documenti SSM secondari. I documenti compositi promuovono l'Infrastructure as Code consentendo di creare un set standard di documenti SSM per attività comuni, come processi di bootstrap di software o l'aggiunta di domini a istanze. È quindi possibile condividere questi documenti su più Account AWS nella stessa Regione AWS per ridurre la manutenzione dei documenti SSM e garantire la coerenza.

Ad esempio, puoi creare un documento composito che esegue le seguenti operazioni:

  1. Installa tutte le patch nell'elenco Consenti.

  2. Installa il software antivirus.

  3. Scarica script da GitHub e li esegue.

In questo esempio, il documento SSM personalizzato include i seguenti plugin per effettuare le operazioni riportate di seguito:

  1. Il plug-in aws:runDocument per eseguire il documento AWS-RunPatchBaseline, che installa tutte le patch consentite elencate.

  2. Il plugin aws:runDocument per eseguire il documento AWS-InstallApplication, che installa il software antivirus.

  3. Il plug-in aws:downloadContent per scaricare script da GitHub ed eseguirli.

I documenti compositi e secondari possono essere archiviati in Systems Manager, GitHub (repository pubblici e privati) o Amazon S3. I documenti compositi e secondari possono essere create in formato JSON o YAML.

Nota

I documenti compositi possono essere eseguiti solo a una profondità massima di tre documenti. Ciò significa che un documento composito può chiamare un documento figlio e che questo documento figlio può chiamare un ultimo documento.

Per creare un documento composito, aggiungere il plug-in aws:runDocument in un documento SSM personalizzato e specificare gli input necessari. L'esempio qui sotto mostra un documento composito che effettua le seguenti operazioni:

  1. Esegue il plug-in aws:downloadContent per scaricare un documento SSM da un repository GitHub pubblico in una directory locale denominata bootstrap. Il documento SSM è denominato StateManagerBootstrap.yml (un documento YAML).

  2. Esegue il plugin aws:runDocument per eseguire il documento StateManagerBootstrap.yml. Non è specificato alcun parametro.

  3. Esegue il plugin aws:runDocument per eseguire il documento SSM di AWS-ConfigureDocker pre-defined. I parametri specificati installano Docker sull'istanza.

{ "schemaVersion": "2.2", "description": "My composite document for bootstrapping software and installing Docker.", "parameters": { }, "mainSteps": [ { "action": "aws:downloadContent", "name": "downloadContent", "inputs": { "sourceType": "GitHub", "sourceInfo": "{\"owner\":\"TestUser1\",\"repository\":\"TestPublic\", \"path\":\"documents/bootstrap/StateManagerBootstrap.yml\"}", "destinationPath": "bootstrap" } }, { "action": "aws:runDocument", "name": "runDocument", "inputs": { "documentType": "LocalPath", "documentPath": "bootstrap", "documentParameters": "{}" } }, { "action": "aws:runDocument", "name": "configureDocker", "inputs": { "documentType": "SSMDocument", "documentPath": "AWS-ConfigureDocker", "documentParameters": "{\"action\":\"Install\"}" } } ] }
Ulteriori informazioni