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à.
La modalità Concurrency è un parametro per StackSetOperationPreferencesche consente di scegliere il comportamento del livello di concorrenza durante le operazioni di stack set. Puoi scegliere tra le seguenti modalità:
-
Tolleranza rigorosa ai guasti: questa opzione riduce dinamicamente il livello di simultaneità per garantire che il numero di account non riusciti non superi mai il valore della tolleranza ai guasti +1. La simultaneità effettiva iniziale viene impostata sul valore più basso tra quello degli account simultanei massimi e quello della tolleranza ai guasti +1. La simultaneità effettiva viene quindi ridotta proporzionalmente in base al numero di errori. Questo è il comportamento che segue di default.
-
Tolleranza flessibile ai guasti: questa opzione disaccoppia la tolleranza ai guasti dalla simultaneità effettiva. Ciò consente l'esecuzione delle operazioni del set di stack al livello di simultaneità impostato dal valore numero massimo di account simultanei, indipendentemente dal numero di errori.
La tolleranza rigorosa ai guasti riduce la velocità di implementazione quando si verificano errori nelle operazioni del set di stack, poiché la simultaneità diminuisce per ogni errore. Soft Failure Tolerance dà priorità alla velocità di implementazione sfruttando al contempo le funzionalità di sicurezza. AWS CloudFormation Ciò consente di esaminare e risolvere gli errori comuni operativi nei set di stack, come quelli relativi alle risorse esistenti, alle quote di servizio e alle autorizzazioni.
Per ulteriori informazioni sugli errori operativi StackSets dello stack, vedere. Motivi comuni per operazioni di stack non riuscite
Per ulteriori informazioni sul numero massimo di account simultanei e sulla tolleranza ai guasti, consulta la sezione Opzioni per le operazioni dei set di stack.
Come funziona ogni modalità di simultaneità
Le immagini seguenti forniscono una rappresentazione visiva del funzionamento di ciascuna modalità di simultaneità durante un'operazione del set di stack. La stringa di nodi rappresenta una distribuzione su single Regione AWS e ogni nodo è un target. Account AWS
- Tolleranza rigorosa ai guasti
-
Quando un'operazione del set di stack che utilizza la tolleranza rigorosa ai guasti ha il valore di tolleranza ai guasti impostato su 5 e il valore Numero massimo di account simultanei impostato su 10, la simultaneità effettiva è pari a 6. La simultaneità effettiva è 6 perché il valore di tolleranza ai guasti di 5 +1 è inferiore al valore del numero massimo di account simultanei.
L'immagine seguente mostra l'impatto che il valore di tolleranza ai guasti ha sul valore numero massimo di account simultanei e l'impatto che entrambi hanno sulla simultaneità effettiva dell'operazione del set di stack:
Quando inizia l'implementazione e si verificano istanze di stack non riuscite, la simultaneità effettiva si riduce per offrire un'esperienza di implementazione sicura. La concorrenza effettiva si riduce da 6 a 5 quando StackSets non riesce a distribuire 1 istanza dello stack.
La modalità di tolleranza rigorosa ai guasti riduce la simultaneità effettiva proporzionalmente al numero di istanze di stack non riuscite. Nell'esempio seguente, la concorrenza effettiva si riduce da 5 a 3 quando StackSets non riesce a implementare altre 2 istanze dello stack, portando il totale delle istanze dello stack non riuscite a 3.
StackSets fallisce l'operazione di impostazione dello stack quando il numero di istanze dello stack fallite è uguale al valore definito di Failure tolerance +1. Nell'esempio seguente, l'operazione StackSets fallisce quando ci sono 6 istanze di stack fallite e il valore di tolleranza di errore è 5.
In questo esempio, sono StackSets state distribuite 9 istanze dello stack (3 riuscite e 6 non riuscite) prima di interrompere l'operazione di stack set.
- Tolleranza flessibile ai guasti
-
Quando un'operazione del set di stack che utilizza la tolleranza flessibile ai guasti ha il valore di tolleranza ai guasti impostato su 5 e il valore numero massimo di account simultanei impostato su 10, la simultaneità effettiva è pari a 10.
Quando inizia l'implementazione e si verificano istanze di stack non riuscite, la simultaneità effettiva non cambia. Nell'esempio seguente, 1 operazione di stack non è riuscita, ma la simultaneità effettiva rimane a 10.
La simultaneità effettiva rimane pari a 10 anche dopo altri 2 errori dell'istanza di stack.
StackSets fallisce l'operazione di stack set quando le istanze di stack fallite superano il valore di tolleranza di errore. Nell'esempio seguente, l'operazione StackSets fallisce quando ci sono 6 istanze di stack fallite e il numero di tolleranza di errore è 5. Tuttavia, l'operazione non terminerà fino alla fine delle operazioni rimanenti nella coda di simultaneità.
StackSets continua a distribuire istanze dello stack già presenti nella coda di concorrenza. Ciò significa che il numero delle istanze di stack non riuscite può essere superiore alla tolleranza ai guasti. Nell'esempio seguente, ci sono 8 istanze di stack non riuscite perché la coda di simultaneità aveva ancora 7 operazioni da eseguire, anche se l'operazione del set di stack aveva raggiunto la tolleranza ai guasti pari a 5.
In questo esempio, sono StackSets state distribuite 15 istanze dello stack (7 riuscite e 8 fallite) prima di interrompere l'operazione dello stack.
Scelta tra Tolleranza rigorosa ai guasti e Tolleranza flessibile ai guasti in base alla velocità di implementazione
La scelta tra la modalità di Tolleranza rigorosa ai guasti e quella di Tolleranza flessibile ai guasti dipende dalla velocità di implementazione del set di stack preferita e dal numero di errori di implementazione consentito.
Le tabelle seguenti mostrano come ciascuna modalità di simultaneità gestisce un'operazione del set di stack che non riesce durante il tentativo di implementare 1.000 istanze di stack in totale. In ogni scenario, il valore di tolleranza ai guasti è impostato su 100 istanze di stack e il valore numero massimo di account simultanei è impostato su 250 istanze di stack.
Sebbene StackSets in realtà gli account vengano messi in coda come una finestra scorrevole (vediCome funziona ogni modalità di simultaneità), questo esempio mostra l'operazione in batch per dimostrare la velocità di ciascuna modalità.
Tolleranza rigorosa ai guasti
Questo esempio, che utilizza la modalità di tolleranza rigorosa ai guasti, riduce la simultaneità effettiva rispetto al numero di errori che si verificano in ogni batch precedente. Ogni batch ha 20 istanze non riuscite, il che riduce quindi la simultaneità effettiva del batch successivo di 20 fino a quando l'operazione del set di stack raggiunge un valore di tolleranza ai guasti pari a 100.
Nella tabella seguente, la simultaneità effettiva iniziale del primo batch è pari a 101 istanze di stack. La simultaneità effettiva è 101 perché è il valore più basso tra quello del numero massimo di account simultanei (250) e quello della tolleranza ai guasti (100) +1. Ogni batch contiene 20 distribuzioni di istanze di stack non riuscite, il che riduce quindi la simultaneità effettiva di ogni batch successivo di 20 istanze di stack.
Tolleranza rigorosa ai guasti | Batch 1 | Batch 2 | Batch 3 | Batch 4 | Batch 5 | Batch 6 |
---|---|---|---|---|---|---|
Conteggio effettivo della simultaneità | 101 | 81 | 61 | 41 | 21 | - |
Numero di istanze non riuscite | 20 | 20 | 20 | 20 | 20 | - |
Numero di istanze di stack riuscite | 81 | 61 | 41 | 21 | 1 | - |
L'operazione che utilizza la tolleranza rigorosa ai guasti ha completato 305 implementazioni di istanze di stack in 5 batch quando l'operazione del set di stack ha raggiunto la tolleranza ai guasti di 100 istanze di stack. L'operazione del set di stack implementa correttamente 205 istanze di stack prima che si verifichi un errore.
Tolleranza flessibile ai guasti
Questo esempio, che utilizza la modalità di tolleranza flessibile ai guasti, mantiene lo stesso conteggio effettivo di simultaneità definito dal valore numero massimo di account simultanei di 250 istanze di stack, indipendentemente dal numero di istanze non riuscite. Le operazioni del set di stack mantengono la stessa simultaneità effettiva fino a raggiungere il valore di tolleranza ai guasti di 100 istanze.
Nella tabella seguente, la simultaneità effettiva iniziale del primo batch è pari a 250 istanze di stack. La concorrenza effettiva è 250 perché il valore Maximum concurrent accounts è impostato su 250 e la modalità Soft failure tolerance consente di StackSets utilizzare questo valore come concorrenza effettiva, indipendentemente dal numero di errori. Anche se in questo esempio sono presenti 50 errori in ciascuno dei batch, la simultaneità effettiva rimane inalterata.
Tolleranza flessibile ai guasti | Batch 1 | Batch 2 | Batch 3 | Batch 4 | Batch 5 | Batch 6 |
---|---|---|---|---|---|---|
Conteggio effettivo della simultaneità | 250 | 250 | - | - | - | - |
Numero di istanze non riuscite | 50 | 50 | - | - | - | - |
Numero di istanze di stack riuscite | 200 | 200 | - | - | - | - |
Utilizzando lo stesso valore numero massimo di account simultanei e tolleranza ai guasti, l'operazione che utilizza la modalità di tolleranza flessibile ai guasti ha completato 500 implementazioni di istanze di stack in 2 batch. L'operazione del set di stack implementa correttamente 400 istanze di stack prima che si verifichi un errore.
Scelta della modalità Concurrency (console)
Quando si crea o si aggiorna un set di stack, nella pagina Set deployment options, per la modalità Concurrency, selezionare Strict failure tolerance o Soft failure tolerance.
Scelta della modalità Concurrency ()AWS CLI
È possibile utilizzare il ConcurrencyMode
parametro con i seguenti StackSets comandi:
Questi comandi hanno un parametro esistente chiamato --operation-preferences
che può utilizzare l'impostazione ConcurrencyMode
. ConcurrencyMode
può essere impostata su uno dei seguenti valori:
-
STRICT_FAILURE_TOLERANCE
-
SOFT_FAILURE_TOLERANCE
L'esempio seguente crea un'istanza stack utilizzando STRICT_FAILURE_TOLERANCE
ConcurrencyMode
, con un FailureToleranceCount
set su 10 e un MaxConcurrentCount
set su 5.
aws cloudformation create-stack-instances \ --stack-set-name
example-stackset
\ --accounts123456789012
\ --regionseu-west-1
\ --operation-preferences ConcurrencyMode=STRICT_FAILURE_TOLERANCE,FailureToleranceCount=10,MaxConcurrentCount=5
Nota
Per le procedure dettagliate per la creazione e l'aggiornamento dei set di stack, consultate i seguenti argomenti: