로드 밸런싱. 애플리케이션을 확장하고 필요할 때는 축소하기 위해 로드 밸런싱이 필요하며, 이에 의존하고 매일 사용한다는 것은 일반적으로 받아들여지는 사실입니다. 로드 밸런싱은 수요에 맞춰 확장할 뿐만 아니라, 기업의 생산성과 수익 창출에 필수적인 애플리케이션과 서비스의 지속적인 가용성을 보장하는 핵심 인프라로 자리 잡았습니다.
바로 그렇기 때문에 로드 밸런싱을 다시 살펴볼 필요가 있습니다. 이제는 대개 운영 담당자가 이 놀라운 서비스를 프로비저닝하고 구성해 배포해야 하지만, 로드 밸런싱을 갈수록 단순한 전술적 수단으로만 취급해서는 안 됩니다. 로드 밸런싱을 전략적 관점에서 활용하면 성능을 개선하고 위험을 줄이며 애플리케이션 제공에 필요한 리소스를 더욱 효율적으로 사용할 수 있습니다. 로드 밸런싱은 흔히 붙는 ‘배관’이라는 별명보다 훨씬 더 지능적인 기술이며, 몇 가지 핵심 사항을 이해하면 운영팀이 애플리케이션 지원을 위해 로드 밸런싱을 어떻게 활용하고 있는지 더 깊이 고민하는 데 도움이 됩니다.
그럼 더 이상 지체하지 않고, 운영팀이 로드 밸런싱에 대해 반드시 알아야 할 세 가지를 살펴보겠습니다.
1. 알고리즘은 상대적이다
먼저 라운드 로빈은 절대 언급해서는 안 될 최후의 알고리즘이라고 말씀드리고 싶지만, 이미 알고 계셨죠? 그러니 그건 넘어가고 다음과 같이 더 지능적인 알고리즘을 살펴보겠습니다. 최소 연결 수와 최단 응답 시간입니다. 물론 성능과 효율적인 리소스 사용 사이에서 균형을 맞추는 전략을 세울 때는 이 알고리즘들이 훨씬 더 나은 선택입니다. 각 알고리즘은 다음 요청을 어떤 애플리케이션 인스턴스(원한다면 컨테이너라고 해도 됩니다)에 전달할지 결정하는 데 중요한 애플리케이션의 특성(또는 적어도 애플리케이션을 제공하는 플랫폼의 특성)을 고려합니다. 최소 연결 수 알고리즘은 연결 수가 적은 인스턴스일수록 여유 용량이 더 많으므로 현재 요청을 더 원활하게 처리할 수 있다고 판단합니다. 즉, 성능보다 용량 활용의 효율성을 우선하는 방식입니다.
가장 빠른 응답 시간은 이와 정반대로 성능을 기준으로 요청을 전달합니다. 인스턴스가 빠를수록 더 자주 선택됩니다. 운영상의 원칙에 따라 부하가 증가하면 성능이 저하되므로, 결국 부하가 더 적은 서버가 더 빠르게 응답하여 선택됩니다. 이는 용량 효율성도 어느 정도 고려한다는 의미이지만, 이 알고리즘은 언제나 용량보다 성능을 우선합니다.
하지만 이제 알고리즘의 이름에 주목해 보겠습니다. 최소 와 최고속입니다. 거북이 두 마리가 보도에서 경주한다면, 둘 다 우리가 흔히 “느리다”고 할 만한 속도로 가고 있더라도 그중 한 마리는 더 빠릅니다. 최소 연결도 마찬가지입니다. 99와 100 중 하나를 선택해야 한다면, 99가 분명 둘 중 더 적은 쪽입니다.
중요한 이유
로드 밸런싱이 요청을 처리하는 방식은 성능과 가용성에 직접적이고 즉각적인 영향을 미칩니다. 이 두 요소는 궁극적으로 고객 참여도와 직원 생산성에 영향을 미치는 핵심 특성입니다. 로드 밸런싱을 포함한 아키텍처를 최적화하면 생산성과 수익 목표를 더욱 높여 비즈니스 성공을 달성하는 데 도움이 됩니다.
심층 분석:
2. 즉시 실패는 (흔히) 잘못된 믿음이다
클라우드와 소프트웨어 정의 데이터 센터가 부상한 이후, 탄력성은 애플리케이션 확장의 표준 방식으로 자리 잡았습니다. 탄력성을 활용하면 필요에 따라 확장하거나 축소하여 리소스와 예산을 최적화할 수 있습니다. 필요할 때 바로 확장할 수 있는데 굳이 리소스를 과도하게 프로비저닝할 이유가 있을까요? 마찬가지로, 이중화 원칙에 의존하는 고가용성(HA) 아키텍처도 이제는 거의 구시대의 유물이 되었습니다. 기본 애플리케이션 인스턴스에 장애가 발생할 가능성도 낮은데, 유휴 리소스를 대기 상태로 둘 필요가 있을까요? 자본과 운영 예산만 낭비할 뿐입니다! 썩 물러가라, 빌어먹을 대기 리소스여!
필요할 때 장애에 대응하고 확장한다는 개념은 이론적으로는 훌륭하지만, 실제로는 그리 간단하지 않습니다. 가상 서버든 클라우드 서버든 어떤 용어를 사용하더라도 서버를 시작하는 데는 시간이 걸립니다. 기본 서버에 장애가 발생하거나 용량이 한계에 도달할 때까지 기다렸다가 사용자(또는 자동화 시스템)가 다른 서버를 시작한다면 이미 늦습니다. 클라우드 환경의 용량 계획에는 기존 환경에서 통했던 것과 동일한 계산 방식을 적용할 수 없습니다. 이제 수요에 맞춰 원활하게 확장하려면 용량 임계값을 산정할 때 소비 속도와 다른 서버를 시작하는 데 걸리는 시간을 함께 고려해야 합니다.
장애 조치도 마찬가지입니다. 주 서버에 장애가 발생하면 대체 서버를 가동하는 데 시간이 걸립니다. 그동안 사용자들은 연결이 끊기거나 시간 초과를 겪게 되고, 결국 경쟁사나 최신 고양이 동영상으로 눈을 돌릴 가능성이 큽니다. 유휴 예비 서버는 보험처럼 낭비로 보일 수 있지만, 막상 필요할 때는 준비해 두길 잘했다고 생각하게 될 것입니다. 특히 해당 앱이 고객 참여나 매출을 담당한다면, 단 몇 분의 가동 중단으로 인한 위험과 그에 따른 비용만으로도 예비 서버를 상시 대기시키는 비용을 충분히 상쇄하고도 남을 수 있습니다.
흥미롭게도 컨테이너는 매우 빠른 시작 속도로 이러한 문제를 해결할 가능성이 있어 보입니다. 가용성, 성능, 비용이 모두 똑같이 중요하다면, 이 세 가지 요소의 균형을 맞추는 데 컨테이너가 어떤 가치를 제공할 수 있는지 살펴볼 때입니다.
중요한 이유
다운타임은 막대한 비용을 초래합니다. 다운타임의 원인이 무엇인지는 애초에 다운타임을 방지하는 것만큼 중요하지 않습니다. 장애 발생에 대비해 적절한 아키텍처와 장애 조치 계획을 마련하는 것은 비즈니스 성공에 필수적인 지속적인 가용성을 유지하는 데 반드시 필요합니다.
자세히 알아보기:
3. 클라이언트 IP는 실제 클라이언트 IP가 아닙니다.
앱이 개발 환경에서 프로덕션 환경으로 전환될 때 발생하는 모든 문제 중에서, 이 문제는 아마도 가장 흔하면서도 쉽게 피할 수 있는 문제일 것입니다. 대부분의 로드 밸런싱 서비스는(적어도 제대로 된 서비스라면 모두) 프록시입니다. 즉, 클라이언트는 프록시에 연결되고 프록시는 앱에 연결됩니다. 양쪽 모두 TCP를 사용해 HTTP를 전송하므로 네트워크의 작동 원리를 따라야 합니다. 소스 IP(클라이언트 IP라고 생각하는 것)는 실제로 프록시의 IP 주소입니다. IP 주소를 기반으로 보안, 인증 또는 사용량 측정을 수행한다면 이는 심각한 문제가 됩니다. HTTP 헤더에서 가져온 값은 원하는 값이 아닙니다.
업계에서는 HTTP 사용자 지정 헤더를 활용해 이 문제를 처리하는 방식이 사실상 표준으로 자리 잡았습니다. 아마 여러분이 실제로 찾는 것은 X-Forwarded-For 헤더일 것입니다. 프록시는 요청을 전달할 때 이 헤더에 실제 클라이언트 IP 주소를 넣습니다. 안타깝게도 이는 공식 표준이 아니라 사실상 ‘우리 모두 대충 합의한’ 관행에 가까우므로 직접 확인해야 합니다.
요점은 여러분이 찾고 있는 클라이언트 IP 주소가 생각하는 것과 다르다는 것입니다. 따라서 개발자는 해당 정보가 필요한 앱을 프로덕션 환경으로 이전했다가 갑자기 작동이 중단되는 일이 없도록 이를 미리 고려해야 합니다.
비즈니스에 중요한 이유
프로덕션 환경에서 문제를 해결하는 데는 개발 또는 테스트 환경에서보다 훨씬 더 많은 비용이 듭니다. 문제를 찾아 해결하는 데 걸리는 시간은 모두 프로젝트 일정에 부정적인 영향을 미치며, 애플리케이션 중심의 세상에서 경쟁 우위와 비즈니스 성공에 매우 중요한 출시 기간을 지연시킵니다. 이러한 일반적인 문제를 인식하고 개발 또는 테스트 단계에서 해결하면 프로덕션 환경에 더 빠르고 원활하게 배포하여 시장에 출시할 수 있습니다.
심층 분석:
작성자 소개

