Connection Draining
인스턴스가 등록 취소 또는 비정상적인 상태일 때 인스턴스에 어느 정도의 시간을 주어 in-flight 요청을 완료할 수 있도록 만들어 주는 기능이다.
-
ELB 타입마다 부르는 이름이 다르다.
- Connection Draining: CLB에서 부르는 이름
- Deregistration Delay(등록 취소 지연): ALB & NLB에서 부르는 이름
-
연결이 draining 되면, 즉 인스턴스가 draining 되면 ELB는 등록 취소 중인 인스턴스로는 새로운 요청을 보내지 않게 된다.
- 즉, 새로운 요청은 shut down 된다.
파라미터 설정
- 연결 draining 파라미터는 매개변수로 표시할 수 있다.
- 1~3600초 사이의 값으로 설정 가능한데 기본은 300초이다.
- 값을 0으로 설정하면 이 기능을 비활성화 할 수 있다. 즉, 값이 0이면 드레이닝(등록 취소 지연)이 일어나지 않으며 ELB는 해당 인스턴스를 기다려 주지 않는다.
- 만약 1초 보다 적은, 즉 아주 짧은 요청인 경우 connection draining 파라미터를 30초 정도로 설정하면 된다.
- 반면, 업로드와 같이 오래 걸리는 작업인 경우 높은 값으로 설정하면 된다.
- 이렇게 기다려 준 뒤에 인스턴스 장애 복구 등의 작업을 진행해야 한다.