Un produit est un ensemble de ressources cloud AWS que vous souhaitez mettre à disposition pour un déploiement sur AWS. Il peut comprendre une ou plusieurs ressources AWS, telles que des instances, volumes de stockage, bases de données, configurations de surveillance et composants de mise en réseau EC2, ou des produits AWS Marketplace prêts à l'emploi. Il peut s'agir, entre autres, d'une instance de calcul unique fonctionnant sous AWS Linux, une application Web à plusieurs niveaux entièrement configurée et s'exécutant dans son propre environnement. À l'aide d'AWS Service Catalog, vous pouvez créer des produits de différentes manières, notamment des modèles AWS CloudFormation ou des configurations Terraform. Ces gabarits déterminent les ressources AWS nécessaires pour le produit, les relations entre les ressources, et les paramètres que l'utilisateur final peut installer lorsqu'il lance le produit afin de configurer des groupes de sécurité, de créer des paires de clés ou de procéder à d'autres personnalisations.
Les produits AWS Service Catalog sont soit des produits de type AWS CloudFormation, soit des produits de type Terraform open source ou des produits Terraform Cloud. Les produits de type AWS CloudFormation sont lancés sous la forme d'une pile AWS CloudFormation, qui est un ensemble de ressources mis en service pour cette instance du produit. Pour les produits de type Terraform open source et Terraform Cloud, les ressources sous-jacentes sont stockées et étiquetées dans AWS Resource Groups. Les piles AWS CloudFormation et AWS Resource Groups.facilitent la gestion du cycle de vie de votre produit en vous permettant de mettre en service, d'ajouter une balise, de mettre à jour et d'interrompre l'instance de votre produit en tant qu'unité unique.
Un portefeuille est un ensemble de produits, accompagné d'informations de configuration. Les portefeuilles vous permettent de gérer la configuration des produits et de contrôler qui peut utiliser un produit en particulier et de quelle façon. Avec AWS Service Catalog, vous pouvez créer un portefeuille personnalisé pour chaque type d'utilisateur dans votre entreprise et accorder de façon sélective l'accès au portefeuille approprié. Lorsque vous ajoutez une nouvelle version d'un produit à un portefeuille, cette version est automatiquement mise à la disposition de tous les utilisateurs actuels du portefeuille en question. Vous pouvez également partager vos portefeuilles avec d'autres comptes AWS et autoriser l'administrateur de ces comptes à distribuer vos portefeuilles avec des contraintes supplémentaires. Par exemple, pour les développeurs, vous pouvez définir un portefeuille d'environnements de développement, comme une stack LAMP dotée des versions approuvées que les utilisateurs peuvent utiliser pour développer et tester leurs logiciels. Vous pouvez aussi déterminer un portefeuille pour les entreprises marketing qui comprennent des sites Web de campagnes et des applications d'analyse du marché. Un portefeuille peut contenir une combinaison de produits de différents types, notamment des produits de type AWS CloudFormation ou des produits de type open Terraform source, et des produits de type Terraform Cloud.
AWS Service Catalog vous permet de gérer plusieurs versions des produits dans votre catalogue. Vous pouvez ainsi ajouter les nouvelles versions des gabarits et des ressources associées en fonction des mises à jour logicielles ou des modifications au niveau de la configuration. Lorsque vous créez une nouvelle version d'un produit, la mise à jour est automatiquement distribuée à tous les utilisateurs ayant accès au produit, ce qui leur permet de sélectionner la version du produit à utiliser. Les utilisateurs peuvent rapidement et facilement mettre à jour des instances du produit en cours d'exécution vers la nouvelle version.
Accorder l'accès à un portefeuille à un utilisateur permet à l'utilisateur en question de parcourir le portefeuille et de lancer les produits y figurant. Appliquez des autorisations Gestion des identités et des accès AWS (IAM) afin de contrôler qui peut consulter et modifier vos produits et portefeuilles. Les autorisations IAM peuvent être attribuées à des utilisateurs, groupes et rôles IAM. Lorsqu'un utilisateur lance un produit auquel un rôle IAM a été attribué, AWS Service Catalog utilise le rôle pour lancer les ressources cloud du produit. En attribuant un rôle IAM à chaque produit, vous évitez ainsi d'accorder aux utilisateurs le droit d'effectuer des opérations non approuvées et leur permettez de mettre en service des ressources à l'aide du catalogue.
Les contraintes limitent les modalités de déploiement de ressources AWS spécifiques pour un produit. Vous pouvez les utiliser pour appliquer des limites aux produits à des fins de contrôle de la gouvernance ou des coûts. Il existe deux types de contraintes : au niveau du gabarit et au niveau du lancement. Les contraintes au niveau du gabarit limitent les paramètres de configuration mis à la disposition de l'utilisateur lors du lancement du produit (par exemple, les types d'instance EC2 ou les plages d'adresses IP). Les contraintes de modèles vous permettent de réutiliser des modèles d'infrastructure en tant que code (IaC) générique pour les produits et d'appliquer des restrictions aux modèles pour chaque produit ou portefeuille. Les contraintes au niveau du lancement vous permettent de spécifier un rôle pour un produit au sein d'un portefeuille. Ce rôle est utilisé pour mettre en service des ressources au lancement, vous pouvez donc limiter les autorisations d'un utilisateur sans compromettre sa capacité à acquérir des produits depuis le catalogue. Par exemple, vous pouvez permettre aux utilisateurs marketing de créer des sites Web de campagnes, mais utiliser des contraintes afin de limiter leur accès pour mettre en service les bases de données sous-jacentes. Les contraintes de lancement sont prises en charge pour les produits open source Terraform et de type Terraform Cloud. Les contraintes de modèle ne sont pas encore disponibles pour les produits de type Terraform open source et Terraform Cloud.
Grâce aux actions de service, vous pouvez permettre aux utilisateurs finaux d'effectuer des tâches opérationnelles, de résoudre des problèmes, d'exécuter des commandes approuvées ou de demander des autorisations dans le catalogue de services AWS sur vos produits fournis, sans avoir besoin d'accorder aux utilisateurs finaux un accès complet aux services AWS. Vous utilisez des documents AWS Systems Manager pour définir les actions de service. Les documents AWS Systems Manager donnent accès à des actions prédéfinies qui mettent en œuvre les bonnes pratiques AWS, telles que l’arrêt et le redémarrage d’Amazon EC2, ou vous pouvez définir des actions personnalisées. Les actions de service ne sont pas encore disponibles pour les produits Terraform open source et Terraform Cloud.
Les créateurs peuvent définir leurs applications dans le Service Catalog AppRegistry en fournissant un nom, une description, des associations à des métadonnées d'application et des associations à des piles CloudFormation. Les groupes d'attributs associés représentent les métadonnées que votre entreprise crée et gère pour l'application. Les piles CloudFormation associées représentent les ressources AWS associées à l'application. Il peut s'agir de l'infrastructure requise dans un environnement unique, ou cela peut inclure les référentiels de code et de pipelines qui prennent en charge l'application dans tous les environnements. Des piles CloudFormation existantes ou nouvelles peuvent être associées à des applications. Des piles peuvent être associées à des applications dans le modèle lui-même, ce qui automatise l'association d'applications lors du provisionnement.
Votre entreprise crée et gère des attributs qui capturent les métadonnées d'application qui sont importantes pour elle. Les attributs d'application prennent en charge un schéma JSON ouvert, ce qui vous donne la flexibilité nécessaire pour saisir la complexité de la taxonomie des métadonnées de votre entreprise. Les attributs d'application peuvent inclure des éléments tels que la classification de sécurité de l'application, la propriété de l'organisation, le type d'application, le centre de coûts et les informations d'assistance. Les créateurs associent les attributs nécessaires à leurs applications. Lorsque les attributs sont mis à jour, cela se reflète automatiquement dans toutes les applications associées.