컨테이너 세계에는 혼란스러움만큼이나 무질서도 가득합니다. 컨테이너 오케스트레이션 환경에는 하루가 멀다 하고 새로운 기능이나 구성 요소가 등장하는 듯합니다. 이는 필요한 과정입니다. 컨테이너 활용이 실험적 단계를 넘어 필수적인 영역으로 확대되면서 아직도 성숙해 가고 있기 때문입니다.
속도와 확장성은 컨테이너 배포를 이끄는 두 가지 주요 요인입니다. 전자는 제공만큼이나 개발과도 밀접하게 관련되어 있으며, 따라서 확장성에 초점을 맞추게 됩니다. 하지만 단순한 프로토콜 수준의 확장성이 아니라 애플리케이션 확장성을 말하는 것입니다.
이러한 구분은 중요합니다. 컨테이너는 마이크로서비스를 포함할 가능성이 가장 높은 것으로 평가되며, 마이크로서비스의 핵심 원칙 중 하나는 오직 API를 통해서만 통신하는 것입니다. 이 API는 TCP가 아닌 HTTP를 기반으로 하므로, 확장을 위해서는 더 지능적인 솔루션이 필요합니다.
대부분의 컨테이너 오케스트레이션 환경에는 기본적인 확장을 지원하는 프록시가 기본 제공됩니다. 즉, TCP 계층에서 일반적인 로드 밸런싱(POLB)을 수행합니다. IP 주소와 포트는 이러한 프록시에서 공통으로 사용되는 언어입니다. 서비스가 IP 주소와 포트의 조합을 기준으로 구분되는 환경에서는 제대로 작동하지만, API 버전, URI 또는 호스트 이름과 같은 HTTP 계층 특성을 기준으로 구분되는 애플리케이션(서비스)에는 적합하지 않습니다. 이러한 특성은 애플리케이션 계층(HTTP) 구성 요소이며, 원하는 속도로 라우팅하고 확장하려면 더 지능적인 프록시가 필요합니다. 클라이언트 측 엔터티로부터 요청을 받으면 이러한 구성 요소를 고려해야 하지만, 대부분의 기본적인 컨테이너 확장 솔루션은 이를 지원하지 못합니다.
이러한 요구에 대응하여 Ingress* 제어라는 개념이 등장했습니다. Ingress 제어는 기본적으로 애플리케이션 또는 HTTP 라우팅을 의미합니다 . 이 기능은 21세기 초부터 레이어 7 스위칭, 콘텐츠 스위칭을 비롯한 십여 가지 이름으로 불려 왔습니다. Ingress 제어는 애플리케이션(HTTP) 계층에서 서비스를 구분한다는 전제하에, 컨테이너 환경 내에서 라우팅 및 확장 결정을 내릴 때 그 구분에 따라 동작합니다.
하지만 컨테이너 환경 앞에 F5 BIG-IP을 단순히 배치한다고 해서 이를 Ingress 제어라고 할 수는 없습니다. 원하는 규모와 속도를 달성하려면 Ingress 컨트롤러가 컨테이너 오케스트레이션 환경과도 통합되어야 하기 때문입니다. 이를 위해서는 컨테이너 환경 내부에서 실행되며 컨테이너 오케스트레이션 및 BIG-IP과 기본적으로 통신할 수 있는 구성 요소가 필요합니다.
이러한 역할을 하는 것이 바로 Kubernetes용 BIG-IP Controller입니다. 이는 Kubernetes Pod에서 실행되는 Docker 컨테이너로, BIG-IP를 Kubernetes Ingress 컨트롤러로 사용할 수 있게 해 줍니다. 즉, Kubernetes Ingress 리소스를 읽고 적절한 객체로 BIG-IP를 자동 구성하여 원하는 애플리케이션 계층 구성에 따라 요청이 확장 처리되도록 합니다.
이제 이 컨트롤러가 제공되기 전에는 일반적으로 BIG-IP를 사용해 컨테이너 오케스트레이션 환경 내부에서 실행되는 두 번째 프록시 계층 전반에 트래픽을 ‘분산’했습니다. 이러한 프록시가 Ingress 제어를 담당했습니다. 이 방식을 중단해야 할 타당한 이유는 몇 가지가 있는데, 그중 하나는 가용성을 보장해야 할 대상 내부에서 가용성 서비스를 실행함으로써 발생하는 순환적인 골칫거리입니다.
그 밖에도 다음과 같은 타당한 이유가 있습니다:
- DDoS 완화 기능 활성화
- Take advantage of a 웹 애플리케이션 방화벽을 활용하여 API와 앱을 보호하세요
- IPv6 클라이언트가 IPv4 컨테이너형 앱을 사용할 수 있도록 지원
- TLS를 BIG-IP로 오프로드하고 자체 서명 인증서로 다시 암호화
- 애플리케이션 가속 옵션을 사용하여 성능 향상
이유가 무엇이든, 실제로 BIG-IP를 Kubernetes의 Ingress 컨트롤러로 사용할 수 있습니다. 확장을 위해 서로 다른 두 개의 계층을 둘 필요가 없습니다. 두 번째 확장 계층을 제거하면 제공 및 배포 속도가 향상되고 배포가 간소화되며, 보안, 속도 및 확장성을 위한 다양한 고급 서비스를 활성화할 수 있는 플랫폼도 제공됩니다.
Kubernetes용 BIG-IP Controller에 대한 자세한 내용은 여기에서 확인하거나 Docker Hub의 여기에서 다운로드할 수 있으며, 다음 명령어로 직접 가져올 수도 있습니다:
docker pull f5networks/k8s-bigip-ctlr
계속 확장하세요.
* 예, 대문자 “I”가 중요합니다. 이는 단순히 “환경에 대한 액세스”를 의미하는 기존 네트워크 용어인 “ingress”와 “HTTP 라우팅”을 의미하는 "Ingress”를 구분하기 때문입니다. 맞습니다. 우리는 일을 필요 이상으로 복잡하게 만드는 경향이 있지만, 개발자들이 네트워크 구성을 구현하고 애플리케이션 제공 방식뿐만 아니라 그 이상의 것까지 재정의하는 세상이니 어쩔 수 없습니다.
작성자 소개

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 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.