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à.
Esecuzione di comandi su vasta scala
Puoi utilizzare Run Command, uno strumento di AWS Systems Manager, per eseguire comandi su un parco istanze di nodi gestiti utilizzando targets. Il parametro targets accetta una combinazione Key,Value in base ai tag specificati per i nodi gestiti. Quando si esegue il comando, il sistema individua e tenta di eseguire il comando su tutti i nodi gestiti che corrispondono ai tag specificati. Per ulteriori informazioni sull'assegnazione di tag alle istanze gestite, consulta Assegnazione di tag alle risorse AWS nella Guida per l'utente per l’assegnazione di tag alle risorse AWS. Per informazioni sull'assegnazione di tag ai dispositivi IoT gestiti, consulta Aggiunta di tag alle risorse AWS IoT Greengrass Version 2 nella AWS IoT Greengrass Version 2Guida per gli sviluppatori.
È anche possibile utilizzare il parametro targets per impostare come destinazione un elenco di ID di nodi gestiti specifici, come descritto nella sezione successiva.
Per controllare l'esecuzione del comando su centinaia o migliaia di nodi gestiti, Run Command include anche i parametri per limitare il numero di nodi che possono elaborare contemporaneamente una richiesta e il numero di errori che possono essere generati da un comando prima che venga terminato.
Impostare come destinazione più nodi gestiti
Puoi eseguire un comando e definire come destinazione i nodi gestiti specificando tag,nomi di gruppi di risorse AWS o ID nodi gestiti.
Gli esempi seguenti mostrano il formato dei comandi durante l'utilizzo di Run Command dagli AWS Command Line Interface (AWS CLI). Sostituisci ciascun segnaposto delle risorse di esempio con le tue informazioni. I comandi di esempio in questa sezione sono troncati utilizzando [...].
Esempio 1: definizione di tag come target
Esempio 2: definizione di tag come un gruppo di risorse AWS
Puoi specificare un massimo di un nome del gruppo di risorse per comando. Quando crei un gruppo di risorse, ti consigliamo di includere AWS::SSM:ManagedInstance e AWS::EC2::Instance come tipi di risorse nei criteri di raggruppamento.
Nota
Per inviare comandi destinati a un gruppo di risorse, è necessario disporre di autorizzazioni AWS Identity and Access Management (IAM) per elencare o visualizzare le risorse che appartengono a tale gruppo. Per ulteriori informazioni, consulta Impostazione delle autorizzazioni nella Guida per l'utente di AWS Resource Groups.
Esempio 3: come target unAWSgruppo di risorse per tipo di risorsa
Puoi specificare un massimo di un nome del gruppo di risorse per comando. Quando crei un gruppo di risorse, ti consigliamo di includere AWS::SSM:ManagedInstance e AWS::EC2::Instance come tipi di risorse nei criteri di raggruppamento.
Nota
Per inviare comandi destinati a un gruppo di risorse, è necessario disporre di autorizzazioni IAM per elencare o visualizzare le risorse che appartengono a tale gruppo. Per ulteriori informazioni, consulta Impostazione delle autorizzazioni nella Guida per l'utente di AWS Resource Groups.
Esempio 4: definizione di ID di istanze come target
Gli esempi seguenti mostrano come destinazione i nodi gestiti utilizzando il instanceids Chiave con il parametro targets. È possibile utilizzare questa chiave per gestire il target dispositivi core AWS IoT Greengrass perché a ogni dispositivo viene assegnato un mi-ID_numero. Puoi visualizzare gli ID dei dispositivi inFleet Manager, uno strumento inAWS Systems Manager.
Se hai aggiunto tag ai nodi gestiti per diversi ambienti usando una Key denominata Environment e Values pari a Development, Test, Pre-production e Production, puoi inviare un comando a tutti i nodi gestiti in uno degli ambienti utilizzando il parametro targets con la seguente sintassi.
Puoi definire altri nodi gestiti come destinazione in altri ambienti aggiungendo voci all'elenco Values. Separa gli elementi con le virgole.
Variazione: perfezionamento dei target utilizzando più criteri Key
È possibile perfezionare il numero di target per il comando includendo più criteri Key. Se si includono più criteri Key, vengono definite come destinazioni i nodi gestiti che soddisfano tutti i criteri. Il comando seguente definisce come destinazione tutti i nodi gestiti taggati per il reparto finanze e taggati per il ruolo server di database.
Variazione: utilizzo di più criteri Key e Value
Espandendo l'esempio precedente, è possibile definire più reparti e più ruoli server come target includendo altri elementi nei criteri Values.
Variazione: definizione di nodi gestiti con tag come destinazione utilizzando più criteri Values
Se hai applicato tag a nodi gestiti per diversi ambienti usando un oggetto Key denominato Department e Values corrispondente a Sales e Finance, puoi inviare un comando a tutti i nodi gestiti in questi ambienti utilizzando il parametro targets con la sintassi seguente.
È possibile specificare un massimo di cinque chiavi e cinque valori per ogni chiave.
Se una chiave tag (il nome del tag) o un valore tag include spazi, devi racchiudere tra virgolette la chiave o il valore tag, come mostrato nei seguenti esempi.
Esempio: spazi nel tag Value
Esempio: spazi nella chiave tag e Value
Esempio: spazi in un elemento in un elenco di Values
Utilizzo dei controlli di velocità
Puoi controllare la velocità con cui i comandi vengono inviati ai nodi gestiti di un gruppo utilizzando controlli di concorrenza e controlli di errore.
Utilizzo di controlli di concorrenza
Puoi controllare il numero di nodi gestiti che eseguono il comando contemporaneamente utilizzando il parametro max-concurrency (le opzioni Concurrency (Simultaneità) nella pagina Run a command (Esegui un comando)). Puoi specificare un numero assoluto di nodi gestiti, ad esempio 10, oppure una percentuale del set di target, ad esempio 10%. Il sistema di accodamento invia il comando a un singolo nodo e attende il completamento dell'invocazione iniziale prima di inviare il comando ad altri due nodi. Il sistema invia comandi ad altri nodi in modo esponenziale fino al raggiungimento del valore max-concurrency. Il valore predefinito per max-concurrency è 50. Gli esempi seguenti mostrano come specificare valori per il parametro max-concurrency.
Utilizzo dei controlli degli errori
Puoi anche controllare l'esecuzione di un comando su centinaia o migliaia di nodi gestiti impostando un limite di errori usando i parametri max-errors (il campo Error threshold (Soglia di errore) nella pagina Run a command (Esegui un comando)). Il parametro specifica il numero di errori consentiti prima che il sistema smetta di inviare il comando ad altri nodi gestiti. Puoi specificare un numero assoluto di errori, ad esempio 10, oppure una percentuale della serie di target, ad esempio 10%. Se ad esempio specifichi 3, il sistema smette di inviare il comando quando riceve il quarto errore. Se specifichi 0, il sistema smette di inviare il comando ad altri nodi gestiti non appena viene restituito il primo risultato di errore. Se invii un comando a 50 nodi gestiti e imposti max-errors su 10%, il sistema smette di inviare il comando ad altri nodi quando riceve il sesto errore.
Per le invocazioni che stanno già eseguendo un comando quando viene raggiunto il valore max-errors, viene consentito il completamento dell'operazione, ma alcune di queste invocazioni potrebbero non riuscire. Per evitare che si verifichino più di max-errors invocazioni non riuscite, imposta max-concurrency su 1 in modo che le invocazioni procedano una alla volta. Il valore predefinito per max-errors è 0. Gli esempi seguenti mostrano come specificare valori per il parametro max-errors.