brunch

You can make anything
by writing

C.S.Lewis

by 흐르는 강물처럼 Jan 15. 2021

방화벽-6 (방화벽 가상화)

클라우드 환경에서의 방화벽의 진화는 어떻게 이루어지는가

이번 글에서는 가상화 기술이 발전하면서 거기에 맞추어 방화벽이 어떻게 발전했는지 알아보도록 하겠습니다. CPU의 코어(core) 수가 증가하면서, 하나의 CPU에서 동시에 여러 개의 OS를 구동할 수 있는 기술이 발전하였습니다. 이 기술을 통해 가상 서버의 사용이 활성화되면서, 이 기술을 서버가 아닌 네트워크 장비에도 활용하고 싶은 수요가 생기면서 NFV(Network Function Virtualization: 네트워크 기능 가상화)라는 용어가 등장하였습니다.


현재 대부분의 네트워크 장비, 예를 들면 라우터, 스위치, 방화벽 등은 서버 형태가 아닌 별도의 전용 장비로 공급되고 있습니다. 하지만 이런 장비들도 최초에는 일반적인 서버에 프로그램 방식으로 설치되는 사용되기 시작하였습니다. 지난 글에서 소개드린 1세대 방화벽의 시초인 체크포인트(checkpoint)의 경우에도 처음에는 H/W가 아니라 S/W로 출시되었습니다. 


즉, 방화벽을 설치하기 위해서 일반적인 서버를 구매하여 여기에 방화벽 소프트웨어를 설치하고, 서버 뒤에 네트워크 케이블을 연결하여 동작시켰습니다. 2000년 초중반까지도 이런 방식처럼 서버 형태로 공급되어,, 아주 높은 성능을 요구하지 않는 환경에서는 범용 서버의 CPU 성능으로도 웬만한 트래픽은 문제없이 처리할 수 있었습니다.


하지만 점점 처리해야 할 트래픽이 증가하면서 범용 서버의 성능으로는 한계에 다다르게 되었습니다. 이제 범용 서버가 아닌 전용 장비가 필요한 시기가 된 것이죠. 이때 등장한 것이 넷스크린(Netscreen)이라는 방화벽이었습니다. 이 회사의 방화벽은 기존 S/W방식으로 제품을 팔지 않고 전용 장비에 전용 OS를 설치하여, 그 당시에는 획기적인 성능인 2 Gbps의 처리 성능을 내는 장비까지 출시하였습니다. 


아래 <그림 1>과 같이 대략 13U(56cm)로 랙의 거의 절반을 차지하는 크기에 무게는 23kg이었습니다. 범용 CPU가 아니고 전용 ASIC칩(주문형 반도체: 특정한 기능을 가속해서 처리할 수 있도록 개발된 칩)을 직접 개발하여 적용하고 유닉스를 커널 컴파일(제작자의 의도에 따라 OS를 최적화시키는 작업)하여 전용 OS를 개발하여 적용하였기 때문에, 기존 범용 서버에서 나오는 성능의 대략 10배 이상의 성능을 달성할 수 있었습니다.


<  그림 1 >  최초의 Giga급 방화벽(Netscreen 1000)과 동일 성능을 발휘하는 최신 방화벽


그럼 다음으로 서버 가상화 기술에 대해 알아보죠. 가상화 기술은 물리적으로 독립된 서버에 여러 개의 가상 서버를 동시에 운영할 수 있는 기술입니다. 아래 <그림 2>를 보면 왼쪽 서버처럼 제일 하단에 검은색의 CPU, 메모리, 저장장치, 랜카드로 이루어진 서버 하드웨어가 존재하고, 그 상단에 윈도 혹은 리눅스, 유닉스 등의 운영체제가 설치됩니다. 이렇게 운영체제가 설치되면, 사용자가 원하는 Web, DNS, Mail 등 의 응용프로그램이 설치되어 독립된 서버로 동작하게 됩니다.


그런데 <그림 2 >의 오른쪽 서버와 같이 동일한 하드웨어에 OS 대신에 VMware 같은 하이퍼바이저(Hypervisor)가 설치되면 CPU에 있는 각각의 코어(Core)를 독립된 하나의 가상 CPU로 인식하여, 하나의 가상 서버를 구성할 수 있도록 해줍니다. 또한 메모리, 하드디스크 등도 사용자가 설정하는 용량만큼 분할하여 각각의 가상 서버에 독립적으로 할당시켜 물리적으로 한 개의 메모리와 하드디스크가 가상 서버 개수만큼 존재하는 것처럼 동작하게 도와줍니다.


< 그림 2 >  전통적인 서버와 가상화 서버 비교 (출처 : VMWare)


이렇게 생성된 가상 서버를 보통 VM(Virtual Machine) 혹은 가상 머신이라고 말합니다. 요즘 인텔 서버용 CPU당 코어 수는 모델에 따라 4개에서 28개까지 장착되어 있기 때문에 하나의 CPU가 있는 서버에 VM당 2개의 코어를 할당한다고 가정하면 최대 14개의 VM을 작동시킬 수 있습니다. 물리적으로 한대의 서버에 14개의 가상 서버를 운영할 수 있다면 가상화를 사용하지 않는 서버만 운영할 경우보다 서버 운영 자원의 절감이 가능합니다. 랙에 설치되어 차지하는 공간, 전원 소모량, 발열을 냉각하기 위한 항온항습기 전기 소모량 등 서버 유지비의 획기적인 절감이 가능하기 때문에 현재 많은 조직에서는 규모의 차이만 있을 뿐 많은 서버를 가상 서버로 운영하고 있습니다. 


