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.
Rubriques
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 avec
Fn::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
DependsOnuniquement 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.