View a markdown version of this page

Comprendre le temps de déploiement de la pile - AWS CloudFormation

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Comprendre le temps de déploiement de la pile

Lorsque vous créez, mettez à jour ou supprimez une pile, CloudFormation provisionne chaque ressource de votre modèle et indique que l'opération de pile est terminée lorsque vos ressources sont prêtes à servir le trafic. Cette rubrique décrit comment CloudFormation provisionne une pile, ce qui influe sur la durée d'une opération de pile et comment vous pouvez raccourcir le temps de déploiement.

Comment CloudFormation approvisionne une pile

CloudFormation lit les dépendances entre les ressources de votre modèle. Une ressource qui fait référence à une autre ressourceRef, via ou Fn::GetAttDependsOn, est provisionnée après la ressource à laquelle elle fait référence. Les ressources qui ne sont pas dépendantes les unes des autres sont mises en service en parallèle.

Pour chaque ressource, CloudFormation applique la configuration des ressources, puis confirme que la ressource est prête à traiter le trafic. CloudFormation avance dès que chaque ressource est prête, afin que les ressources dépendantes commencent le plus tôt possible. Par conséquent, les piles dotées de chaînes de dépendance plus longues enregistrent la plus grande amélioration. Lorsque toutes les ressources de la pile sont prêtes, CloudFormation indique que l'opération de pile est terminée.

Ce comportement s'applique automatiquement aux opérations de stack. Vous n'avez pas besoin de modifier vos modèles ni de définir de paramètres.

Quels sont les facteurs qui influent sur le temps

Chaînes de dépendance

La plus longue chaîne de ressources qui dépendent les unes des autres définit la durée minimale d'une opération de pile. Les ressources qui ne font pas partie de cette chaîne sont provisionnées en parallèle et ne s'ajoutent généralement pas au temps total.

Des ressources qui mettent plus de temps à être prêtes

Les charges de travail qui incluent des ressources telles que les instances de base de données Amazon RDS, les équilibreurs de charge Elastic Load Balancing, les passerelles NAT ou les CloudFront distributions Amazon passent la majeure partie de leur temps de déploiement à attendre que ces ressources soient prêtes à servir le trafic.

Sorties qui font référence aux attributs des ressources

Si une sortie de pile fait référence à un attribut de ressource, par exemple avecFn::GetAtt, CloudFormation attend que la valeur de l'attribut soit disponible avant de terminer l'opération de pile. Cette attente peut prolonger l'opération.

Moyens de raccourcir le temps de déploiement

  • Utilisez le mode express pour l'itération du développement. Le mode Express termine les opérations de pile dès que CloudFormation la configuration des ressources est appliquée, et les ressources continuent d'être prêtes en arrière-plan. Pour plus d’informations, consultez Mode express.

  • Regroupez les ressources en fonction de leur fréquence de modification. Placez les ressources qui mettent plus de temps à être prêtes, telles que les bases de données, dans des piles distinctes des ressources que vous mettez souvent à jour. Les mises à jour de la pile fréquemment modifiée n'incluent alors pas les ressources à plus long terme.

  • Supprimez les dépendances dont vous n'avez pas besoin. Déclarez DependsOn uniquement lorsqu'une ressource doit attendre une autre ressource. La réduction des dépendances permet de CloudFormation provisionner davantage de ressources en parallèle.

  • Référencez les attributs des ressources dans les sorties uniquement lorsque vous en avez besoin. Les sorties qui font référence à des attributs de ressources peuvent étendre une opération de pile jusqu'à ce que ces valeurs soient disponibles.