• 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à.
Mappatura degli obiettivi per un'automazione
Utilizza il parametro Targets per definire velocemente quali risorse possono essere destinate a un'automazione. Ad esempio, se vuoi eseguire un'automazione che riavvii le istanze gestite, anziché selezionare manualmente decine di ID di istanza nella console o digitarli in un comando, puoi definire le istanze come destinazione specificando i tag di Amazon Elastic Compute Cloud (Amazon EC2) con il parametro Targets.
Quando esegui un'automazione che utilizza una destinazione, AWS Systems Manager crea un'automazione figlio per ogni destinazione. Ad esempio, se come destinazione utilizzi i volumi di Amazon Elastic Block Store (Amazon EBS) mediante la specifica di tag e se tali tag restituiscono 100 volumi di Amazon EBS, Systems Manager crea 100 automazioni figlio. L'automazione padre risulta completa quando tutte le automazioni figlio raggiungono lo stato finale.
Nota
Qualsiasi opzione input parameters specificata nel runtime (tempo di esecuzione) (nella sezione Input parameters (Parametri di input) della console oppure utilizzando l'opzione parameters nella riga di comando) viene elaborata automaticamente da tutte le automazioni figlio.
Per definire le risorse come destinazione per un'automazione, puoi usare i tag, Resource Groups, e i valori dei parametri. Puoi inoltre utilizzare l'opzione TargetMaps per utilizzare come destinazione più valori di parametro nella riga di comando o in un file. La sezione seguente descrive con maggiore dettaglio ciascuna di queste opzioni.
Definizione di un tag come destinazione
Puoi specificare un singolo tag come destinazione di un'automazione. Molte risorse di AWS supportano i tag, tra cui istanze di Amazon Elastic Compute Cloud (Amazon EC2) e di Amazon Relational Database Service (Amazon RDS), volumi e snapshot di Amazon Elastic Block Store (Amazon EBS), Resource Groups e bucket Amazon Simple Storage Service (Amazon S3), per citarne alcune. Puoi eseguire rapidamente l'automazione sulle tue AWS risorse scegliendo come target un tag. Un tag è una coppia chiave-valore, ad esempio Operating_System:Linux oppure Department:Finance. Se assegni un nome specifico a una risorsa, puoi anche possibile utilizzare la parola "Nome" come chiave e il nome della risorsa come valore.
Quando specifichi un tag come destinazione di un'automazione, devi specificare anche un parametro di destinazione. Il parametro di destinazione utilizza l'opzione TargetParameterName. Scegliendo un parametro di destinazione, definisci il tipo di risorsa su cui viene eseguita l'automazione. Il parametro di destinazione specificato con il tag deve essere un parametro valido definito nel runbook. Ad esempio, se vuoi definire come destinazione molte istanze di EC2 utilizzando i tag, devi scegliere il parametro di destinazione InstanceId. Quando scegli questo parametro, definisci le instances (istanze) come il tipo di risorsa per l'automazione. Durante la creazione di un runbook personalizzato è necessario specificare, per Tipo di distanza, il valore /AWS::EC2::Instance per garantire che vengano utilizzate solo le istanze. Altrimenti, verranno definite come destinazione tutte le risorse con lo stesso tag. Quando definisci come destinazione le istanze con un tag, potrebbero essere incluse anche le istanze terminate.
Lo screenshot seguente utilizza il runbook di AWS-DetachEBSVolume. Il parametro di destinazione logico è VolumeId.
Il runbook di AWS-DetachEBSVolume include anche una proprietà speciale chiamata Tipo di destinazione, impostata su /AWS::EC2::Volume. Ciò significa che se la coppia tag-chiave Finance:TestEnv restituisce tipi diversi di risorse, (ad esempio istanze di EC2, volumi di Amazon EBS e snapshot di Amazon EBS), verranno utilizzati solo i volumi di Amazon EBS.
Importante
I nomi dei parametri di destinazione fanno distinzione tra maiuscole e minuscole. Se esegui automazioni utilizzando AWS Command Line Interface (AWS CLI) o AWS Tools for Windows PowerShell, devi inserire il nome del parametro di destinazione esattamente come definito nel runbook. In caso contrario, il sistema restituisce un errore di InvalidAutomationExecutionParametersException. È possibile utilizzare l'operazione DescribeDocumentAPI per visualizzare le informazioni sui parametri di destinazione disponibili in un runbook specifico. Di seguito è riportato un esempio di comando di AWS CLI che fornisce informazioni su documento di AWS-DeleteSnapshot non valido.
aws ssm describe-document \ --name AWS-DeleteSnapshot
Ecco alcuni esempi di AWS CLI comandi che indirizzano le risorse utilizzando un tag.
Esempio 1: definizione di un tag come destinazione mediante l'uso di una coppia chiave-valore per riavviare le istanze Amazon EC2
Questo esempio riavvia tutte le istanze Amazon EC2 etichettate con una chiave Department e un valore di. HumanResources Il parametro target utilizza il InstanceIdparametro del runbook. L'esempio utilizza un parametro aggiuntivo per eseguire l'automazione utilizzando un ruolo di servizio di automazione, definito anche ruolo presunto.
aws ssm start-automation-execution \ --document-name AWS-RestartEC2Instance \ --targets Key=tag:Department,Values=HumanResources \ --target-parameter-name InstanceId \ --parameters "AutomationAssumeRole=arn:aws:iam::111122223333:role/AutomationServiceRole"
Esempio 2: definizione di un tag come destinazione mediante l'uso di una coppia chiave-valore per eliminare gli snapshot di Amazon EBS
L'esempio seguente utilizza il runbook di AWS-DeleteSnapshot per eliminare tutti gli snapshot con la chiave Nome e il valore January2018Backups. Il parametro target utilizza il VolumeIdparametro.
aws ssm start-automation-execution \ --document-name AWS-DeleteSnapshot \ --targets Key=tag:Name,Values=January2018Backups \ --target-parameter-name VolumeId
Targeting AWS Resource Groups
È possibile specificare un singolo gruppo di AWS risorse come obiettivo di un'automazione. Systems Manager crea un'automazione figlio per ogni oggetto nel gruppo di risorse di destinazione.
Ad esempio, supponiamo che uno dei tuoi Resource Groups si chiami PatchedAMIs. Questo gruppo di risorse include un elenco di 25 Amazon Machine Images (AMIs) Windows a cui vengono regolarmente applicate patch. Se esegui un'automazione che utilizza il runbook di AWS-CreateManagedWindowsInstance e che ha questo gruppo di risorse come destinazione, Systems Manager creerà un'automazione figlio per ciascuna delle 25 AMIs. Ciò significa che, prendendo di mira il Patched AMIs Resource Group, l'automazione crea 25 istanze da un elenco di quelle patchate. AMIs L'automazione padre risulta completa quando tutte le automazioni figlio hanno ultimato l'elaborazione o hanno raggiunto lo stato finale.
Il AWS CLI comando seguente si applica all'esempio di Patch AMIs Resource Group. Il comando accetta il AmiIdparametro per l'--target-parameter-nameopzione. Il comando non include un parametro aggiuntivo che definisce il tipo di istanza da creare da ciascuna AMI. Il runbook di AWS-CreateManagedWindowsInstance usa per impostazione predefinita il tipo di istanza t2.medium; per tale motivo, questo comando crea 25 istanze t2.medium di Amazon EC2 instances per Windows Server.
aws ssm start-automation-execution \ --document-name AWS-CreateManagedWindowsInstance \ --targets Key=ResourceGroup,Values=PatchedAMIs \ --target-parameter-name AmiId
La seguente console di esempio utilizza un gruppo di risorse denominato t2-micro-instances.
Definizione dei valori di parametro come destinazione
È anche possibile definire come destinazione un valore di parametro. A tale scopo, devi specificare ParameterValues come chiave e quindi inserire il valore specifico di risorsa in cui vuoi eseguire l'automazione. Se specifichi più valori, Systems Manager esegue un'automazione figlio su ciascun valore specificato.
Supponiamo, ad esempio, che il runbook includa un parametro InstanceID. Se definisci i valori del parametro InstanceID come destinazione quando esegui l'automazione, Systems Manager esegue un'automazione figlio per ogni valore di ID di istanza specificato. L'automazione padre risulta completa quando l'automazione termina l'esecuzione di ciascuna istanza specificata oppure se l'automazione ha esito negativo. Puoi definire come destinazione un massimo di 50 valori di parametro.
Nell'esempio seguente viene utilizzato il runbook di AWS-CreateImage. Il nome del parametro di destinazione specificato è InstanceId. La chiave utilizza ParameterValues. I valori sono due istanze Amazon EC2. IDs Questo comando crea un'automazione per ogni istanza, che genera un'AMI da ciascuna istanza.
aws ssm start-automation-execution --document-name AWS-CreateImage \ --target-parameter-name InstanceId \ --targets Key=ParameterValues,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE
Nota
AutomationAssumeRole non è un parametro valido. Non scegliere questo elemento quando si esegue un'automazione che definisce un valore di parametro come destinazione.
Definizione delle mappe di valori di parametro come destinazione
L'opzione TargetMaps potenzia la capacità di definire ParameterValues come destinazione. Puoi inserire una serie di valori di parametro utilizzando TargetMaps nella riga di comando. Puoi infine specificare un massimo di 50 valori di parametro nella riga di comando. Per eseguire comandi che specificano più di 50 valori di parametro, puoi inserire i valori in un file in formato JSON. Potrai quindi richiamare il file dalla riga di comando.
Nota
L'opzione TargetMaps non è supportata nella console.
Usa il seguente formato per specificare più valori di parametro mediante l'opzione TargetMaps in un comando. Sostituisci ogni example resource placeholder con le tue informazioni.
aws ssm start-automation-execution \ --document-namerunbook name\ --target-maps “parameter=value,parameter 2=value,parameter 3=value” “parameter 4=value,parameter 5=value,parameter 6=value”
Se vuoi immettere più di 50 valori di parametro per l'opzione TargetMaps, specifica i valori in un file utilizzando il seguente formato JSON. L'utilizzo di un file in formato JSON migliora inoltre la leggibilità quando vengono specificati più valori di parametro.
[ {“parameter”: "value", “parameter 2”: "value", “parameter 3”: "value"}, {“parameter 4”: "value", “parameter 5”: "value", "parameter 6": "value"} ]
Salva il file con l'estensione .json. Puoi chiamare il file utilizzando il comando seguente. Sostituisci ogni example resource
placeholder con le tue informazioni.
aws ssm start-automation-execution \ --document-namerunbook name\ –-parametersinput parameters\ --target-mapspath to file/file name.json
Puoi inoltre scaricare il file da un bucket Amazon Simple Storage Service (Amazon S3), a condizione che tu disponga dell'autorizzazione necessaria per leggere i dati dal bucket. Utilizza il seguente formato di comando. Sostituisci ogni example resource placeholder con le tue informazioni.
aws ssm start-automation-execution \ --document-namerunbook name\ --target-maps http://amzn-s3-demo-bucket.s3.amazonaws.com/file_name.json
Ecco uno scenario di esempio che illustra l'opzione TargetMaps. In questo scenario, un utente desidera creare istanze di Amazon EC2 di vari tipi da AMIs diverse. Per eseguire questa attività, l'utente crea un runbook denominato AMI_Testing. Questo runbook definisce due parametri di input: instanceType e imageId.
{ "description": "AMI Testing", "schemaVersion": "0.3", "assumeRole": "{{assumeRole}}", "parameters": { "assumeRole": { "type": "String", "description": "Role under which to run the automation", "default": "" }, "instanceType": { "type": "String", "description": "Type of EC2 Instance to launch for this test" }, "imageId": { "type": "String", "description": "Source AMI id from which to run instance" } }, "mainSteps": [ { "name": "runInstances", "action": "aws:runInstances", "maxAttempts": 1, "onFailure": "Abort", "inputs": { "ImageId": "{{imageId}}", "InstanceType": "{{instanceType}}", "MinInstanceCount": 1, "MaxInstanceCount": 1 } } ], "outputs": [ "runInstances.InstanceIds" ] }
L'utente specifica quindi i seguenti valori di parametro di destinazione in un file denominato AMI_instance_types.json.
[ { "instanceType" : ["t2.micro"], "imageId" : ["ami-b70554c8"] }, { "instanceType" : ["t2.small"], "imageId" : ["ami-b70554c8"] }, { "instanceType" : ["t2.medium"], "imageId" : ["ami-cfe4b2b0"] }, { "instanceType" : ["t2.medium"], "imageId" : ["ami-cfe4b2b0"] }, { "instanceType" : ["t2.medium"], "imageId" : ["ami-cfe4b2b0"] } ]
L'utente può eseguire l'automazione e creare le cinque istanze di EC2 definite nel file AMI_instance_types.json con il comando seguente.
aws ssm start-automation-execution \ --document-name AMI_Testing \ --target-parameter-name imageId \ --target-maps file:///home/TestUser/workspace/runinstances/AMI_instance_types.json
Definizione di tutte le istanze Amazon EC2 come destinazione
Puoi eseguire un'automazione su tutte le istanze Amazon EC2 nella versione corrente Account AWS
e Regione AWS selezionando Tutte le istanze nell'elenco Target. Ad esempio, se desideri riavviare tutte le istanze Amazon EC2 tue Account AWS e quelle attuali Regione AWS, puoi scegliere il AWS-RestartEC2Instance runbook e quindi scegliere Tutte le istanze dall'elenco Target.
Dopo aver scelto Tutte le istanze, Systems Manager popola il campo Istanza con un asterisco (*) e rende il campo non disponibile per le modifiche (il campo è disabilitato). Systems Manager rende inoltre il InstanceIdcampo nel campo Parametri di input non disponibile per modifiche. Rendi questi campi non disponibili per le modifiche è un comportamento previsto se scegli di definire tutte le istanze come destinazione.