본문 바로가기

Cloud

AWS - Connection Draining

연결이 고갈되는 걸로 보면 되는데 이는 CLB와 ALB, NLB에서 불리는 게 다릅니다.

CLB에서는 Connection Draining(연결 드레이닝)으로 불리며, ALB, NLB에서는 DeRegistration Delay

(등록 취소 지연)으로 불립니다.

 

인스턴스가 등록 취소 혹은 비정상적인 상태에 있을때, 인스턴스에 어느 정도의 시간을 주어서

In-Flight 요청, 즉 인스턴스 활성 요청을 완료할 수 있도록 여유를 줍니다.

 

 

연결 드레이닝이 되면 인스턴스는 드레이닝 되어 ELB는 등록 취소중인 EC2 인스턴스에게 새로운 요청을 배당하지 않습니다.

Connection Draining

EC2 인스턴스에 이미 연결된 유저는 충분한 드레이닝 시간을 가집니다.

드레이닝 중이라면 해당 인스턴스에 연결될 때까지 대기하며, 드레이닝이 된 경우에는 더이상 해당 인스턴스에 연결 시도를

하지않고 다른 새로운 인스턴스에 대해서 연결을 시도합니다.

 

 

연결 드레이닝 파라미터를 매개변수로 설정할 수 있고 Duration Time을 1~3,600초 사이의 값으로 셋팅합니다.

기본값은 300초이며 이 시간은 드레이닝 지연 시간으로 사용자가 인스턴스 연결 요청을 보냈을 때 ELB에서는 기존 타겟 그룹의

인스턴스와 연결될 때까지 대기합니다.

대기 시간동안 연결이 될 수 있고, 드레이닝 지연 시간이 오버된다면 연결을 정지하고 다른 인스턴스로 새로운 연결을 진행할 것입니다.

 

 

이 기본 매개변수를 0으로 둔다면 드레이닝을 하지 않는 것으로 파악해서 해당 인스턴스는 원활하게 기동될 것이고

요청 시간이 짧을 수록 이 드레이닝 시간을 낮은 값으로 설정하고 요청 시간이 길수록 (예: 파일 업로드, 대량 트래픽 등..)

드레이닝 시간을 길게 설정해둡니다.

 

 

이유는 요청 시간이 길어서 지연 시간이 길어질텐데, 드레이닝 시간을 짧게 준다면 인스턴스는 요청에 따른 응답을 설정하기도 전에

드레이닝이 되어서 인스턴스가 사라지고 원활한 응답 셋팅이 되지 않을 것입니다.

따라서 요청이 길다면 드레이닝 시간도 길게 두어야 하고 그로 인해 연결 드레이닝 과정을 오랫동안 기다릴 수 있어

인스턴스는 쉽게 사라지지 않고 온전히 트래픽 처리 및 응답을 만들어 낼 수 있을 것입니다.

반응형

'Cloud' 카테고리의 다른 글

AWS - ASG(2)  (0) 2023.01.25
AWS - ASG(1)  (0) 2023.01.19
AWS - SSL/TLS  (0) 2023.01.18
AWS - Cross Zone Load Balancing  (0) 2023.01.17
AWS - Sticky Session  (0) 2023.01.17