본문 바로가기
Public Cloud/AWS - Practice

[AWS] ECS 운영 중 발생한 주요 사례 Case별로 정리

by ymkim 2025. 4. 25.

위 내용은 ECS 운영 중 발생한 사례(Case)를 정리한 것으로, 개인적인 의견이 아닌 AWS SA(Solution Architect) 담당자와의 질의응답을 바탕으로 작성된 내용입니다.

01. ECS 이슈 사례

이슈의 경우 Case별로 구분하여 정리.

Case 01 : Blue/Green ALB, NLB 사용 가능여부 및 Canary 지원 여부

ECS Blue/Green을 사용하는 경우 NLB/ALB 모두 사용이 가능하다. 하지만 NLB를 사용하는 경우 CodeDeployDefault.ECSAllAtOnce를 통한 배포만 가능하며 Canary, Linear 배포는 불가능하다. 그렇기에 Canary, Linear 배포를 진행 하려면 ALB를 사용해야 한다.

Case 02: 운영중인 ECS의 Service Deployment Type 변경 가능 여부

ECS 서비스의 Deployment Type은 총 세 가지(Rolling Update, Blue/Green, External)가 존재한다. 하지만 한 번 생성된 ECS 서비스의 Deployment Type은 변경할 수 없다. 그 이유는 ECS 서비스를 생성할 때 AWS CloudFormation을 통해 리소스가 프로비저닝되며, 이 과정에서 Deployment Controller 속성이 설정된다.

 

해당 속성의 값은 ECS, CODE_DEPLOY, EXTERNAL 중 하나이며, 이 값은 CloudFormation Stack 내 리소스의 고정 속성으로 간주된다. 만약 Deployment Type을 변경하게 되면, CloudFormation은 기존 리소스를 대체(Replacement)하게 되며, 이로 인해 새로운 리소스가 생성되고 기존 리소스는 삭제되는 구조로 동작한다. 즉, 운영 중인 ECS 서비스의 Deployment Type을 직접 변경하는 것은 불가능하며, 새로운 서비스로 재생성하는 방식으로만 전환이 가능하다.