View a markdown version of this page

Comprendi i tempi di implementazione dello stack - 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à.

Comprendi i tempi di implementazione dello stack

Quando crei, aggiorni o elimini uno stack, esegui il CloudFormation provisioning di ogni risorsa del modello e segnala che l'operazione dello stack è completa quando le risorse sono pronte a servire il traffico. Questo argomento descrive come effettuare il CloudFormation provisioning di uno stack, cosa influisce sulla durata di un'operazione di stack e come ridurre i tempi di implementazione.

Come effettuare il provisioning CloudFormation di uno stack

CloudFormation legge le dipendenze tra le risorse del modello. Una risorsa che fa riferimento a un'altra risorsa, tramiteRef, o Fn::GetAttDependsOn, viene fornita dopo la risorsa a cui fa riferimento. Il provisioning delle risorse che non dipendono l'una dall'altra viene eseguito in parallelo.

Per ogni risorsa, CloudFormation applica la configurazione della risorsa e quindi conferma che la risorsa è pronta per servire il traffico. CloudFormation procede non appena ogni risorsa è pronta, in modo che le risorse dipendenti vengano avviate il prima possibile. Di conseguenza, gli stack con catene di dipendenza più lunghe registrano il miglioramento maggiore. Quando ogni risorsa dello stack è pronta, CloudFormation segnala che l'operazione dello stack è completa.

Questo comportamento si applica automaticamente alle operazioni di stack. Non è necessario modificare i modelli o impostare alcun parametro.

Cosa influisce sui tempi di implementazione

Catene di dipendenza

La catena di risorse più lunga che dipendono l'una dall'altra stabilisce il tempo minimo per un'operazione di stack. Le risorse che non fanno parte di quella catena vengono fornite in parallelo e di solito non si aggiungono al tempo totale.

Risorse che richiedono più tempo per essere pronte

I carichi di lavoro che includono risorse come istanze di database Amazon RDS, sistemi di bilanciamento del carico Elastic Load Balancing, gateway NAT o distribuzioni CloudFront Amazon trascorrono la maggior parte del tempo di implementazione in attesa che tali risorse siano pronte a servire il traffico.

Output che fanno riferimento agli attributi delle risorse

Se un output dello stack fa riferimento a un attributo di risorsa, ad esempio withFn::GetAtt, CloudFormation attende che il valore dell'attributo sia disponibile prima di completare l'operazione di stack. Questa attesa può aggiungere tempo all'operazione.

Modi per ridurre i tempi di implementazione

  • Usa la modalità express per l'iterazione dello sviluppo. La modalità Express completa le operazioni dello stack non appena CloudFormation applica la configurazione delle risorse e le risorse continuano a essere pronte in background. Per ulteriori informazioni, consulta modalità Express.

  • Raggruppa le risorse in base alla frequenza con cui cambiano. Posiziona le risorse che impiegano più tempo a essere pronte, come i database, in pile separate dalle risorse che aggiorni spesso. Gli aggiornamenti allo stack modificato di frequente non includono quindi le risorse che richiedono più tempo.

  • Rimuovi le dipendenze che non ti servono. Dichiara DependsOn solo quando una risorsa deve attendere un'altra risorsa. Un minor numero di dipendenze consente di CloudFormation fornire più risorse in parallelo.

  • Fai riferimento agli attributi delle risorse negli output solo quando ne hai bisogno. Gli output che fanno riferimento agli attributi delle risorse possono estendere un'operazione di stack fino a quando tali valori non sono disponibili.