[AWS] ECS 개정된 Task로 업데이트 하기
이번 글에서는 ECS Task를 개정한 내용을 클러스터에 올려보는 작업을 하고자 합니다. 가장 기본적으로 이전에 구현한 ECS Cluster, 작동중인 ECS Service, 개정할 ECS Task 가 필요합니다.
서비스에서 직접 업데이트 하기
위의 그림에서 서비스 상세로 넘어가게 되면 '상태 및 지표' 탭이 보이는 내용이 뜹니다. 여기서 '서비스 업데이트'를 클릭합니다.
그러면 현재 작동중인 서비스를 업데이트하는 화면이 뜨게 됩니다.
새 배포 강제 적용 : 현재 최신 개정으로 되어 있는데 업데이트 하고 싶은 경우 선택합니다.
수동으로 개정 지정하기 : 체크 필요 없이 아래 개정 숫자를 선택하면 됩니다.
그 외에 나머지는 모두 Task를 생성하는 글에서 설명한 내용입니다. 여기에서는 로드 밸런서를 연결할 수도 있고 오토스케일링을 걸어서 서비스가 돌아가는 서버(또는 서버리스)의 개수를 조절할 수 있습니다.
모든 조건이 다 선택 되셨으면 하단에 '업데이트'를 눌러 업데이트를 진행합니다. 그러면 서비스에서는 이상이 없지만 클러스터의 화면으로 넘어가보면 변경 점이 보이게 됩니다.
이제 여기서 '배포 및 태스크' 탭의 '1/1 태스크 실행 중' 을 선택하게 되면 아래와 같이 그림이 나옵니다.
이 상태는 '블루-그린 배포'와 같이 기존에 서비스를 그대로 유지하면서 자연스럽게 새로운 태스크(인스턴스)가 부팅이 완료되는 경우 자연스럽게 로드밸런서가 새롭게 실행된 태스크를 바라보게 되고, 기존에 태스크는 정책에 맞춰 유지될지 중지될 지 정해집니다. 그래서 서버가 다운된다거나 문제가 발생하는 이유가 없이 자연스러운 '무중단 배포'가 됩니다.
사실 이것이 큰 고민을 해결해주고, ECS를 사용하는 특장점중 하나입니다. 구현을 하려면 정말 오래 걸리는데에 비해 이렇게 기본 설정을 해두게 되면 손쉽게 무중단 배포를 하는 시스템을 구축하게 됩니다.