
수년 동안 컨트롤 플레인의 프로그래밍 기능은 API가 주도해 왔습니다. F5에서는 이를 iControl이 담당해 왔습니다. 처음에는 SOAP 인터페이스로, 이후에는 REST로 제공된 iControl은 그 이름이 의미하는 그대로 NetOps가 BIG-IP 구성의 모든 측면을 제어할 수 있도록 해주었습니다.
이러한 방식은 앞으로도 계속 사용될 것입니다. API는 많은 조직이 애플리케이션 서비스 배포를 관리하는 데 필요한 세밀한 제어 기능을 제공합니다. 또한 파트너 및 새로운 환경과의 통합을 추진하는 데에도 핵심적인 역할을 합니다.
그렇다고 해서 API가 BIG-IP 운영을 자동화하는 유일한 정답이라는 의미는 아닙니다. 실제로 애플리케이션 및 애플리케이션 서비스 배포에 보다 지속적인 접근 방식을 도입하려는 움직임 속에서 대안적인 방법이 등장했습니다. 이 방법은 선언적 방식으로, 운영자가 구성의 최종 상태를 기술하면 구현 책임은 대상 시스템으로 이관됩니다.
선언적 구성 방식을 채택해야 하는 이유는 많으며, 그중에서도 코드형 인프라 및 지속적 배포와 같은 DevOps 접근 방식에 부합한다는 점이 중요합니다. F5 AS3의 목표는 API에 대한 의존도를 낮추고 완전히 자동화된 지속적 배포 파이프라인을 구현할 수 있도록 지원하는 선언적 인터페이스를 제공하는 것입니다. 이 방식은 코드형 구성이라고 부르는 것이 더 적절합니다. 이 용어가 암시하는 것처럼 실제로 코드로 인프라를 구축하는 것은 아니기 때문입니다.

AS3는 JSON 키-값 쌍을 사용하여 BIG-IP 구성을 기술하는 선언적 형식입니다. 가상 IP와 가상 서버부터 필요한 멤버, 풀, 노드에 이르기까지 AS3는 구성을 기술할 수 있는 간단하고 읽기 쉬운 형식을 제공합니다. 구성이 준비되면 이를 BIG-IP로 전송하기만 하면 됩니다. 그러면 AS3 확장 프로그램이 이를 받아 완전한 기능을 갖춘 BIG-IP 구성으로 배포하는 데 필요한 명령을 실행합니다.
VIP 및 풀 설명을 bigip.conf의 AS3 선언으로 변환한 예:
bigip.conf | AS3 선언 |
ltm virtual /Common/serviceMain { destination /Common/10.0.1.10:80 ip-protocol tcp mask 255.255.255.255 pool /Common/web_pool source 0.0.0.0/0 translate-address enabled translate-port enabled}ltm pool /Common/web_pool {members { /Common/192.0.1.10:80 { address 192.0.1.10 } /Common/192.0.1.11:80 { address 192.0.1.11 } } monitor /Common/http} | "serviceMain": { "class": "Service_HTTP", "virtualAddresses": [ "10.0.1.10" ], "pool": "web_pool" }"web_pool": { "class": "Pool", "monitors": [ "http" ], "members": [ { "servicePort": 80, "serverAddresses": [ "192.0.1.10", "192.0.1.11" ] } ] } |
이러한 방식으로 BIG-IP 구성을 기술할 수 있으므로 운영팀은 애플리케이션 서비스 배포에 코드형 구성 방식을 도입할 수 있습니다. 리포지토리를 활용하면 배포할 AS3 구성을 자동으로 가져올 수 있습니다. 리포지토리는 자동화에 활용할 수 있을 뿐만 아니라, 보다 현대적이고 통합에 용이한 방식으로 구성의 버전을 관리하고 구성을 운영할 수 있게 해주며, 구성에 문제가 발생할 경우 신속하게 롤백할 수 있도록 지원합니다.
예를 들어 GitHub의 Webhook 기능을 사용하면 새로 추가되거나 업데이트된 AS3 구성이 커밋될 때 자동으로 배포를 시작할 수 있습니다. 이를 위해서는 새 서비스 정의(AS3)가 커밋되었다는 알림을 기다리는 Webhook 서버가 필요합니다. 이러한 알림은 이벤트에 대한 정보가 포함된 JSON 객체인 hook 형태로 전달됩니다. 알림을 수신하면 Webhook 서버가 hook을 구문 분석하고 GitHub에서 해당 AS3를 가져와 구성 프로세스를 시작합니다.

GitHub에서 최신 버전의 AS3를 다운로드할 수 있습니다。 AS3 확장 프로그램 배포에 관한 문서와 AS3 구성 예시는 여기에서 확인할 수 있습니다.
Webhook 프로토타입은 CTO실의 개발자 애드버킷인 Nathan Pearce가 개발했습니다. BIG-IP를 CI/CD 및 텔레메트리 파이프라인과 통합하는 더 많은 프로토타입과 예시는 GitHub에서 Nathan과 F5 Networks를 팔로우하여 확인할 수 있습니다.
작성자 소개

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