TL;DR

  • Bunny CDN 로드 밸런서(Load Balancer)는 여러 원본 서버에 HTTP(S) 요청을 분산하고, 우선순위·상태·성능을 반영해 장애 조치까지 이어지는 공개 프리뷰 서비스임.
  • 로드 밸런서는 여러 풀 존(Pull Zone)에 연결할 수 있으며, 캐시된 응답은 엣지에서 계속 직접 제공됨.
  • 원본 그룹의 우선순위와 분산 설정을 장애 조치 중에도 유지하고, 안전하게 재시도할 수 있는 요청만 다시 전송함.
  • 네트워크 전체 상태 검사와 엣지별 실시간 오류 감지를 결합하며, 고정 세션에서는 상태가 우선 적용됨.
  • 월 9.50달러에 월간 원본 전달 요청 5,000만 건이 포함되며, 초과 요청은 100만 건당 0.65달러임.

Bunny CDN 로드 밸런서 소개

  • 애플리케이션이 두 지역에서 일상 트래픽을 나누어 처리하고 세 번째 지역을 대기 상태로 두는 경우, 원본 장애가 발생해도 설정한 우선순위에 따라 다음 요청 대상이 결정되도록 하는 기능임.
  • Bunny CDN 로드 밸런서는 공개 프리뷰(Public Preview)로 제공되며, 풀 존의 HTTP(S) 요청을 설정된 원본들에 분산함. 라우팅 선호도와 원본 상태·성능을 함께 반영함.

원본 풀의 우선순위 설정

  • 로드 밸런서는 bunny.net 계정의 라우팅 정책이며, 하나의 풀 존에 연결하거나 여러 풀 존에서 재사용할 수 있음. 원본이 필요한 요청은 해당 정책을 따르고, 캐시된 응답은 CDN 엣지에서 직접 제공됨.
  • 원본 그룹은 지역, 제공업체, 용량 또는 용도별로 백엔드를 구성하는 단위임. 예를 들어 두 주 지역은 첫 번째 우선순위 단계에, 대기 지역은 그다음 단계에 배치할 수 있음.
  • 주 그룹 간 트래픽을 분산하고 백업 용량을 대기시킬 수 있으며, 트래픽을 균등하게 나누거나 가중치를 지정하거나 가까운 그룹·지연 시간이 낮은 그룹을 우선할 수 있음.
  • 원본 풀에는 표준 HTTP(S) 서버, Bunny Storage, Edge Scripting, Magic Containers를 함께 구성할 수 있어 주 용량과 대기 용량에 서로 다른 백엔드 유형을 사용할 수 있음.

장애 조치 중에도 우선순위 유지

  • 원본이 필요한 각 요청에 대해 엣지는 첫 번째 대상에 연결하기 전에 이용 가능한 목적지의 순서를 구성함. 우선순위 단계와 분산 설정에 따라 원본 그룹과 그룹 내 원본을 정렬함.
  • 재시도가 안전한 경우 다음 후보가 미리 정해지므로, 장애 조치 중에도 이용 가능한 주 용량이 대기 지역보다 앞선 순서를 유지함.
  • 원본이 5xx 응답을 반환한 뒤에는 안전하게 재전송할 수 있는 요청만 재시도함. 본문이 있거나 데이터를 생성·변경할 수 있는 메서드의 요청은 무조건 반복하지 않아 중복 주문·업로드·결제 위험을 줄임.
  • 하나의 요청이 느린 원본을 무한정 거치지 않도록 장애 조치 체인에 시간 제한이 적용됨.

엣지별 상태 대응

  • 원본이 프랑크푸르트 엣지에서는 연결 가능하더라도 네트워크 문제로 상파울루 엣지에서는 연결되지 않을 수 있음. 로드 밸런서는 네트워크 전체 상태와 각 엣지가 실시간 트래픽에서 확인하는 상태를 결합함.
  • 선택형 상태 검사(health check)는 bunny.net 네트워크 전반에서 그룹 내 원본을 모니터링함. 성능이 저하된 원본은 상태 검사를 통과할 때까지 전역 일반 분산 대상에서 제외됨.
  • 능동 상태 검사를 사용하지 않더라도 각 엣지는 자체 요청에서 발생한 실패에 반응하므로, 해당 엣지의 요청에 영향을 미치는 문제에 대응함.
  • 정상 원본이 하나도 남지 않으면 최후 수단으로 비정상 원본을 시도할 수 있음. 명시적으로 비활성화한 원본과 그룹은 계속 제외됨.
  • 같은 원본으로 반복 요청을 보내야 하는 애플리케이션은 선택형 고정 세션(sticky session)을 사용할 수 있음. 암호화된 엣지 쿠키로 원본 선택을 유지하지만, 선택된 원본이 비정상 또는 이용 불가 상태가 되면 상태를 우선해 방문자를 다른 원본에 할당함.

속도와 용량의 균형

  • 측정 지연 시간이 가장 낮은 원본에 요청을 반복해서 보내면 해당 원본의 부하가 가장 커져 속도 이점이 줄어들 수 있음. 지연 시간 기반 원본 분산은 처리 중인 요청 수도 고려함.
  • 원본의 처리량이 늘수록 새 요청에 대한 선호도가 낮아져 나머지 원본 풀과 부하를 나누는 방식임.
  • 오래되었거나 새로 추가된 원본은 자동으로 다시 검사됨. 느리거나 이용 불가한 상태가 계속되면 탐색 간격이 늘어나고, 복구된 원본은 다시 트래픽 대상으로 고려될 수 있음.

원본 트래픽 분산 시작

  • 공개 프리뷰 요금은 로드 밸런서당 월 9.50달러이며, 매월 원본으로 전달되는 요청 5,000만 건이 포함됨. 추가 요청은 100만 건당 0.65달러임.
  • CDN 캐시에서 처리된 요청은 요금 산정에 포함되지 않음. 여러 풀 존에서 로드 밸런서 하나를 공유하면 월 이용료와 요청 허용량을 하나로 공유함.
  • 시작 절차는 다음과 같음.
  • 로드 밸런서를 만들고 원본 그룹 간 트래픽 분산 방식을 선택함.
  • 원본 그룹과 각 그룹에 포함될 원본을 추가하고, 주 용량과 대기 용량에 맞춰 우선순위를 설정함.
  • 풀 존의 원본 유형을 로드 밸런서로 설정하고 생성한 구성을 선택함.
  • 트래픽이 흐르기 시작하면 대시보드나 API 통계에서 요청 분산 현황, 원본별 성능, 장애 조치 발생 지점을 확인할 수 있음. 문서에는 라우팅, 상태 검사, 고정 세션, API 옵션이 상세히 설명됨.