Service Catalog에서 제품을 정의하기 위한 프로그래밍 옵션 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Service Catalog에서 제품을 정의하기 위한 프로그래밍 옵션

Service Catalog를 사용하여 AWS 인프라를 프로비저닝하기 위한 두 가지 프로그래밍 옵션은 CloudFormation 템플릿 또는 입니다 AWS CDK. 현재 Service Catalog 제품을 정의하기 위한 선언적 또는 코드 없음 메커니즘은 없습니다.

CloudFormation 스크립팅

AWS CloudFormation 는 인프라를 프로비저닝하기 AWS 위해 시도된 진정한 IaC 네이티브 스크립팅 언어입니다. 에서 AWS Management Console 또는 Visual Studio Code(또는 간단한 텍스트 편집기) 및 ()와 같은 개발 도구를 사용하여 CloudFormation 스크립트를 개발할 수 있습니다 AWS Command Line Interface AWS CLI.

자세한 내용은 CloudFormation 설명서를 참조하세요. CloudFormation 템플릿을 사용하여 Service Catalog 제품을 지정하는 방법에 대한 자세한 내용은 CloudFormation 설명서의 AWS::ServiceCatalog::CloudFormationProduct 리소스를 참조하세요. CloudFormation

를 사용한 프로그래밍 방식 AWS CDK

는 다양한 프로그래밍 언어를 사용하여 AWS 인프라를 정의하고 유지하기 위한 우아하면서도 강력한 객체 지향 프로그래밍 프레임워크를 AWS CDK 제공합니다. AWS CDK 를 사용하여 객체 지향적이고 세분화된 사용자 지정 및 AWS 클래스 프레임워크 확장을 개발할 수 있습니다. AWS CDK 는 보다 정교한 인프라 요구 AWS 서비스 사항에 맞게 사용자 지정하고 필요한 프로그래밍 기술과 경험을 갖춘 사용자를 위한 것입니다.

를 사용하여 Service Catalog 솔루션을 구현하려면 기본 제공 Service Catalog 클래스를 AWS CDK사용하여 제품 및 포트폴리오를 정의합니다. 이러한 클래스는 AWS CDK theaws-cdk-lib.aws_servicecatalog 모듈에서 제공합니다.

를 사용하여 다양한 방식으로 제품을 구현 AWS CDK 할 수 있습니다. CloudFormation에서 제품에 대한 프로비저닝 템플릿을 작성하고 재사용성을 유지하려면 AWS CDK ProductStack 클래스를 사용하여 프로비저닝 템플릿을 나타내는 것이 좋습니다. ProductStack 인스턴스는 프로그래밍 방식으로 리소스를 추가하는 AWS CDK 스택입니다. 예를 들어 S3 버킷, IAM 역할 또는 Amazon CloudWatch 로그를 추가할 수 있습니다. 를 호출하여 정의된 servicecatalog.CloudFormationProduct 인스턴스에 ProductStack 인스턴스를 프로비저닝 템플릿으로 추가하면가 CloudFormation 템플릿을 servicecatalog.CloudFormationTemplate.fromProductStack (<ProductStack instance>) AWS CDK 자동으로 생성합니다.

다음은 Amazon S3 제품에 대한 Java ProductStack 구현의 예입니다.

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')), }, ], });

는 내장형 지속적 통합 및 지속적 배포(CI/CD) 파이프라인을 AWS CDK 제공합니다. 이러한 기본 제공 파이프라인 및 소프트웨어 개발 수명 주기(SDLC) 프로세스를 사용자 지정하여 자체 프로세스 표준 및 목표를 충족할 수 있습니다.

사용자 지정 AWS CDK 클래스는 다른 클래스에서 상속하여 특수 함수를 제공할 수 있으며 클래스는 다른 클래스의 인스턴스로 구성될 수 있습니다. 공유 AWS CDK 클래스 프레임워크를 사용하여 여러 Service Catalog 제품을 구현하는 경우 특히 여러 개발 팀에서 버전 관리 또는 호환성에 미치는 영향을 고려하세요. 변경 사항이 이전 버전과 호환되는지 또는 한 제품의 클래스 변경으로 인해 다른 제품이 중단되지 않도록 버전 관리 체계를 따르고 있는지 확인해야 합니다.

자세한 내용은 AWS CDK 설명서를 참조하십시오.