ELB 연결 드레이닝

은채의 성장통·2025년 2월 6일
0

AWS

목록 보기
32/79

ELB(Elastic Load Balancer) 연결 드레이닝(Connection Draining)은 서버에서 트래픽을 안전하게 종료하기 위한 기능입니다. 이를 통해 서버에서 처리 중인 요청을 안전하게 완료한 후 연결을 종료할 수 있습니다.

ELB 연결 드레이닝 (Connection Draining)

정의

연결 드레이닝은 로드 밸런서에서 인스턴스를 제거하거나 비활성화할 때, 해당 인스턴스로 전송되는 새로운 요청을 차단하고, 기존 요청이 안전하게 완료될 때까지 기다리는 과정입니다. 이를 통해 서버가 예기치 않게 종료되는 상황을 방지하고, 사용자 경험을 향상시킬 수 있습니다.

주요 기능

  1. 새로운 요청 차단
    • 인스턴스가 제거되거나 비활성화될 때, 로드 밸런서는 해당 인스턴스로 새로운 요청을 전송하지 않습니다.
  2. 기존 요청 완료 대기
    • 기존 요청이 모두 처리될 때까지 로드 밸런서는 인스턴스를 계속 유지합니다. 이는 사용자가 요청을 정상적으로 완료할 수 있도록 합니다.
  3. 시간 초과 설정
    • 연결 드레이닝은 시간 초과 설정을 가지고 있습니다. 설정된 시간 내에 요청이 완료되지 않으면, 해당 요청은 강제로 종료됩니다. 이 설정은 기본적으로 300초(5분)이며, 필요에 따라 조정할 수 있습니다.

작동 방식

  1. 인스턴스 제거/비활성화
    • 관리자는 로드 밸런서에서 인스턴스를 제거하거나 비활성화할 수 있습니다.
  2. 연결 드레이닝 시작
    • 인스턴스가 제거되거나 비활성화되면, 로드 밸런서는 자동으로 해당 인스턴스로의 새로운 요청을 차단합니다.
  3. 기존 요청 처리
    • 인스턴스는 기존 요청을 계속 처리합니다. 이때, 로드 밸런서는 해당 요청이 정상적으로 완료될 때까지 기다립니다.
  4. 요청 완료 후 종료
    • 모든 기존 요청이 완료되면, 인스턴스는 안전하게 종료됩니다. 설정된 시간 초과가 발생하면, 남아있는 요청은 강제로 종료됩니다.

예시

  • 인스턴스 A가 로드 밸런서에서 제거되는 상황을 가정해 봅시다.
  • 1단계: 인스턴스 A가 제거되면, 로드 밸런서는 인스턴스 A로 새로운 요청을 전송하지 않습니다.
  • 2단계: 인스턴스 A는 기존 요청을 처리하고, 로드 밸런서는 요청이 완료될 때까지 기다립니다.
  • 3단계: 모든 요청이 완료되면, 인스턴스 A는 안전하게 종료됩니다. 만약 설정된 시간 내에 요청이 완료되지 않으면, 남아있는 요청은 강제로 종료됩니다.
profile
인생 별거 없어

0개의 댓글