AWS CDK 계층 가이드 - AWS 권장 가이드

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

AWS CDK 계층 가이드

Steven Guggenheimer, Amazon Web Services(AWS)

2023년 12월(문서 기록)

AWS Cloud Development Kit (AWS CDK) 이면의 기본 개념 중 하나는 추운 날씨에 몸을 따뜻하게 유지하는 것과 비슷합니다. 이 개념을 계층화라고 합니다. 추운 날씨에는 추위에 따라 셔츠, 자켓, 때로는 더 큰 자켓을 착용합니다. 그런 다음 실내로 들어갔을 때 히터가 세게 가동된 경우 너무 덥지 않도록 하나 또는 두 개의 자켓을 모두 벗을 수 있습니다. AWS CDK에서는 계층화를 사용하여 클라우드 구성 요소를 사용하기 위한 여러 수준의 추상화를 제공합니다. 계층화를 사용하면 코드형 인프라(IAC) 스택을 배포할 때 너무 많은 코드를 작성하거나 리소스 속성에 너무 적게 액세스하지 않아도 됩니다.

AWS CDK를 사용하지 않는 경우 AWS CloudFormation 템플릿을 직접 작성해야 합니다. 즉, 단일 계층만 활용하며 이 경우 일반적으로 필요한 것보다 훨씬 더 많은 코드를 작성해야 합니다. 반면 AWS CDK가 일반적으로 작성할 필요가 없는 CloudFormation의 모든 기능을 추상화하려는 경우 엣지 사례를 처리할 수 없습니다.

이 문제를 해결하기 위해 AWS CDK는 리소스 프로비저닝을 세 개의 개별 계층으로 분할합니다.

  • 계층 1 - CloudFormation 계층: CloudFormation 리소스와 AWS CDK 리소스가 거의 동일한 가장 기본적인 계층.

  • 계층 2 - 선별된 계층: CloudFormation 리소스가 프로그래밍 클래스로 추상화되어 이면의 표준 문안 CloudFormation 구문의 대부분을 간소화하는 계층. 이 계층은 대부분의 AWS CDK로 구성합니다.

  • 계층 3 - 패턴 계층: 계층 1 및 2에서 제공하는 구성 요소를 사용하여 특정 사용 사례에 맞게 코드를 사용자 지정할 수 있는 가장 추상화된 계층.

각 계층의 각 항목은 Construct라는 특수 AWS CDK 클래스의 인스턴스입니다. AWS 설명서에 따르면 구문은 'AWS CDK 앱의 기본 구성 요소입니다. 구문은 '클라우드 구성 요소'를 나타내며 AWS CloudFormation에서 구성 요소를 생성하는 데 필요한 모든 요소를 캡슐화합니다.' 이러한 계층 내 구문은 어떤 계층에 속하는지에 따라 L1, L2, L3 구문이라고 합니다. 이 가이드에서는 각 AWS CDK 계층을 살펴보고 이 계층의 용도와 왜 중요한지를 알아봅니다.

이 가이드는 AWS CDK 작업을 수행하는 핵심 개념에 대해 깊은 관심이 있는 기술 관리자, 리드 및 개발자를 대상으로 합니다. AWS CDK는 널리 사용되는 도구이지만, 흔히 팀에서 제공해야 할 것의 많은 부분을 놓치기 쉽습니다. 이 가이드에 설명된 개념을 이해하기 시작하면 완전히 새로운 가능성의 세계를 열리고 팀의 리소스 프로비저닝 프로세스를 최적화할 수 있습니다.

이 가이드에서는 다음 주제를 다룹니다.