ECS 클러스터에서 도커 호스트로 사용하는 EC2 인스턴스에 대한 자동 크기 조정 그룹을 만드는 테라 폼 배포가 있습니다. 클러스터에는 태스크가 실행 중입니다. 새로운 작업 정의 리비전을 만들고 서비스를 업데이트하면 AWS가 롤링 업데이트를 수행하므로 작업을 새 버전으로 교체하는 것이 좋습니다. 그러나 어떻게하면 다운 타임없이 EC2 호스트 인스턴스를 새로운 인스턴스로 쉽게 대체 할 수 있습니까?terraform 설치에서 ECS 컨테이너 인스턴스 교체
예를 들면 다음과 같습니다. 다른 EC2 인스턴스 유형으로 전환하는 것과 같이 ASG 실행 구성을 변경해야합니다.
- 배수 하나 개의 인스턴스 :
나는 여기 내가 생각하는 것은 내가 원하는 가장 가까운 얻을 수있어, 몇 가지를 시도했습니다. 타스크는 나머지 인스턴스에 분 h됩니다.
- 해당 인스턴스에서 더 이상 실행중인 작업이 없으면 종료하십시오.
- ASG가 새 인스턴스를 기다릴 때까지 기다립니다.
- 모든 인스턴스가 새로운 것이 될 때까지 1 - 3 단계를 반복하십시오.
거의 작동합니다. 문제는 다음과 같습니다.
- 설명서가 잘못되어 오류가 발생합니다.
- 이 프로세스 후 인스턴스 중 하나 (최대 마지막으로 회전 된 인스턴스)가 0 개의 작업을 실행하고 있습니다.
더 나은 자동화 방법이 있습니까? 또한 ECS 클러스터에서 작업을 다시 배포하는 방법이 있습니까 (새 작업 개정을 만들지 않고)?
[AWS ECS에서 다른 ASG로 컨테이너를 마이그레이션하는 방법] (https://stackoverflow.com/questions/39949227/how-to-force-aws-ecs-migrate-containers-to-another- asg) – ydaetskcoR
https://stackoverflow.com/a/39977487/2291321에서 이전 답변을 업데이트 한 적이 있습니다. 원래 댓글에서 언급했듯이 이전의 ASG에서 안전하게 ECS 작업을 안전하게 수행했기 때문입니다. 그것들을 파괴하여 서비스 중단을 초래했습니다. – ydaetskcoR