본문 바로가기
CSP (Cloud Service Provider)/AWS

[AWS] 로드밸런서 Connection Draining

by BTC_SHINN 2023. 9. 13.

베하! 안녕하세요~
BTC_수신자표시제한 입니다 😊

 


AWS를 이용하시는 분들 중 많은 분들이 수신 트래픽의 효율적인 분산을 위해 많은 분들이 ELB를 사용하고 계실텐데요.

ELB는 애플리케이션 가용성과 성능을 유지하는 데 중요한 요소인 "Connection Draining" 기능을 제공하고 있습니다.

오늘은 이 AWS Load Balancer Connection Draining에 대해 알아보고자 합니다. 

먼저, ELB에 대해 간단하게 소개하자면

AWS Elastic Load Balancing(ELB)은 애플리케이션의 수신 트래픽을 다양한 가용 영역의 여러 대상에 자동으로 분산시키는 서비스입니다. ELB 사용을 통해 효율적인 트래픽 관리자 역할을 하여 내결함성을 강화하고 성능을 최적화할 수 있습니다. 

 

로드 밸런서 연결 된 EC2 인스턴스들 중 일부에 대해 유지 관리 작업을 수행해야 하는 상황을 산정해 볼 때에, 인스턴스를 갑자기 종료하거나 트래픽을 새 인스턴스로 리디렉션할 때에 서비스 중단이 발생할 수 있습니다. 이로 인해 클라이언트 오류가 발생하고 연결이 끊어지는 등 사용자의 불편을 초래할 수 있습니다. 


Connection Draining은 인스턴스의 서비스가 중단될 때 연결의 원활한 전환을 보장하는 기능입니다. 연결 드레이닝을 활성화하면 열린 연결을 유지하면서 등록되지 않았거나 비정상 인스턴스에 대한 새 요청 라우팅을 중지할 수 있습니다. 연결 드레이닝을 구성할 때 로드 밸런서가 인스턴스 등록을 취소하기 전에 연결을 유지하는 최대 시간 제한(1~3,600초)을 지정합니다. 이 시간 제한을 초과하면 로드 밸런서는 등록 취소된 인스턴스에 대한 연결을 강제로 종료합니다. 이렇게 하면 로드 밸런서가 인스턴스 등록 취소 또는 문제 발생에 대한 지속적인 요청을 완료할 수 있습니다.

 

연결 드레이닝 활성화 방법

 

클래식 로드 밸런서(CLB)

  • 로드 밸런서의 "인스턴스" 탭에 액세스하고 연결 드레이닝을 구성하여 "활성화"로 설정합니다.

 

 

네트워크 로드 밸런서(NLB) 및 애플리케이션 로드 밸런서(ALB)

  • 로드 밸런서의 대상 그룹 - 속성 편집을 통해 연결 드레이닝을 구성합니다.

 

 

작동 방식

 

연결 드레이닝 작동 방식에 대해 간단히 소개해보겠습니다.

 

연결 드레이닝 활성화

  • 먼저 로드 밸런서에서 연결 드레이닝을 활성화합니다. 로드 밸런서가 기존 연결을 유지하는 시간 또한 설정해줍니다

인스턴스 등록 취소

  • 유지 관리 또는 문제 발생로 인해 인스턴스 서비스를 중단해야 하는 경우 로드 밸런서는 해당 인스턴스에 대한 새 연결 전송을 중단합니다.

진행 중인 요청 완료

  • 로드 밸런서는 진행 중인 요청이 완료되거나 지정된 제한 시간에 도달할 때까지 인스턴스에서 계속 진행되도록 허용하여 갑작스러운 연결 끊김을 방지합니다.

점진적 전환

  • 서비스가 중단되는 인스턴스에 대한 기존 연결이 자연스럽게 종료됨에 따라 로드 밸런서는 새 트래픽을 정상 인스턴스로 리디렉션하여 원활한 전환을 보장합니다.


여기까지 AWS Load Balancer의 Connection Draining 기능에 대해 알아보았습니다. 

위 내용이 도움이 되셨으면 좋겠습니다.😊

 

다음에 또 만나요 👋👋

 

'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글

VPC Flow Logs  (0) 2023.09.14
[AWS] Amazon linux2 + gnuboard5(1)  (0) 2023.09.13
AWS WAF & Shield  (0) 2023.09.07
5세대 인스턴스 타입 변경 -ENA 비활성화 트러블슈팅  (0) 2023.09.06
VPC Endpoint와 S3  (0) 2023.09.05

댓글