View a markdown version of this page

Implementazione AWS CloudFormation si accumula più velocemente con la modalità express - AWS CloudFormation

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à.

Implementazione AWS CloudFormation si accumula più velocemente con la modalità express

Con la modalità CloudFormation express, è possibile completare le operazioni dello stack non appena CloudFormation viene applicata la configurazione delle risorse, senza attendere che le risorse si stabilizzino completamente. Utilizza la modalità express per creare, aggiornare ed eliminare gli stack in modo significativamente più rapido durante i flussi di lavoro di sviluppo iterativi.

La modalità Express funziona con tutti i modelli esistenti. CloudFormation Non è necessario apportare modifiche al modello per utilizzare la modalità rapida.

Quando usare la modalità express

Usa la modalità express per i flussi di lavoro di sviluppo e iterazione in cui la velocità è più importante dell'attesa della completa stabilizzazione delle risorse. Usa la modalità express quando:

  • Si esegue un'iterazione sulle modifiche al modello durante lo sviluppo.

  • Desiderate un feedback più rapido sulla validità delle configurazioni delle risorse.

  • Non è necessario attendere che le risorse siano completamente operative prima di procedere.

Per le implementazioni di produzione in cui è necessario verificare che le risorse siano completamente stabilizzate e operative prima di considerare completa l'implementazione, utilizza la modalità di distribuzione predefinita.

Come funziona la modalità express

Nella modalità di distribuzione predefinita, CloudFormation attende che ogni risorsa raggiunga uno stato completamente stabilizzato prima di dichiarare la risorsa come completa. Ad esempio, quando si crea un'istanza Amazon EC2, CloudFormation attende che l'istanza si trovi nello stato. running

In modalità express, in CloudFormation genere considera completa l'operazione di una risorsa non appena la chiamata API per creare, aggiornare o eliminare la risorsa ha esito positivo. Nella maggior parte dei casi, CloudFormation non attende che la risorsa raggiunga lo stato operativo finale.

Ciò significa che dopo il completamento di un'operazione di stack in modalità espressa:

  • Le risorse potrebbero ancora inizializzare o propagare le modifiche.

  • Le risorse potrebbero non essere ancora pronte per servire il traffico o accettare connessioni.

  • Le operazioni di eliminazione potrebbero essere ancora in corso.

Come CloudFormation gestisce le dipendenze in modalità express

La modalità Express rispetta le dipendenze delle risorse definite nel modello. Se una risorsa fa riferimento all'ID o all'attributo di un'altra risorsa (tramite Ref orFn::GetAtt), CloudFormation conferma che la configurazione della risorsa di riferimento viene applicata prima di avviare la risorsa dipendente. Se una risorsa dipendente riscontra un errore temporaneo perché una risorsa referenziata non è pronta, riprova l'operazione. CloudFormation

Le risorse che non dipendono l'una dall'altra possono procedere in parallelo.

La modalità Express non modifica l'ordine delle dipendenze delle risorse. Cambia quando i report relativi all'operazione di stack vengono completati.

Guida introduttiva alla modalità express

È possibile utilizzare la modalità express con AWS Command Line Interface (AWS CLI), AWS Cloud Development Kit (AWS CDK) (AWS CDK), la CloudFormation console e modificare i set. Le sezioni seguenti descrivono come abilitare la modalità express con ciascun metodo.

Utilizzo della modalità express con AWS CLI

Per utilizzare la modalità express con AWS CLI, aggiungete il --deployment-config parametro ai comandi operativi dello stack.

Crea uno stack con la modalità express

Il comando seguente crea uno stack utilizzando la modalità express:

aws cloudformation create-stack --stack-name my-stack \ --template-body file://my-template.yaml \ --deployment-config '{"mode": "EXPRESS"}'
Aggiorna uno stack con la modalità express

Il comando seguente aggiorna uno stack utilizzando la modalità express:

aws cloudformation update-stack --stack-name my-stack \ --template-body file://my-template.yaml \ --deployment-config '{"mode": "EXPRESS"}'
Eliminare uno stack con la modalità express

Il comando seguente elimina uno stack utilizzando la modalità express:

aws cloudformation delete-stack --stack-name my-stack \ --deployment-config '{"mode": "EXPRESS"}'

Utilizzo della modalità express con AWS CDK

Per usare la modalità express con AWS Cloud Development Kit (AWS CDK) (AWS CDK), usa il --express flag con il cdk deploy comando:

cdk deploy --express

Utilizzo della modalità express con AWS SAM

Per utilizzare la modalità express con la CLI AWS SAM, aggiungi il --express flag ai comandi di distribuzione o sincronizzazione:

sam deploy --express
sam sync --express

Per mantenere l'impostazione nella configurazione del progetto, usa: --save-params

sam deploy --express --save-params

Ciò viene salvato nel samconfig.toml file express = true in modo che le distribuzioni successive utilizzino automaticamente la modalità Express.

