프로필사진

Go, Vantage point

가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.


Github | https://github.com/overnew/

Blog | https://everenew.tistory.com/





티스토리 뷰

반응형

 

 

 

Code deploy의 ECS로 배포는 블루/그린 배포 방식으로 업데이트를 진행해보자.

블루 그린은 한번에 모든 트래픽을 새로운 서버자원으로 이동시키는 무중단 배포 방식이다.

 

이때 하나의 로드밸런서에서 두 개의 리스너와 대상 그룹을 요구한다.

그 이유를 배포 방식을 통해 알아보자.

 

 

 

 

 

 

배포 원리

 

배포 이벤트의 순서는 아래와 같다.

 

 

 

 

 

install전에는 서비스 중인 Production Listener의 대상 그룹을 Test Listener도 가리키고 있다.

 

 

 

 


여기서 install 이벤트가 실행되면, 다른 Target group에 업데이트된 task들이 배포된다.

위의 이벤트 소요시간을 확인해보면, 컨테이너를 올리는 작업 및 상태 체크 때문에 다른 이벤트보다 시간이 많이 소요된다.

 

 

 

 

AllowTestTraffic 이벤트에서는 Test linstener가 새로운 대상 그룹을 가리키게 된다.



 

 

 

AllowTraffic에서는 Production Listener가 새로운 대상 그룹으로 트래픽을 보내게 되면서, 실제 서비스가 진행된다.


 

time out이 지나거나 이후 기존의 Task를 지우는 작업을 승인하면 최종적으로 아래와 같이 배포가 완료된다.

 

 

실제로 배포를 확인해보면 기존의 task들을 종료시킬지 승인해줄 수 있다.

이때 배포 중지하고 롤백과 을 선택할 수도 있다.

 

 

다시 업데이트 내역의 배포를 진행하면 역으로 대상 그룹 1에서 새로운 task가 생성되는 방식으로  진행된다.

 

이때 각각의 이벤트에 람다 함수를 연결하여 알림을 전송하는 등의 커스텀도 할 수 있다.

 

 

장점

배포가 완료되어 기존의 task를 지우기까지는 바로 롤백이 가능하므로, 새로운 컨테이너에 문제 발생 시 즉각적인 대처가 가능하며 가장 빠르게 무중단 배포를 할 수 있는 방법이다.

특히 온프레미스 방식에서는 가용할 수 있는 서버 자원의 한계 때문에 블루/그린 배포가 어려웠지만, 클라우드에서는 온디멘드로 자원을 사용할 수 있기 때문에 적용가능한 업데이트 방식이기도 하다.

 

 

이외의 배포 전략은 아래를 참조하자.

https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html#deployment-configuration-ecs

 

Working with deployment configurations in CodeDeploy - AWS CodeDeploy

If you're deploying to instances in multiple Auto Scaling groups, CodeDeploy will deploy to up to half of the instances at a time regardless of the Auto Scaling group they're in. For example, let's assume you have two Auto Scaling groups, ASG1 and ASG2, ea

docs.aws.amazon.com

 

 

 

참조

https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-steps-ecs.html

 

Deployments on an Amazon ECS Compute Platform - AWS CodeDeploy

Managing Amazon ECS blue/green deployments with AWS CloudFormation is not available in the Asia Pacific (Osaka) region.

docs.aws.amazon.com

 

반응형
댓글
반응형
인기글
Total
Today
Yesterday
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함