1. 구성 (또는 초기화)
코드에서 정의된 모든 구문을 인스턴스화하고 연결합니다. 이 단계에서는 앱, 스택, 하위 구문 등 모든 구문이 인스턴스화되며 생성자 체인이 실행됩니다. 대부분의 앱 코드는 이 단계에서 실행됩니다.
2. 준비
prepare 메서드를 구현한 모든 구문은 최종 수정 단계를 거쳐 최종 상태로 설정됩니다. 준비 단계는 자동으로 진행됩니다. 사용자는 이 단계에서 피드백을 볼 수 없습니다. “prepare” 후크를 사용할 필요는 거의 없으며 일반적으로 권장되지 않습니다. 이 단계에서 구문 트리를 변경할 때는 작업 순서가 동작에 영향을 줄 수 있으므로 매우 주의해야 합니다.
3. 유효성 검사
validate 메서드를 구현한 모든 구문은 자체 유효성을 검사하여 올바르게 배포될 수 있는 상태인지 확인합니다. 이 단계에서 발생하는 모든 검증 실패에 대한 알림을 받게 됩니다. 일반적으로 가능한 한 빨리 (보통 입력이 들어오는 즉시) 검증을 수행하고 가능한 한 빨리 예외를 발생시키는 것이 좋습니다. 검증을 조기에 수행하면 스택 추적이 더 정확해지기 때문에 안정성이 향상되고 코드가 안전하게 계속 실행될 수 있습니다.
4. 합성
합성 단계는 AWS CDK 앱 실행의 마지막 단계입니다. app.synth() 호출에 의해 트리거되며, 구문 트리를 탐색하고 모든 구문에서 synthesize 메서드를 호출합니다. 구현된 구문은 합성에 참여하여 결과 클라우드 어셈블리에 배포 아티팩트를 내보낼 수 있습니다. 이러한 아티팩트에는 AWS CloudFormation 템플릿, AWS Lambda 애플리케이션 번들, 파일 및 Docker 이미지 자산, 기타 배포 아티팩트가 포함됩니다. 클라우드 어셈블리는 이 단계의 출력을 설명합니다. 대부분의 경우 synthesize 메서드를 구현할 필요는 없습니다.
5. 배포
이 단계에서는 합성 단계에서 생성된 배포 아티팩트(클라우드 어셈블리)를 AWS CDK 도구가 가져와 AWS 환경에 배포합니다. 자산을 Amazon S3와 Amazon ECR 또는 필요한 곳에 업로드한 다음, AWS CloudFormation 배포를 시작하여 애플리케이션을 배포하고 리소스를 생성합니다.
https://docs.aws.amazon.com/ko_kr/cdk/v2/guide/apps.html#lifecycle