Lori MacVittie는 F5 CTO 오피스의 수석 엔지니어이자 최고 에반젤리스트로, 애플리케이션 딜리버리, 자동화 전략 및 인프라 분야에서 깊이 있는 전문성을 보유하고 있습니다. AI 에이전트를 위한 가드레일을 정의하고, 취약한 멀티클라우드 아키텍처를 분석하며, 확장 가능한 시스템의 한계를 탐구하는 등 복잡한 문제를 명확하게 풀어내는 것으로 잘 알려져 있습니다. 애플리케이션 개발, IT 아키텍처, 네트워크 및 시스템 운영 전반에 걸쳐 30년 이상의 업계 경험을 쌓았습니다. F5에 합류하기 전에는 수상 경력이 있는 기술 편집자로 활동했습니다. MacVittie는 컴퓨터 과학 석사 학위를 보유하고 있으며, 보안, 클라우드 및 엔터프라이즈 아키텍처 분야를 아우르는 다수의 저서를 집필한 작가입니다. 또한 보드게임과 비디오 게임을 열정적으로 즐기며, 치즈에 대해서는 거리낌 없이 확고한 견해를 갖고 있습니다.
Lori Mac Vittie의 다른 블로그 게시물관련 블로그 게시물
성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A
F5의 ‘성평등을 향한 여정’ 시리즈 네 번째 Q&A에서는 Rachael Shah와 NGINX 제품 마케팅 책임자 Jenn Gile이 사이버 보안 직종에 대한 오해를 바로잡고, 사이버 보안 분야의 성별 격차를 해소하기 위한 조언과 그 이점에 대해 이야기합니다.
TLS 검사에서 피터 파커 원칙 다루기
“큰 힘에는 큰 책임이 따른다.” 볼테르와 처칠도 이와 비슷한 말을 남겼지만, 이 문구는 스파이더맨 코믹스에서 벤 삼촌의 말로 가장 널리 알려져 있습니다. 물론 이 문구가 문화적으로 널리 통용되는 이유 중 하나는 TLS 검사를 비롯해 수많은 상황과 주제에 적용할 수 있기 때문입니다.
Venafi와 F5를 통한 머신 아이덴티티 보호
‘머신 아이덴티티’란 간단히 말해 자동화된 프로세스가 자신의 신원을 식별할 수 있도록 하고, 다른 자동화 시스템과 프로세스가 관련 리소스에 적절한 수준의 접근 권한을 부여하도록 하는 방법을 의미합니다. 이 개념 자체는 새로운 것이 아닙니다. 비교적 새로운 점은 이를 구현해야 하는 규모입니다.
마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다
물론 데이터 유출은 더 큰 비용을 초래할 수 있고(적어도 지금은), 실패 사실을 세상에 드러낼 수밖에 없게 합니다(통지 의무가 있으니까요). 하지만 보안을 단순히 데이터 노출 문제로만 봐서는 안 됩니다. 요즘은 데이터가...
내 클라우드에서 나가!
F5의 Jay Kelley가 전하는 최신 소식에는 Microsoft Office 365용 신규 ID 및 액세스 솔루션을 배포할 때 고려해야 할 사항이 정리되어 있습니다.
Shift(웹 앱) 보안 레터
웹 앱 보안을 개발 초기 단계로 앞당기세요. F5 블로그에서 DevOps 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.