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
È possibile utilizzare… Run Command, uno strumento per eseguire comandi su una flotta di nodi gestiti utilizzandotargets
. AWS Systems Manager 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'etichettatura delle istanze gestite, consulta Tagging your AWS
resources nella Tagging Resources User AWS Guide. Per informazioni sull'etichettatura dei dispositivi IoT gestiti, consulta Etichettare le AWS IoT Greengrass Version 2 risorse nella Guida per gli AWS IoT Greengrass Version 2 sviluppatori.
Puoi anche utilizzare il targets
parametro per indirizzare un elenco di nodi gestiti specifici IDs, come descritto nella sezione successiva.
Per controllare il modo in cui i comandi vengono eseguiti su centinaia o migliaia di nodi gestiti, Run Command include anche parametri per limitare il numero di nodi che possono elaborare contemporaneamente una richiesta e il numero di errori che un comando può generare prima che il comando venga annullato.
Impostare come destinazione più nodi gestiti
È possibile eseguire un comando e indirizzare i nodi gestiti specificando tag, nomi di gruppi di AWS risorse o nodo gestito. IDs
Gli esempi seguenti mostrano il formato dei comandi quando si utilizza Run Command da AWS Command Line Interface (AWS CLI ). Sostituisci ogni example resource
placeholder
con le tue informazioni. I comandi di esempio in questa sezione sono troncati utilizzando [...]
.
Esempio 1: definizione di tag come target
Esempio 2: indirizzare un gruppo di AWS risorse per nome
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 delle autorizzazioni AWS Identity and Access Management (IAM) per elencare o visualizzare le risorse che appartengono a quel gruppo. Per ulteriori informazioni, consulta Impostazione delle autorizzazioni nella Guida per l'utente di AWS Resource Groups .
Esempio 3: destinazione di un gruppo di AWS 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: istanza di targeting IDs
Gli esempi seguenti mostrano come destinazione i nodi gestiti utilizzando il instanceids
Chiave con il parametro targets
. È possibile utilizzare questa chiave per indirizzare i dispositivi AWS IoT Greengrass core gestiti perché a ciascun dispositivo viene assegnato un mi-ID_number
. È possibile visualizzare il dispositivo IDs in Fleet Manager, uno strumento in AWS 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
.