

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

# AWS CDK 계층 가이드
<a name="introduction"></a>

*Steven Guggenheimer, Amazon Web Services(AWS)*

*2023년 12월*([문서 기록](doc-history.md))

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

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

이 문제를 해결하기 위해 AWS CDK는 리소스 프로비저닝을 세 개의 개별 계층으로 분할합니다.
+ **계층 1** - *CloudFormation 계층*: CloudFormation 리소스와 AWS CDK 리소스가 거의 동일한 가장 기본적인 계층.
+ **계층 2** - *선별된 계층*: CloudFormation 리소스가 프로그래밍 클래스로 추상화되어 이면의 표준 문안 CloudFormation 구문의 대부분을 간소화하는 계층. 이 계층은 대부분의 AWS CDK로 구성합니다.
+ **계층 3** - *패턴 계층*: 계층 1 및 2에서 제공하는 구성 요소를 사용하여 특정 사용 사례에 맞게 코드를 사용자 지정할 수 있는 가장 추상화된 계층.

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

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

**이 가이드에서는 다음 주제를 다룹니다.**
+ [계층 1 구문](layer-1.md)
+ [계층 2 구문](layer-2.md)
+ [계층 3 구문](layer-3.md)
+ [ Best practices](best-practices.md)
+ [ FAQ](faq.md)
+ [리소스](resources.md)\*