Création de configurations de ressources réutilisables pouvant être incluses dans plusieurs modèles à l’aide des modules CloudFormation
Les modules vous permettent d'empaqueter des configurations de ressources pour les inclure dans les modèles de pile, de manière transparente, gérable et reproductible. Les modules peuvent encapsuler les configurations de service courantes et les bonnes pratiques en tant que blocs de création modulaires et personnalisables à inclure dans vos modèles de pile. Les modules vous permettent d'inclure des configurations de ressources qui intègrent les bonnes pratiques, les connaissances des experts du secteur et les directives acceptées (pour des domaines tels que la sécurité, la conformité, la gouvernance et les réglementations sectorielles) dans vos modèles, sans avoir à acquérir une connaissance approfondie des subtilités de l'implémentation des ressources.
Par exemple, un expert du secteur de la mise en réseau pourrait créer un module contenant des groupes de sécurité intégrés et des règles d'entrée et de sortie qui respectent les consignes de sécurité. Vous pouvez ensuite inclure ce module dans votre modèle afin de fournir une infrastructure réseau sécurisée dans votre pile, sans avoir à passer du temps à comprendre le fonctionnement des VPC, des sous-réseaux, des groupes de sécurité et des passerelles. Et comme les modules sont versionnés, si les directives de sécurité changent au fil du temps, l'auteur du module peut créer une nouvelle version du module intégrant ces modifications.
Les caractéristiques de l'utilisation des modules dans vos modèles sont les suivantes :
-
Prévisibilité : un module doit adhérer au schéma qu’il enregistre dans le registre CloudFormation, afin que vous sachiez quelles ressources il peut résoudre une fois que vous l’avez inclus dans votre modèle.
-
Réutilisabilité : vous pouvez utiliser le même module sur plusieurs modèles et comptes.
-
Traçabilité : CloudFormation retient quelles ressources d’une pile ont été allouées à partir d’un module, ce qui vous permet de comprendre facilement la source des modifications de ressources.
-
Facilité de gestion : une fois que vous avez enregistré un module, vous pouvez le gérer via le registre CloudFormation, gestion des versions et disponibilité des comptes et des régions comprises.
Un module peut contenir :
-
une ou plusieurs ressources à provisionner à partir du module, ainsi que toutes les données associées, telles que les sorties ou les conditions ;
-
tous les paramètres du module, qui vous permettent de spécifier des valeurs personnalisées chaque fois que le module est utilisé.
Pour plus d’informations sur le développement de modules, reportez-vous à Developing modules dans le CloudFormation CLI User Guide.
Rubriques
Considérations relatives à l'utilisation de modules
-
L'utilisation d'un module n'implique aucun coût supplémentaire. Vous ne payez que pour les ressources que ces modules résolvent dans vos piles.
-
Les quotas CloudFormation, tels que le nombre maximal de ressources autorisé dans une pile ou la taille maximale du corps du modèle, s'appliquent au modèle traité, que les ressources incluses dans ce modèle proviennent ou non de modules. Pour de plus amples informations, consultez Compréhension des quotas CloudFormation.
-
Les balises que vous spécifiez au niveau de la pile sont affectées aux ressources individuelles dérivées du module.
-
Les scripts d'assistance spécifiés au niveau du module ne se propagent pas aux ressources individuelles contenues dans le module lorsque CloudFormation traite le modèle.
-
Les sorties spécifiées dans le module sont propagées aux sorties au niveau du modèle.
Chaque sortie se voit attribuer un ID logique qui est une concaténation du nom logique du module et du nom de sortie tel que défini dans le module. Pour de plus amples informations, consultez Obtenir les sorties exportées d’une pile CloudFormation déployée.
-
Les paramètres spécifiés dans le module ne sont pas propagés aux paramètres au niveau du modèle.
Toutefois, vous pouvez créer des paramètres au niveau du modèle qui font référence aux paramètres au niveau du module. Pour de plus amples informations, consultez Utilisez des paramètres pour spécifier les valeurs des modules.