Opciones de programación para definir productos en Service Catalog - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Opciones de programación para definir productos en Service Catalog

Dos opciones de programación para utilizar Service Catalog para aprovisionar AWS la infraestructura son CloudFormation las plantillas o la AWS CDK. Actualmente no hay mecanismos declarativos o sin código para definir un producto de Service Catalog.

CloudFormation creación de scripts

AWS CloudFormation es un lenguaje de secuencias de comandos nativo de IaC probado y verdadero para el aprovisionamiento de infraestructuras. AWS Puede desarrollar un CloudFormation script en el AWS Management Console o mediante una herramienta de desarrollo como Visual Studio Code (o un sencillo editor de texto) y el AWS Command Line Interface ().AWS CLI

Para obtener más información, consulte la Documentación de CloudFormation. Para obtener más información sobre el uso de una CloudFormation plantilla para especificar un producto de Service Catalog, consulte el AWS::ServiceCatalog::CloudFormationProduct recurso en la CloudFormation documentación.

Enfoque programático con AWS CDK

AWS CDK Proporciona un marco de programación orientado a objetos elegante y potente para definir y mantener la AWS infraestructura mediante el uso de una selección de lenguajes de programación. Puede usarlo AWS CDK para desarrollar personalizaciones y extensiones detalladas y orientadas a objetos para el marco de clases. AWS AWS CDK Es para usuarios que desean Servicios de AWS personalizarlas para satisfacer necesidades de infraestructura más sofisticadas y que tienen las habilidades y la experiencia de programación necesarias.

Para implementar soluciones de Service Catalog mediante AWS CDK, utilice las clases de Service Catalog integradas para definir sus productos y carteras. Estas clases las proporciona el módulo AWS CDK aws-cdk-lib.aws_servicecatalog.

Puede utilizarlos para implementar productos de muchas AWS CDK maneras. Para evitar tener que escribir la plantilla de aprovisionamiento de un producto CloudFormation y mantener la reutilización, le recomendamos que utilice la AWS CDK ProductStackclase para representar la plantilla de aprovisionamiento. Una ProductStack instancia es una AWS CDK pila a la que se añaden recursos mediante programación. Por ejemplo, puedes añadir un bucket de S3, funciones de IAM o un CloudWatch registro de Amazon. Cuando agregas la ProductStack instancia a una servicecatalog.CloudFormationProduct instancia definida como plantilla de aprovisionamiento mediante una llamadaservicecatalog.CloudFormationTemplate.fromProductStack (<ProductStack instance>), la plantilla AWS CDK se genera automáticamente. CloudFormation

Este es un ejemplo de la ProductStack implementación de Java para un producto de 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 Proporciona canalizaciones integradas de integración continua y despliegue continuo (CI/CD). Puede personalizar estos procesos integrados y los procesos del ciclo de vida del desarrollo de software (SDLC) para cumplir con sus propios estándares y objetivos de procesos.

AWS CDK Las clases personalizadas se pueden heredar de otras clases para proporcionar funciones especializadas, y una clase puede estar compuesta por instancias de otras clases. Si utiliza marcos de AWS CDK clase compartida para implementar varios productos de Service Catalog, tenga en cuenta cualquier implicación en materia de versiones o compatibilidad, especialmente en varios equipos de desarrollo. Deberá asegurarse de que los cambios son compatibles con versiones anteriores o de seguir un esquema de control de versiones para que los cambios de clase que realice para un producto no perjudiquen a otro producto.

Para obtener más información, consulte la Documentación de AWS CDK.