As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Opções de programação para definir produtos no Service Catalog
Duas opções de programação para usar o Service Catalog para provisionar a AWS infraestrutura são CloudFormation modelos ou AWS CDK o. Atualmente, não há mecanismos declarativos ou sem código para definir um produto do Service Catalog.
CloudFormation criação de scripts
AWS CloudFormation é uma linguagem de script nativa de IaC testada e comprovada para infraestrutura de provisionamento AWS . Você pode desenvolver um CloudFormation script no AWS Management Console ou usando uma ferramenta de desenvolvimento como o Visual Studio Code (ou um editor de texto simples) e o AWS Command Line Interface (AWS CLI).
Para obter mais informações, consulte a documentação do CloudFormation. Para obter mais informações sobre o uso CloudFormation de um modelo para especificar um produto do Service Catalog, consulte o AWS::ServiceCatalog::CloudFormationProduct recurso na CloudFormation documentação.
Abordagem programática com o AWS CDK
O AWS CDK fornece uma estrutura de programação orientada a objetos elegante e poderosa para definir e manter a AWS infraestrutura usando uma seleção de linguagens de programação. Você pode usar o AWS CDK para desenvolver personalizações e extensões refinadas e orientadas a objetos para a estrutura de classes. AWS AWS CDK É para usuários que desejam personalizar Serviços da AWS para necessidades de infraestrutura mais sofisticadas e que têm as habilidades e a experiência de programação necessárias.
Para implementar soluções do Service Catalog usando o AWS CDK, você usa as classes integradas do Service Catalog para definir seus produtos e portfólios. Essas classes são fornecidas pelo módulo AWS CDK aws-cdk-lib.aws_servicecatalog.
Você pode usar o AWS CDK para implementar produtos de várias maneiras. Para evitar a necessidade de escrever o modelo de aprovisionamento de um produto CloudFormation e manter a reutilização, recomendamos que você use a AWS CDK ProductStackclasse para representar o modelo de aprovisionamento. Uma ProductStack
instância é uma AWS CDK pilha à qual você adiciona recursos de forma programática. Por exemplo, você pode adicionar um bucket do S3, funções do IAM ou um CloudWatch log da Amazon. Quando você adiciona a ProductStack
instância a uma servicecatalog.CloudFormationProduct
instância definida como seu modelo de provisionamento por meio de uma chamadaservicecatalog.CloudFormationTemplate.fromProductStack
(<ProductStack instance>)
, o modelo é gerado AWS CDK automaticamente. CloudFormation
Aqui está um exemplo da ProductStack
implementação de Java para um produto 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 Ele fornece pipelines integrados de integração contínua e implantação contínua (CI/CD). Você pode personalizar esses pipelines integrados e os processos do ciclo de vida de desenvolvimento de software (SDLC) para atender aos seus próprios padrões e objetivos de processo.
AWS CDK As classes personalizadas podem herdar de outras classes para fornecer funções especializadas, e uma classe pode ser composta de instâncias de outras classes. Se você usa estruturas de AWS CDK classes compartilhadas para implementar vários produtos do Service Catalog, considere quaisquer implicações de controle de versão ou compatibilidade, especialmente em várias equipes de desenvolvimento. Você precisará garantir que as alterações sejam compatíveis com versões anteriores ou que tenha um esquema de controle de versão que esteja sendo seguido para que as alterações de classe feitas em um produto não prejudiquem outro produto.
Para obter mais informações, consulte a documentação do AWS CDK.