Compréhension de la gestion des versions des modules
Le registre CloudFormation sert de référentiel dans lequel vous pouvez enregistrer et gérer les modules à utiliser dans votre Compte AWS et votre région. Vous pouvez enregistrer des modules provenant de diverses sources, notamment AWS, des éditeurs tiers et vos propres extensions personnalisées, dans votre compte et votre région. Pour de plus amples informations, consultez Gestion des extensions avec le registre CloudFormation.
Les modules peuvent avoir différentes versions, vous pouvez donc spécifier la version d’un module que vous souhaitez utiliser. Cette fonctionnalité de gestion des versions est particulièrement utile lorsque vous devez mettre à jour ou modifier un module sans perturber les piles existantes qui en dépendent.
Gardez les considérations suivantes à l’esprit lorsque vous utilisez plusieurs versions d’un module :
-
Lors des opérations sur les piles, CloudFormation utilise la version du module actuellement enregistrée comme version par défaut dans le Compte AWS et la région où l’opération sur la pile est effectuée. Cela inclut les modules imbriqués dans d'autres modules.
Par conséquent, sachez que si différentes versions du même module sont enregistrées comme version par défaut dans différents comptes ou régions, l’utilisation du même modèle peut entraîner des résultats différents.
-
Lors des opérations sur les piles, CloudFormation utilise la version de la ressource actuellement enregistrée comme version par défaut dans le Compte AWS et la région où l’opération sur la pile est effectuée. Cela inclut les ressources générées par l'inclusion de modules.
-
La modification de la version par défaut d'un module ne lance aucune opération de mise à jour de la pile. Toutefois, la prochaine fois que vous effectuerez une opération de pile avec un modèle contenant ce module, comme une mise à jour de pile, CloudFormation utilisera la nouvelle version par défaut dans l'opération.
La seule exception est d'effectuer une mise à jour de pile avec l'option spécifiée Utiliser le modèle précédent, comme décrit ci-dessous.
-
Pour les opérations de mise à jour de pile, si vous spécifiez l'option Utiliser le modèle précédent, CloudFormation utilise le modèle traité précédent pour la mise à jour de pile et ne traite pas à nouveau le module pour les modifications que vous avez pu y apporter.
-
Pour garantir des résultats uniformes, si vous incluez des modules dans un modèle de pile à utiliser avec des ensembles de pile, vous devez vous assurer que la même version du module est configurée de la même manière que la version par défaut dans tous les comptes et régions dans lesquels vous prévoyez de déployer vos instances de pile. Cela inclut les modules imbriqués dans d'autres modules. Pour de plus amples informations, consultez Gestion des piles entre les comptes et les régions avec StackSets.
Conditions requises pour activer des modules publics tiers
Pour activer avec succès un module public tiers dans votre compte et votre région, les conditions suivantes doivent être remplies pour chaque extension publique tierce (ressource ou module) incluse dans le module :
-
Activation de l’extension — L’extension doit être activée dans le compte et dans la région dans lesquels vous souhaitez l’utiliser. Pour de plus amples informations, consultez Utilisation d’extensions publiques tierces à partir du registre CloudFormation.
-
Enregistrement d’alias : si l’extension du module utilise un alias de nom de type, l’extension doit être enregistrée dans votre compte et votre région en utilisant le même alias de nom de type. Pour de plus amples informations, consultez Utilisez des alias pour faire référence aux extensions.
-
Compatibilité des versions : la version d’extension actuellement activée doit être l’une des versions majeures prises en charge de cette extension spécifiée dans le module.
Si vous n’avez pas activé les extensions publiques tierces et les versions d’extension correctes, l’opération de CloudFormation échouera avec une erreur répertoriant les extensions et les versions qui doivent être activées avant que le module puisse être activé avec succès.