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.
Options de programmation pour définir les produits dans Service Catalog
Deux options de programmation permettant d'utiliser Service Catalog pour provisionner AWS l'infrastructure sont les CloudFormation modèles ou le AWS CDK. Il n'existe actuellement aucun mécanisme déclaratif ou sans code pour définir un produit Service Catalog.
CloudFormation écriture de scripts
AWS CloudFormation est un langage de script natif IaC éprouvé pour le provisionnement AWS de l'infrastructure. Vous pouvez développer un CloudFormation script dans AWS Management Console ou à l'aide d'un outil de développement tel que Visual Studio Code (ou un simple éditeur de texte) et le AWS Command Line Interface (AWS CLI).
Pour plus d’informations, consultez la documentation CloudFormation. Pour plus d'informations sur l'utilisation d'un CloudFormation modèle pour spécifier un produit Service Catalog, consultez la AWS::ServiceCatalog::CloudFormationProduct ressource dans la CloudFormation documentation.
Approche programmatique avec le AWS CDK
AWS CDK Il fournit un cadre de programmation orienté objet élégant et puissant pour définir et maintenir l' AWS infrastructure en utilisant une sélection de langages de programmation. Vous pouvez utiliser le AWS CDK pour développer des personnalisations et des extensions précises et orientées objet pour le cadre de classes. AWS AWS CDK Il s'adresse aux utilisateurs qui souhaitent personnaliser leur infrastructure Services AWS pour répondre à des besoins d'infrastructure plus sophistiqués et qui possèdent les compétences et l'expérience de programmation requises.
Pour implémenter des solutions Service Catalog à l'aide de AWS CDK, vous utilisez les classes Service Catalog intégrées pour définir vos produits et portefeuilles. Ces classes sont fournies par le module AWS CDK aws-cdk-lib.aws_servicecatalog.
Vous pouvez utiliser le AWS CDK pour implémenter des produits de nombreuses manières. Pour éviter d'avoir à écrire le modèle de provisionnement d'un produit CloudFormation et pour garantir la réutilisabilité, nous vous recommandons d'utiliser la AWS CDK ProductStackclasse pour représenter le modèle de provisionnement. Une ProductStack
instance est une AWS CDK pile à laquelle vous ajoutez des ressources par programmation. Par exemple, vous pouvez ajouter un compartiment S3, des rôles IAM ou un CloudWatch journal Amazon. Lorsque vous ajoutez l'ProductStack
instance à une servicecatalog.CloudFormationProduct
instance définie en tant que modèle de provisionnement en appelantservicecatalog.CloudFormationTemplate.fromProductStack
(<ProductStack instance>)
, le modèle génère AWS CDK automatiquement le CloudFormation modèle.
Voici un exemple d'ProductStack
implémentation Java pour un produit Amazon S3.
import * as s3 from 'aws-cdk-lib/aws-s3'; import * as cdk from 'aws-cdk-lib'; class S3BucketProduct extends servicecatalog.ProductStack { constructor(scope: Construct, id: string) { super(scope, id); new s3.Bucket(this, 'BucketProduct'); } } const product = new servicecatalog.CloudFormationProduct(this, 'Product', { productName: "My Product", owner: "Product Owner", productVersions: [ { productVersionName: "v1", cloudFormationTemplate: servicecatalog.CloudFormationTemplate.fromProductStack(new S3BucketProduct(this, 'S3BucketProduct')), }, ], });
AWS CDK Il fournit des pipelines intégrés d'intégration continue et de déploiement continu (CI/CD). Vous pouvez personnaliser ces pipelines intégrés et ces processus de cycle de vie du développement logiciel (SDLC) pour répondre à vos propres normes et objectifs en matière de processus.
AWS CDK Les classes personnalisées peuvent hériter d'autres classes pour fournir des fonctions spécialisées, et une classe peut être composée d'instances d'autres classes. Si vous utilisez des structures de AWS CDK classes partagées pour implémenter plusieurs produits Service Catalog, prenez en compte les implications en termes de version ou de compatibilité, en particulier au sein de plusieurs équipes de développement. Vous devrez vous assurer que les modifications sont rétrocompatibles ou que vous disposez d'un schéma de version qui est suivi afin que les modifications de classe que vous apportez à un produit ne nuisent pas à un autre produit.
Pour plus d’informations, consultez la documentation AWS CDK.