Opzioni di programmazione per la definizione dei prodotti in Service Catalog - AWS Guida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Opzioni di programmazione per la definizione dei prodotti in Service Catalog

Due opzioni di programmazione per utilizzare Service Catalog per il provisioningAWS dell'infrastruttura sono i CloudFormation modelli o ilAWS CDK. Attualmente non esistono meccanismi dichiarativi o privi di codice per definire un prodotto Service Catalog.

CloudFormation scrittura di script

AWS CloudFormationè un linguaggio di scripting nativo IaC collaudato per l'AWSinfrastruttura di provisioning. È possibile sviluppare uno CloudFormation script inAWS Management Console o utilizzando uno strumento di sviluppo come Visual Studio Code (o un semplice editor di testo) eAWS Command Line Interface (AWS CLI).

Per ulteriori informazioni, consulta la documentazione relativa ad CloudFormation. Per ulteriori informazioni sull'utilizzo di un CloudFormation modello per specificare un prodotto del Service Catalog, consulta la risorsaAWS::ServiceCatalog::CloudFormation Prodotto nella CloudFormation documentazione.

Approccio programmatico conAWS CDK

AWS CDKFornisce un elegante e potente framework di programmazione orientato agli oggetti per la definizione e la manutenzioneAWS dell'infrastruttura utilizzando una selezione di linguaggi di programmazione. È possibile utilizzarliAWS CDK per sviluppare personalizzazioni ed estensioni dettagliate e orientate agli oggetti al framework delleAWS classi. AWS CDKÈ destinato agli utenti che desiderano personalizzareServizi AWS per esigenze di infrastruttura più sofisticate e che hanno le competenze e l'esperienza di programmazione necessarie.

Per implementare soluzioni Service Catalog utilizzando leAWS CDK, utilizzate le classi integrate di Service Catalog per definire i prodotti e i portafogli. Queste classi sono fornite dal moduloAWS CDKaws-cdk-lib .aws_servicecatalog.

Puoi utilizzarliAWS CDK per implementare i prodotti in molti modi. Per evitare di dover scrivere il modello di provisioning per un prodotto CloudFormation e per mantenere la riutilizzabilità, si consiglia di utilizzare laAWS CDK ProductStackclasse per rappresentare il modello di provisioning. Un'ProductStackistanza è unoAWS CDK stack a cui si aggiungono risorse a livello di programmazione. Ad esempio, puoi aggiungere un bucket S3, un CloudWatch log Amazon. Quando si aggiunge l'ProductStackistanza a un'servicecatalog.CloudFormationProductistanza definita come modello di provisioning mediante chiamataservicecatalog.CloudFormationTemplate.fromProductStack (<ProductStack instance>), il CloudFormation modelloAWS CDK viene generato automaticamente.

Ecco un esempio diProductStack implementazione Java per un prodotto 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 CDKFornisce pipeline di integrazione continua e. È possibile personalizzare queste pipeline integrate e i processi del ciclo di vita dello sviluppo del software (SDLC) per soddisfare gli standard e gli obiettivi dei processi.

AWS CDKLe classi personalizzate possono ereditare da altre classi per fornire funzioni specializzate e una classe può essere composta da istanze di altre classi. Se utilizzi framework diAWS CDK classi condivise per implementare più prodotti Service Catalog, considera eventuali implicazioni relative al controllo delle versioni o alla compatibilità, in particolare tra più team di sviluppo. Dovrai assicurarti che le modifiche siano compatibili con le versioni precedenti o che venga seguito uno schema di versione in modo che le modifiche di classe apportate per un prodotto non danneggino un altro prodotto.

Per ulteriori informazioni, consulta la documentazione relativa ad AWS CDK.