물리적인 자원의 절감뿐만 아니라 서버를 운영하는 데 있어서도 시간과 인력을 절감할 수 있습니다. 신규로 OS를 설치할 경우 짧게는 20분에서 1시간 이상의 시간이 소요되었지만, 가상화 기술을 이용하게 되면 VM이 하나의 파일로 만들어 지기 때문에, 하이퍼바이저를 통해 동일한 OS에 동일한 소프트웨어가 설치된 VM을 배포하여 3~5분 내에 원하는 개수만큼 바로 사용할 수 있게 됩니다. 그리고 VM에 할당하는 CPU, 메모리를 하드웨어 자원에 여유가 있다면 VM에 할당하는 자원을 원하는 만큼 늘이거나 줄일 수도 있고, 저장 공간도 늘일 수 있기 때문에 서비스 접속자의 증가에 유연하게 대응이 가능합니다.


VM이 파일 형태로 존재하기 때문에 하드웨어의 공간적 제약도 없게 됩니다. 특정 서버에 있는 VM들의 사용량이 증가하여 해당 서버의 CPU 사용량이 높아지더라도 가상화 관리 프로그램이 자동으로 CPU 자원에 여유가 있는 서버로 VM을 중단 없이 이동시킬 뿐만 아니라 하드웨어의 장애가 발생되더라도 VM을 짧은 시간 내에 다른 서버에서 재가동시키기 때문에 서버 관리자의 업무량도 획기적으로 줄일 수 있게 되었습니다.


서버 가상화를 운영 중인 조직은 자기도 모르는 사이에 아주 기초적이기는 하지만 NFV 기술을 사용하고 있다고 볼 수 있습니다. 여러 대의 VM들이 하나의 서버에서 작동하게 되면 같은 서버 내의 VM 간의 통신뿐만 아니라 서버 외부의 다른 서버 와도 통신이 필요합니다. 아래 <그림 3>과 같이 하이퍼바이저 내에는 'vSwitch'라는 가상의 스위치가 존재합니다. 물리적인 스위치 대신에 가상의 스위치를 이용하기 때문에 사용 포트 수의 제한이나, 물리적인 케이블의 연결이 필요 없게 되었습니다.


아래 <그림 3>의 왼쪽 그림과 같이 총 4개의 VM이 있고 각각 vNIC이라는 가상의 네트워크 카드를 통해 vSwitch에 가상으로 연결되어 있고 이를 통해 오른쪽 3개의 서버 VM이 서로 통신이 가능하게 됩니다. 제일 왼쪽 VM은 방화벽 프로그램을 구동시켜 방화벽으로 동작 중입니다. 서버 VM에 연결된 가상 스위치가 방화벽 VM으로 연결되어 있고, 방화벽 VM은 다시 다른 가상 스위치를 통해 서버 외부로 연결되어 있습니다. 이렇게 가상으로 연결된 네트워크 구성을 실제 장비로 동일하게 구성하면 오른쪽 그림과 같습니다. 서버 3대가 하단 스위치에 연결되어 있고, 하단 스위치는 방화벽에 방화벽은 상단 스위치에 연결되어 있어 인터넷 등의 외부 네트워크로 통신이 가능하게 구성할 수 있습니다.


< 그림 3 >  가상 스위치를 통한 네트워크 구성 예 (Virtual vs Real)


서버 3대, 스위치 2대, 방화벽 1대를 구성할 경우, 차지하는 공간, 소비되는 전력량, 발열로 인한 냉각 비용을 고려하면, 총 6대의 장비를 서버 1대로 구성할 수 있게 되면 여러 물리적인 자원의 획기적인 절감이 가능해집니다. 그뿐만 아니라, 이렇게 가상으로 구성된 전산 자원이 소프트웨어적인 파일 단위로 존재하기 때문에 쉽게 복제하여, 짧은 시간에 동일하게 구성할 수도 있습니다. 구성 변경을 할 경우에도 장비가 있는 데이터센터에 직접 가서 장비를 추가로 설치하거나 네트워크 케이블을 연결할 필요 없이 원격에서 관리 프로그램을 이용하여 손쉽게 장비를 추가, 삭제하거나 네트워크 연결 수정이 가능합니다.


보통 <그림 3>과 같이 VM에 일반적인 웹, DB 같은 서버 프로그램 대신에 방화벽, 라우터, 스위치 프로그램을 동작시켜 가상화된 네트워크 기능을 수행하는 것을 NFV(네트워크 기능 가상화)라고 정의합니다. 네트워크 장비 공급사인 시스코, 주니퍼 등의 종합 벤더뿐만 아니라 포티넷, 팔로알토 네트웍스, 파이어아이 등의 보안 전문 벤더까지 실제 장비와 동일한 기능을 수행하는 소프트웨어를 출시 중입니다. 아래 <그림 4>와 같이 일반적으로 기존에 출시되던 제품명 앞 혹은 뒤에 V 혹은 VM이라는 이름을 붙여서 소프트웨어로 제품을 판매하고 있습니다.


< 그림 4 >  주니퍼 가상 방화벽 소개 문구


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari