가비아 'g클라우드' 가이드 3부: 유용한 부가서비스 알아보기
지난 기사에서 대표적인 클라우드 서버 서비스 중 하나인 가비아 g클라우드의 기본적인 이용 방법 및 서버의 생성과 삭제, 사양 조정 방법에 대해 살펴봤다. 이번에는 클라우드 서버를 운영하는 과정에서 유용하게 쓸 수 있는 부가서비스의 종류, 및 적용 방법에 대해 알아보자.
g클라우드의 부가서비스는 g클라우드에 처음 가입해 서버를 신청할 때 선택할 수도 있지만 굳이 그럴 필요는 없다. 서비스 가입 후 g클라우드 관리 콘솔(https://gcloud.gabia.com/)을 통해 직접 서버 관리를 하는 도중에도 필요에 따라 수시로 신청해 적용이 가능하기 때문이다.
특히 유료 부가서비스의 경우는 월 별, 혹은 시간 별로 추가 요금이 부과되므로 꼭 필요한 부가서비스가 무엇인지, 그리고 언제부터 적용해야 효과적인지를 확실히 파악한 후에 신청하는 것이 좋다. g클라우드 관리 콘솔 상단의 '부가서비스 관리' 탭을 통해 다양한 부가서비스를 신청, 관리할 수 있는데 그 중 눈길을 끄는 대표적인 항목은 다음과 같다.
로드밸런싱 – 2대 이상의 웹 서버를 운영한다면 거의 필수
굳이 클라우드 서버가 아니더라도 로드밸런싱(load balancing)의 중요성은 더할 나위가 없다. 서비스의 규모가 커지면 1대의 웹 서버로는 네트워크 트래픽과 데이터의 연산 및 저장을 감당할 수 없게 되는데, 이 때는 추가적으로 웹 서버를 도입, 운영하게 된다. 늘어간 웹 서버의 수만큼 부하가 분산 된다면 한층 원활한 서비스가 가능하기 때문이다.
다만, 단순히 웹 서버의 수가 늘어난다 하여 자동으로 부하가 분산 되는 것은 아니다. 특정 서버로만 부하가 몰리는 것을 방지할 수 없기 때문이다. 이를테면 1대의 서버가 감당할 수 있는 부하가 100%라고 설정하고 2대의 웹 서버가 가동되는 상태에서 120%의 부하가 가해지는 경우, 1번 서버가 100%, 2번 서버가 20%의 부하를 처리하게 된다면 당연히 전반적인 효율이 크게 떨어질 것이다.
이 때 로드밸런싱 서비스가 최상단에 추가된다면 양쪽 서버에 60%씩 고르게 부하가 분산 되므로 효율적인 처리가 가능하다. 하드웨어적으로 로드밸런싱을 하고자 한다면 기본적으로 L4 스위치가 필요하며 경우에 따라서는 L7 스위치까지 추가해야 한다. 다만, 이러자면 대당 수 백만원 정도의 비용이 추가되기 마련이다.
반면, 가상의 클라우드 서버를 운용하는 g클라우드의 경우는 별다른 작업 없이 관리 콘솔에서 클릭하는 것 만으로 곧장 로드밸런싱의 적용이 가능하다. 부가서비스 관리탭에서 로드밸런싱을 적용하고자 하는 공인 IP 및 포트의 번호를 설정하면 곧장 적용된다. 이용 요금은 시간 당 25원, 월 1만 5,000원 수준이며, 트래픽에 따라 1GB 당 100원이 적용된다.
방화벽 – 기본 방화벽은 무료 제공, 필요에 따라 웹 방화벽 추가 가능
최근 해킹을 비롯한 각종 유해한 접근이 종종 시도되는 경우는 흔한 편이며, 일반 PC도 아닌 서버에 이런 침입이 이루어진다면 매우 심각한 피해를 입을 수 있다. 따라서 인증되지 않은 접근을 차단하는 방화벽(Firewall)의 적용은 선택이 아닌 필수다. 서버 운영에 매우 익숙한 관리자라면 해당 서버에 직접 접속해 방화벽을 설치하고 각종 보안 정책을 설정할 수도 있겠지만 그렇지 않은 경우라면 g클라우드의 부가서비스로 제공되는 방화벽 메뉴를 이용해 볼만하다.
우선 g클라우드에서 무료로 제공되는 기본 방화벽을 이용해보자. 이 기본 방화벽은 서버의 윗단에서 접속 포트를 제어하는 역할을 한다. 부가서비스 관리 탭의 '보안' 항목에 있는 '방화벽' 메뉴에서 방화벽을 적용하고자 하는 서비스와 프로토콜, 포트 및 IP 등의 정책을 설정한 후 대상 서버를 지정, ‘저장’을 누르면 간단하게 적용된다.
다만, 이러한 기본 방화벽을 적용하더라도 외부 이용자가 직접 접속하는 웹 서비스의 포트는 늘 열려있기 때문에 이를 통한 해킹 시도는 완전히 차단하기가 어렵다. 이 때 필요한 것이 웹방화벽(Web Application Firewall)이다. IP와 포트 단위로 인증된 접근만 허용하는 일반 방화벽과 달리, 웹방화벽은 웹을 통해 서비스되는 각종 애플리케이션의 취약점을 보강하는 역할을 한다.
소프트웨어 설치형 웹방화벽 중에는 웹나이트(WebKnight), 모드시큐리티(ModSecurity), 캐슬(Castle) 등의 무료 제품도 있다. 서버를 직접 관리하는데 익숙하고 예산이 넉넉하다면 이런 제품을 이용해도 무방하지만 그렇지 않다면 g클라우드의 부가서비스 형식으로 제공되는 웹 방화벽은 닷디펜더(Dot defander)를 이용해 보는 것도 생각해 볼만하다.
부가서비스 관리 탭의 '보안' 메뉴에 있는 '웹방화벽' 항목에서 닷시큐리티를 적용할 서버를 선택해주면 간단히 이용이 가능하다. 닷시큐리티를 적용할 경우 월 15만원의 이용료가 부과된다. 비용이 다소 부담스러울 수 있으나 무료 웹방화벽에 비해 한층 충실한 차단 기능과 사후 지원을 기대할 수 있으니 대규모의 서비스를 운영한다면 도입을 고려해보자. 다만, 아무리 좋은 방화벽을 운영하더라도 관리자가 보안 정책을 제대로 적용하지 않는다면 무용지물이 될 수 있다는 점도 확실히 고려해야 한다.
바이러스 백신 – 윈도 기반 서버라면 필수, 리눅스 기반 서버에선 선택
방화벽이 최전선에서 해킹을 방어하는 역할을 한다면, 바이러스 백신은 침입한 악성 코드에 대한 대처를 한다. 시중에서 운영 중인 서버의 상당수는 방화벽은 설치되어 있지만 백신은 설치되지 않은 경우가 많다. 하지만 보다 완벽한 보안을 위해서는 백신의 도입도 고려해 볼만 하다. 리눅스 서버는 상대적으로 백신에 대한 필요성이 덜한 편이지만, 윈도 기반 서버의 경우 백신의 도입은 선택이 아닌 필수에 가깝다.
g클라우드에서 부가서비스 형태로 제공하는 서버용 백신은 마이크로소프트의 포어프론트(Forefront), SGA의 바이러스체이서(Virus Chaser)가 있다. 부가서비스 관리탭의 ‘바이러스 백신’ 메뉴에서 해당 백신을 적용하고자 하는 서버를 선택하면 간단히 적용되며, 포어프론트의 경우 월 1만 5,000원, 바이러스체이서는 월 3만원의 이용료가 부과된다.
다만, 두 제품 모두 윈도 서버 전용이며, 리눅스 서버용으로 제공되는 백신은 없다. 리눅스 서버에는 백신을 따로 설치하지 않고 운영하는 경우가 많기 때문이다. 다만, 그래도 안심이 되지 않는다면 클램AV(Clam AV)와 같은 리눅스 서버용 무료 백신을 직접 설치하는 것도 고려하자.
공인 IP관리 – 1개는 무료, 그 이상은 유료로 신청해야
인트라넷과 같이 내부적으로만 활용하는 네트워크만 이용한다면 사설 IP만 있어도 문제가 없지만 본격적인 웹 서비스를 시작하려면 외부와 통신이 가능한 공인 IP가 반드시 필요하다. 사설 IP는 외부에서 접속할 수 없기 때문이다. g클라우드 서비스에 가입하면 ID 기준 1개의 공인 IP를 무료 제공하므로 1대의 서버만 운영한다면 문제될 것이 없지만, 서비스의 규모가 커지면 당연히 서버를 추가할 필요가 있으며 이 경우 공인 IP 역시 추가로 신청해야 한다.
g클라우드 관리콘솔의 부가서비스 관리탭에서 ‘공인IP’를 선택하면 현재 이용 중인 공인 IP의 목록 및 이용현황을 확인할 수 있으며, ‘신규 IP 추가’를 선택해 이용할 수 있는 공인 IP를 늘릴 수 있다. 이용 요금은 시간 당 12원, 혹은 월 5,000원 수준이다. 물론 이 메뉴를 이용하지 않아도 서비스관리 탭의 서버 추가 기능을 이용, 새로운 서버를 생성하면 자동으로 공인 IP가 함께 만들어지고 공인 IP 관리 메뉴에도 목록이 추가된다.
참고로 공인 IP 관리 메뉴에선 공인 IP를 추가하는 것 외에 보유 중인 공인 IP를 삭제하는 것도 가능하다. 새 서버를 생성하면 공인 IP도 함께 생성되지만, 해당 서버를 삭제할 때는 연결된 공인 IP까지 자동으로 삭제되지는 않는다. 때문에 서버를 삭제하더라도 해당 서버에서 쓰던 공인 IP는 여전히 공인 IP 관리 메뉴에 남아있으며 요금도 계속 부과된다. 따라서 서버 삭제 후 해당 IP를 더 이상 이용하지 않는다면 공인 IP 관리 메뉴에서 ‘IP 삭제’를 선택해 제거해 줘야 추가적인 요금 부과를 막을 수 있다.
스냅샷 / 이미지 – 장애 복구, 서버 증설 작업의 효과를 높이기 위한 필수 요소
서버가 늘 아무런 장애 없이 잘 운영된다면 좋겠지만 아쉽게도 항상 그렇지는 않다. 해킹의 피해를 입을 수도 있으며, 기능 향상을 위해 새로 적용한 소프트웨어가 오류를 일으키는 경우도 있다. 이런 상황이 발생한다면 가장 먼저 해야 하는 것이 정상적으로 운영되던 시점으로 서버의 상태를 되돌리는 것이다. 이 때 요긴한 것이 바로 스냅샷, 그리고 이미지 생성 기능이다.
스냅샷은 특정 시점의 서버 상태에 대한 전반적인 정보를 저장한 목록이다. 현재, 서버가 문제 없이 구동 되고 있으며, 전반적인 상태가 매우 양호하다면 나중을 위해 현 시점에서의 스냅샷을 생성해 두는 것이 좋다. 이 때 생성한 스냅샷은 나중에 서버 이상이 발생했을 때 이를 정상 상태로 되돌리기 위한 기반이 되기 때문이다. 스냅샷을 생성하려면 gCloud Server 메뉴에서 원하는 서버를 선택한 후, 서버 상세 내역 하단의 '스냅샷찍기'를 선택하면 된다. 스냅샷은 짧으면 수초 안에 생성이 가능하며, 생성한 스냅샷의 목록은 부가서비스 관리탭의 '스냅샷' 메뉴에서 확인 가능하다.
다만, 스냅샷은 나중에 서버 복구를 위한 '기반 정보'일 뿐이지 이 자체로 서버를 복구할 수는 없다. 서버를 복구하려면 해당 스냅샷의 정보에 기초해 서버의 모든 실제 데이터를 압축해 둔 '이미지'가 필요하다. 스냅샷 목록에서 원하는 시점의 스냅샷을 선택한 후 '이미지생성'을 선택하면 해당 스냅샷의 이미지를 만들어 둘 수 있다. 해당 서버를 삭제하면 저장된 스냅샷도 함께 사라지지만 이미지는 스냅샷을 삭제하더라도 남아있다. 따라서 이 이미지를 활용하면 현재 운영 중인 서버를 이전의 상태와 되돌리는 것 뿐 아니라, 이전 서버와 동일한 내용의 새 서버를 빠르게 생성할 수도 있다.
참고로 g클라우드에서 스냅샷을 생성하는 데는 건당 2,000원, 이미지를 생성하는 데는 건당 1,000원의 요금이 부과된다. 이미지 생성은 스냅샷 생성에 비해 시간이 오래 걸리고 추가적인 비용도 든다. 때문에 평소엔 스냅샷만 생성해 두었다가 정말로 복구가 필요하다고 판단되었을 때만 이미지를 생성 기능을 이용하는 것을 추천한다.
부가서비스는 어디까지나 보조 수단, 관리자의 역량이 중요
이외에도 가비아 g클라우드는 서버의 수가 많을 때 관리자의 편의를 높일 수 있는 네임서버 생성기능, 자사의 서버를 관리할 시간이 없거나 관리할만한 역량이 부족할 때 가비아측에게 서버의 운영을 대신 맞기는 위탁운영 기능, 정기적으로 서버의 데이터를 보관해 데이터 손실을 방지하는 백업 기능 등의 부가서비스도 갖추고 있다.
다만, 위와 같은 부가서비스는 어디까지나 서버의 안정적인 운영을 보조하는 역할을 할 뿐이라는 점은 명심하자. 아무리 부가서비스의 기능이 뛰어나더라도 관리자의 정책 설정이 잘못되거나, 이로인해 발생하는 장애에 빠르게 대처하지 않아 발생하는 손실에 대해서는 아무도 책임을 지지 않기 때문이다.
- 해당 기사에 대한 의견은 IT동아 페이스북(www.facebook.com/itdonga)으로도 받고 있습니다.
글 / IT동아 김영우(pengo@itdonga.com)