Support pour la modularité et la réutilisation du code - AWS Directives prescriptives

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.

Support pour la modularité et la réutilisation du code

Vous pouvez assembler un produit à partir de nombreuses AWS ressources différentes ou même d'autres produits. Idéalement, vous définissez les ressources de manière modulaire afin de pouvoir les réutiliser dans plusieurs produits. La réutilisation au niveau des ressources vous permet d'apporter les modifications futures en un seul endroit plutôt que sur tous les produits utilisant ce type de ressource.

Service Catalog fournit une fonctionnalité appelée chaînage pour favoriser la réutilisabilité au niveau du produit. Vous pouvez associer un produit à un ou plusieurs autres produits. Par exemple, vous souhaiterez peut-être associer un produit de compartiment de journalisation S3 à un produit de surveillance de niveau supérieur. Bien que le chaînage favorise la modularité, il impose certaines complexités opérationnelles car vous devez gérer les dépendances. Service Catalog ne gère pas automatiquement la gestion des versions entre les produits chaînés. Il ne peut donc pas garantir que les modifications apportées à un produit ne nuisent pas aux autres produits qui en dépendent. Utilisez le chaînage avec prudence et développez vos propres mécanismes pour garantir le versionnement et maintenir les dépendances.

Service Catalog l'utilise CloudFormation nativement pour déployer un modèle de provisionnement de produit sous forme de stack. CloudFormation Service Catalog impose toutefois certaines limites au CloudFormation déploiement de la pile de produits. En particulier, le provisionnement du Service Catalog ne prend pas en charge la CloudFormation include macro permettant d'insérer des segments de script réutilisables ou de référencer des CloudFormation scripts imbriqués (ou des piles) à plusieurs niveaux. Ces restrictions du Service Catalog limitent la possibilité de définir des produits à partir de CloudFormation modèles ou de composants réutilisables, ce qui est une bonne pratique standard lorsque vous définissez des piles de manière native dans. CloudFormation

Note

Service Catalog vous permet de définir avec succès des produits à l'aide de modèles de provisionnement utilisant ces CloudFormation structures. Toutefois, vous risquez de rencontrer des erreurs de mise en service si vous utilisez la include macro ou si vous imbriquez plusieurs niveaux de scripts dans un modèle de Service Catalog CloudFormation .

Ces restrictions peuvent rendre difficile l'implémentation de produits modulaires et réutilisables dans Service Catalog. Si la modularité est une exigence, vous pouvez envisager d'utiliser le AWS CDK pour implémenter vos produits et leurs modèles de provisionnement, ou d'utiliser les flux de travail et le moteur de provisionnement dans le projet Labs Service AWS Catalog Tools. Les deux alternatives sont décrites plus loin dans ce guide.