Quando la modalità express è abilitata, la AWS SAM CLI passa la configurazione di distribuzione a. CloudFormation Il --disable-rollback flag controlla il comportamento di rollback all'interno della configurazione di distribuzione.

Utilizzo della modalità express con la console

Quando si crea o si aggiorna uno stack nella CloudFormation console, è possibile abilitare la modalità express nel passaggio Configura le opzioni dello stack. In Opzioni di distribuzione, seleziona Express per la modalità di distribuzione.

Utilizzo della modalità express con set di modifiche

È possibile utilizzare la modalità express con i set di modifiche specificando la configurazione di distribuzione al momento della creazione del set di modifiche:

aws cloudformation create-change-set --stack-name my-stack \ --change-set-name my-change-set \ --template-body file://my-template.yaml \ --deployment-config '{"mode": "EXPRESS"}'

Quando si esegue il set di modifiche, CloudFormation applica la configurazione di distribuzione in modalità espressa specificata durante la creazione del set di modifiche.

Comportamento del rollback con la modalità express

Quando si utilizza la modalità express, CloudFormation disabilita il rollback per impostazione predefinita. Se un'operazione sulle risorse fallisce, CloudFormation non ripristina automaticamente le modifiche.

Per riattivare il rollback quando si utilizza la modalità express, disableRollback impostate false nel --deployment-config parametro:

aws cloudformation create-stack --stack-name my-stack \ --template-body file://my-template.yaml \ --deployment-config '{"mode": "EXPRESS", "disableRollback": false}'

Modalità Express e pile annidate

Quando si utilizza la modalità espressa su uno stack principale, l'impostazione si propaga a tutti gli stack nidificati nella gerarchia. Non è necessario specificare la modalità express per ogni stack nidificato separatamente. Tutte le risorse nello stack principale e negli stack annidati vengono completate non appena viene applicata la loro configurazione.

Considerazioni sulla disponibilità delle risorse

La modalità Express completa le operazioni relative alle risorse prima che le risorse raggiungano uno stato completamente stabilizzato, pertanto qualsiasi risorsa potrebbe richiedere più tempo per essere completamente pronta a servire il traffico o completare la propagazione in più regioni. La tabella seguente illustra i tipi di comportamento delle risorse che ci si può aspettare, utilizzando esempi relativi a diversi tipi di risorse. Questi esempi sono illustrativi e non rappresentano un elenco completo delle risorse supportate.

Tipo di risorsa Operation Comportamento di prontezza
CloudFront Distribuzione Amazon Create/Update L'implementazione globale della distribuzione potrebbe richiedere alcuni minuti dopo l'applicazione della configurazione.
Istanza Amazon EC2 Crea L'istanza potrebbe essere ancora in fase di inizializzazione (esecuzione di script di dati utente, controlli dello stato) dopo il completamento dell'operazione di stack.
AWS Funzione Lambda Elimina È possibile che le risorse delle funzioni siano ancora in fase di pulizia dopo il completamento dei report sulle operazioni di eliminazione.
Servizio Amazon Elastic Container Service (Amazon ECS) Create/Update Le attività di servizio potrebbero ancora iniziare o raggiungere uno stato stazionario dopo il completamento dell'operazione di stack.

Funzionalità e limitazioni non supportate

Le seguenti funzionalità e servizi non sono supportati con la modalità express:

CloudFormation StackSets

CloudFormation non supporta la modalità espressa con StackSets operazioni.

Le seguenti risorse hanno un comportamento specifico con la modalità espressa:

Risorse personalizzate

Le risorse personalizzate (incluse Custom::* le risorse AWS::CloudFormation::CustomResource e) seguono il loro comportamento predefinito. CloudFormation attende che la risorsa personalizzata invii un segnale di risposta prima di considerare l'operazione completa, anche in modalità rapida. Per evitare che una risorsa personalizzata lenta o bloccata ritardi i flussi di lavoro a iterazione rapida, imposta un tempo di attesa massimo con la proprietà. ServiceTimeout Per ulteriori informazioni, consulta Timeout di risposta.

Confronto con AWS CDK implementazioni hotswap

La tabella seguente confronta la modalità express con le distribuzioni hotswap. AWS CDK

Funzionalità Modalità Express AWS CDK hotswap
Meccanismo di distribuzione Usi CloudFormation per tutte le operazioni relative alle risorse Ignora CloudFormation e chiama direttamente le API del servizio
Compatibilità dei modelli Funziona con tutti i CloudFormation modelli esistenti Supporta un set limitato di tipi di risorse
Stato dello stack Lo stato dello stack rimane coerente con il modello Lo stato dello stack potrebbe differire dal modello
Supporto per il rollback Supporta il rollback (disabilitato per impostazione predefinita) Nessun supporto per il rollback
Copertura delle risorse Tutti i tipi di CloudFormation risorse Tipi di risorse limitati (AWS Lambda, Amazon ECS, AWS Step Functions e altri)
Uso consigliato Flussi di lavoro di sviluppo e iterazione Flussi di lavoro di sviluppo con sole risorse supportate