

# CloudFormation 스택 생성 이벤트 이해
<a name="stack-resource-configuration-complete"></a>

스택 배포 중에 스택 템플릿에 정의된 리소스를 생성, 구성 및 검증하는 여러 이벤트가 발생합니다. 이러한 이벤트를 이해하면 스택 생성 프로세스를 최적화하고 배포를 간소화하는 데 도움이 될 수 있습니다.
+ **리소스 생성 프로세스** – 각 리소스에서 생성 프로세스가 시작되면 `CREATE_IN_PROGRESS` 이벤트의 **상태**가 설정됩니다. 이 이벤트는 리소스가 프로비저닝되고 있다는 것을 나타냅니다.
+ **최종 일관성 검사** – 스택에서 생성된 리소스에 대한 최종 일관성 검사를 수행하는 데 스택 생성 시간의 상당 부분이 소요됩니다. 이 단계에서 서비스는 내부 일관성 검사를 수행하여 리소스가 완전히 작동하고 각 AWS 서비스에서 정의한 서비스 안정화 기준을 충족하는지 확인합니다.
+ **구성 완료 이벤트** – 각 리소스가 프로비저닝의 최종 일관성 검사 단계를 마치면 `CONFIGURATION_COMPLETE` 이벤트의 **세부 상태**가 설정됩니다.
+ **리소스 생성 완료 이벤트** – 지정된 대로 리소스가 생성 및 구성된 후 구성이 템플릿에 지정된 구성과 일치하면 `CREATE_COMPLETE` 이벤트의 **상태**가 설정됩니다.

사전 프로덕션 스택 구성 또는 스택 간 프로비저닝의 검증과 같이 리소스 최종 일관성 검사가 필요하지 않은 시나리오에서 `CONFIGURATION_COMPLETE` 이벤트를 활용하여 스택 생성 프로세스를 간소화할 수 있습니다. 이 이벤트는 여러 방법으로 사용할 수 있습니다. 예를 들어 리소스 또는 스택 일관성 검사가 완료될 때까지 기다리지 않아도 된다는 시각적 신호로 사용할 수 있습니다. 또는 지속적 통합 및 지속적 전달(CI/CD)을 사용하여 추가 작업을 트리거하는 자동 메커니즘을 생성할 수 있습니다.

**중요**  
`CONFIGURATION_COMPLETE` 이벤트를 활용하면 스택 생성 시간이 가속화되지만 그에 따른 장단점을 염두에 두어야 합니다. 첫째, 드리프트 감지를 지원하는 리소스 유형의 하위 집합에 대해서만 지원됩니다. 드리프트 감지를 지원하는 리소스 유형 목록은 [리소스 유형 지원](resource-import-supported-resources.md) 섹션을 참조하세요. 이 접근 방식은 일부 시나리오에 적합하지 않을 수 있습니다. 특히 클라우드 환경(예: 프로덕션 환경) 전반에서 완전한 운영 준비 상태를 보장하기 위해 리소스에 대한 철저한 최종 일관성 검사가 필요한 경우에 그렇습니다. 배포 요구 사항과 각 리소스에 대한 일관성 검사의 중요도를 신중하게 평가하는 것이 좋습니다. `CONFIGURATION_COMPLETE` 이벤트를 사용하여 인프라의 무결성과 신뢰성을 저해하지 않고 배포 속도를 최적합니다.   
`CONFIGURATION_COMPLETE` 이벤트 설정이 보장되지느 않으므로 이벤트를 사용하는 모든 시나리오에서 `CONFIGURATION_COMPLETE` 이벤트가 설정되지 않았을 때 `CREATE_COMPLETE` 이벤트를 처리할 수 있도록 준비해야 합니다.

![\[스택에서 리소스 생성 및 최종 일관성 검사를 위한 이벤트 시퀀스를 보여주는 다이어그램.\]](http://docs.aws.amazon.com/ko_kr/AWSCloudFormation/latest/UserGuide/images/configuration-complete.png)


스택 배포가 시작되면 `AWS::ECR::Repository` 및 `AWS::ECS::Cluster` 리소스 모두에서 생성 프로세스가 시작됩니다(`ResourceStatus` = `CREATE_IN_PROGRESS`). `AWS::ECR::Repository` 리소스 유형이 최종 일관성 검사를 시작하면(`DetailedStatus` = `CONFIGURATION_COMPLETE`) `AWS::ECS::TaskDefinition` 리소스가 생성 프로세스를 시작할 수 있습니다. 마찬가지로 `AWS::ECS::TaskDefinition` 리소스가 최종 일관성 검사를 시작하면 `AWS::ECS::Service` 리소스에서 생성 프로세스가 시작됩니다.

**`CREATE_IN_PROGRESS` 및 `CREATE_COMPLETE` 이벤트**
+ **[스택]:** `CREATE_IN_PROGRESS`
+ **[리소스]:** ECR 리포지토리 `CREATE_IN_PROGRESS`
+ **[리소스]:** ECS 클러스터 `CREATE_IN_PROGRESS`
+ **[리소스]:** ECR 리포지토리 `CREATE_IN_PROGRESS`, `CONFIGURATION_COMPLETE` 
+ **[리소스]:** ECS 작업 정의 `CREATE_IN_PROGRESS`
+ **[리소스]:** ECS 클러스터 `CREATE_IN_PROGRESS`, `CONFIGURATION_COMPLETE` 
+ **[리소스]:** ECS 작업 정의 `CREATE_IN_PROGRESS`, `CONFIGURATION_COMPLETE` 
+ **[리소스]:** ECS 서비스 `CREATE_IN_PROGRESS`
+ **[리소스]:** ECR 리포지토리 `CREATE_COMPLETE`
+ **[리소스]:** ECS 클러스터 `CREATE_COMPLETE`
+ **[리소스]:** ECS 서비스 `CREATE_IN_PROGRESS`, `CONFIGURATION_COMPLETE` 
+ **[스택]:** `CREATE_IN_PROGRESS`, `CONFIGURATION_COMPLETE` 
+ **[리소스]:** ECS 작업 정의 `CREATE_COMPLETE`
+ **[리소스]:** ECS 서비스 `CREATE_COMPLETE`
+ **[스택]:** `CREATE_COMPLETE`