CloudFormation 스택 생성 이벤트 이해
스택 배포 중에 스택 템플릿에 정의된 리소스를 생성, 구성 및 검증하는 여러 이벤트가 발생합니다. 이러한 이벤트를 이해하면 스택 생성 프로세스를 최적화하고 배포를 간소화하는 데 도움이 될 수 있습니다.
-
리소스 생성 프로세스 – 각 리소스에서 생성 프로세스가 시작되면
CREATE_IN_PROGRESS
이벤트의 상태가 설정됩니다. 이 이벤트는 리소스가 프로비저닝되고 있다는 것을 나타냅니다. -
최종 일관성 검사 – 스택에서 생성된 리소스에 대한 최종 일관성 검사를 수행하는 데 스택 생성 시간의 상당 부분이 소요됩니다. 이 단계에서 서비스는 내부 일관성 검사를 수행하여 리소스가 완전히 작동하고 각 AWS 서비스에서 정의한 서비스 안정화 기준을 충족하는지 확인합니다.
-
구성 완료 이벤트 – 각 리소스가 프로비저닝의 최종 일관성 검사 단계를 마치면
CONFIGURATION_COMPLETE
이벤트의 세부 상태가 설정됩니다. -
리소스 생성 완료 이벤트 – 지정된 대로 리소스가 생성 및 구성된 후 구성이 템플릿에 지정된 구성과 일치하면
CREATE_COMPLETE
이벤트의 상태가 설정됩니다.
사전 프로덕션 스택 구성 또는 스택 간 프로비저닝의 검증과 같이 리소스 최종 일관성 검사가 필요하지 않은 시나리오에서 CONFIGURATION_COMPLETE
이벤트를 활용하여 스택 생성 프로세스를 간소화할 수 있습니다. 이 이벤트는 여러 방법으로 사용할 수 있습니다. 예를 들어 리소스 또는 스택 일관성 검사가 완료될 때까지 기다리지 않아도 된다는 시각적 신호로 사용할 수 있습니다. 또는 지속적 통합 및 지속적 전달(CI/CD)을 사용하여 추가 작업을 트리거하는 자동 메커니즘을 생성할 수 있습니다.
중요
CONFIGURATION_COMPLETE
이벤트를 활용하면 스택 생성 시간이 가속화되지만 그에 따른 장단점을 염두에 두어야 합니다. 첫째, 드리프트 감지를 지원하는 리소스 유형의 하위 집합에 대해서만 지원됩니다. 드리프트 감지를 지원하는 리소스 유형 목록은 리소스 유형 지원 섹션을 참조하세요. 이 접근 방식은 일부 시나리오에 적합하지 않을 수 있습니다. 특히 클라우드 환경(예: 프로덕션 환경) 전반에서 완전한 운영 준비 상태를 보장하기 위해 리소스에 대한 철저한 최종 일관성 검사가 필요한 경우에 그렇습니다. 배포 요구 사항과 각 리소스에 대한 일관성 검사의 중요도를 신중하게 평가하는 것이 좋습니다. CONFIGURATION_COMPLETE
이벤트를 사용하여 인프라의 무결성과 신뢰성을 저해하지 않고 배포 속도를 최적합니다.
CONFIGURATION_COMPLETE
이벤트 설정이 보장되지느 않으므로 이벤트를 사용하는 모든 시나리오에서 CONFIGURATION_COMPLETE
이벤트가 설정되지 않았을 때 CREATE_COMPLETE
이벤트를 처리할 수 있도록 준비해야 합니다.
스택 배포가 시작되면 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