모듈화 및 코드 재사용 지원 - AWS 권장 가이드

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

모듈화 및 코드 재사용 지원

다양한 AWS 리소스 또는 다른 제품에서 제품을 조합할 수 있습니다. 여러 제품에 재사용할 수 있도록 리소스를 모듈식으로 정의하는 것이 가장 좋습니다. 리소스 수준 재사용을 사용하면 해당 리소스 유형을 사용하는 모든 제품에서가 아니라 향후 한 곳에서 변경할 수 있습니다.

Service Catalog는 제품 수준에서 재사용성을 지원하는 체인링이라는 기능을 제공합니다. 제품을 하나 이상의 다른 제품에 연결할 수 있습니다. 예를 들어, S3 로깅 버킷 제품을 상위 수준 모니터링 제품에 연결할 수 있습니다. 연결은 모듈성을 지원하지만 종속성을 관리해야 하므로 운영 복잡성이 발생합니다. Service Catalog는 체인 제품 간 버전 관리를 자동으로 유지하지 않으므로 한 제품에 대한 변경 사항이 종속된 다른 제품을 손상시키지 않도록 보장할 수 없습니다. 신중하게 체인을 사용하고 종속성의 버전 관리 및 유지 관리를 위한 자체 메커니즘을 개발합니다.

Service Catalog는 기본적으로 CloudFormation을 사용하여 제품 프로비저닝 템플릿을 CloudFormation 스택으로 배포합니다. 그러나 Service Catalog는 제품 스택의 CloudFormation 배포에 몇 가지 제한을 적용합니다. 특히 Service Catalog 프로비저닝은 재사용 가능한 스크립트 세그먼트를 삽입하거나 중첩된 CloudFormation 스크립트(또는 스택)를 둘 이상의 수준으로 참조하기 위한 CloudFormation include 매크로를 지원하지 않습니다. 이러한 서비스 카탈로그 제한은 재사용 가능한 CloudFormation 템플릿 또는 구성 요소에서 제품을 정의하는 기능을 제한합니다. 이는 CloudFormation에서 스택을 기본적으로 정의할 때 표준 모범 사례입니다.

참고

Service Catalog를 사용하면 이러한 CloudFormation 구문을 사용하는 프로비저닝 템플릿을 사용하여 제품을 성공적으로 정의할 수 있습니다. 그러나 서비스 카탈로그 CloudFormation 템플릿에서 include 매크로를 사용하거나 여러 수준의 스크립트를 중첩하면 프로비저닝 시간 오류가 발생합니다.

이러한 제한으로 인해 Service Catalog에서 재사용 가능한 모듈식 제품을 구현하는 것이 어려울 수 있습니다. 모듈성이 필요한 경우 를 사용하여 AWS CDK 제품 및 프로비저닝 템플릿을 구현하거나 AWS Labs Service Catalog Tools 프로젝트에서 프로비저닝 워크플로 및 엔진을 사용할 수 있습니다. 두 가지 대안 모두이 가이드의 뒷부분에 설명되어 있습니다.