Amazon Elastic Container Service(ECS)에서 애플리케이션을 업데이트할 때 실행 중인 서비스에 대한 가동 중지 시간 또는 중단 없이 새 작업을 배포하려고 합니다.
해결 방법
가동 중지 시간 없이 새 작업을 시작하려면 다음 작업을 수행하십시오.
롤링 업데이트 배포 유형을 사용하도록 배포 파라미터 구성
Amazon ECS에서 가동 중지 시간 없이 배포하려면 최소 정상 백분율을 **100%**로 설정하고 최대 백분율을 **200%**로 설정하는 것이 좋습니다. 최소 정상 백분율 및 최대 백분율 파라미터에 대한 자세한 내용은 배포 구성을 참조하십시오.
배포 파라미터를 구성하려면 다음 단계를 완료하십시오.
- Amazon ECS 콘솔을 엽니다.
- 클러스터를 선택합니다.
- 클러스터 세부 정보 페이지의 서비스에서 업데이트하려는 서비스를 선택합니다. 그런 다음, 업데이트를 선택합니다.
- 배포 구성에서 최소 실행 작업 비율(%) 및 최대 실행 작업 비율(%) 값을 구성합니다.
- 서비스 업데이트를 선택합니다.
중요: Amazon ECS는 컨테이너 배포 프로세스를 관리하지만 트래픽 라우팅은 처리하지 않습니다. 로드 밸런서를 사용하는 경우, 트래픽을 Amazon ECS 작업으로 라우팅하도록 로드 밸런서를 구성하십시오. AWS CodeDeploy에서 블루/그린 배포를 사용하는 경우에는 트래픽 관리 구성을 확인하십시오.
작업 정의에서 컨테이너 인스턴스의 stopTimeout 파라미터 구성
stopTimeout 파라미터를 설정하여 애플리케이션이 배포 중에 작업 요청을 완료할 수 있는 충분한 버퍼 시간을 갖도록 하십시오. Amazon ECS 작업 정의를 업데이트한 다음, 새 태스크 정의 개정 생성의 컨테이너 제한 시간 - 선택 사항에서 중지 제한 시간 값을 구성합니다.
ELB 대상 그룹 설정 구성
Elastic Load Balancing(ELB) 대상 그룹 설정을 구성하려면 다음 단계를 완료하십시오.
- Amazon EC2 콘솔을 엽니다.
- 대상 그룹을 선택한 다음, Amazon ECS 서비스와 연결된 대상 그룹을 선택합니다.
- 그룹 세부 정보 탭을 선택합니다. 그런 다음, 원하는 값으로 상태 확인 경로, 상태 확인 프로토콜, 상태 확인 포트, 정상 임계값 및 ** 비정상 임계값**을 구성합니다.
- 속성 탭을 선택한 후 애플리케이션의 요구 사항에 맞게 등록 취소 지연 값을 구성합니다.
참고: 애플리케이션 응답 시간을 약 두 배로 늘리도록 등록 취소 지연 속성을 설정하는 것이 좋습니다.
- (선택 사항) 진행 중인 애플리케이션 요청 세션이 기존 작업과 함께 완료되도록 로드 밸런서에 스티키 세션을 설정합니다.
고급 배포 전략의 경우 CodeDeploy 사용
배포 전에 Amazon ECS 서비스 상태를 검증하려면 CodeDeploy를 사용합니다.
참고: 한 번에 모두 블루/그린 배포 트래픽을 이동하면 서비스가 중단될 수 있습니다.
스팟 인스턴스에 대한 자동 드레이닝 설정
인스턴스를 자동으로 비우려면 컨테이너 인스턴스에 대해 스팟 인스턴스 드레이닝을 켭니다.