본문

와탭모니터링
[WhaTip] 스타트업 DevOps 엔지니어는 어떻게 서버 비용을 절감했을까?

작성일 2023년 06월 14일
main

많은 기업들이 클라우드에 들어가는 비용을 절감하기 위해 많은 노력하고 있습니다. 특히 서버에 들어가는 비용은 회사마다 천차만별이기 때문에 정확한 수치를 낼 수는 없지만, 많은 기업들이 서버 비용을 절감하기 위해 큰 노력을 하고 있다는 것은 사실인데요. 하지만 서버 비용을 줄이는 것은 절대 쉬운 일이 아닙니다.

오늘은 저희 와탭이 서버 비용을 절감하기 위해 어떤 일을, 왜 그렇게 했는지 공유해 보려고 합니다. 와탭의 경험이 다른 기업들에게도 많은 도움이 되면 좋겠습니다.😄

갑작스럽게 늘어난 서버 비용! 그 원인은?

와탭 모니터링은 1,000개가 넘는 고객사의 데이터를 수집하는 만큼, 이 데이터를 수용할 수 있는 서버 환경을 갖추고 있습니다. 그러던 와중 평소의 2~3배까지 AWS 비용이 증가하는 상황이 벌어졌습니다. 갑작스럽게 비용이 증가한 이유는 신규로 들어오는 데이터가 불안정한 상황에서 그 데이터를 처리하기 위해 AWS에서 사용하는 인스턴스나 자원이 늘어났기 때문이었는데요.

당시 늘어난 자원 중에 가장 큰 문제가 된 부분은 EBS였습니다. EBS란 Elastic Block Store의 약자로 일종의 하드디스크로 EC2와 함께 사용하도록 설계되어 사용하기 쉬운 고성능 블록 스토리지 서비스입니다. 당시 EC2 서버 비용 중 80%가 EBS 보관 비용으로 지출이 되고 있었습니다. 이 부분에 소모되는 비용을 줄이기 위해서는 당장 데이터를 삭제하거나 스펙을 다운하는 방법, 두 가지 중에 하나를 선택해야만 했습니다.

하지만 와탭이 제공하는 서비스 특성상 데이터의 장기 보관이 필수적이기 때문에 데이터 볼륨을 줄이는 방법은 시행할 수 없었습니다. 또한 고성능 IOPS가 필요하기 때문에 스펙을 다운할 수도 없는 상황이었습니다. 결과적으로 EBS와 관련하여 스케일과 스펙, 둘 다 다운하는 방법은 모두 불가능한 상황이었습니다. 그렇다면 이 부분을 어떻게 해결했을까요?

늘어난 서버 비용, 어떻게 절감했을까?

server

바로 파일 시스템을 zfs로 바꿈으로써 해결되었습니다. 기본적으로 zfs는 기존에 사용하던 lvm 파일에 ext4 파일 포맷을 사용하던 것과 달리, 보관되는 용량을 압축해서 보관할 수 있었습니다. 또한 단일 디스크가 아닌 복수의 디스크 볼륨을 한 개의 볼륨처럼 사용할 수 있는 기술을 가지고 있었기 때문에 기존에 사용하던 GP2 타입이 아닌 GP3를 고려할 수 있게 되었습니다.

GP2는 사이즈에 대한 비용만 나와있는 것에 비해, GP3는 IOPS와 MB로 별도로 측정하고 있었습니다. GP3는 IOPS와 MB가 무료로 제공되는 부분이 있는 반면, GP2는 사이즈에 비례하여 IOPS와 MB가 결정되는 방식이 차이점이었습니다. 따라서 대략 20% 저렴한 금액으로 GP3를 사용할 수 있다는 사실을 알게 된 것이었죠.

GP2와 GP3가 동일한 스펙이어도 가격 차이가 꽤 나기 때문에 변경시 하자는 없을까 우려를 많이 했지만, 실제로 테스트를 진행한 결과 우수한 성능을 확인할 수 있었습니다. 자체적으로 진행한 테스트 결과에 따르면 GP3 여러 개를 하나의 볼륨으로 이용하는 것이 GP2 하나를 이용하는 것보다 더 효율적이라는 사실을 알게 되었습니다. 그리고 저희는 GP3로 변경하게 되었습니다.

GP3로 변경하는 과정에서 서울 리전에 신규 인스턴트가 추가된다는 사실을 알게 되었습니다. 추가되는 인스턴스는 바로 graviton2라는 CPU를 사용하는 타입의 인스턴스였습니다. AWS 입장에서 기존의 인스턴스들보다 graviton2가 더 저렴하고 퍼포먼스가 강하다고 어필하고 있었기에, 실제 성능이 궁금해졌습니다. 실제로 테스트를 해 보니 m5보다 더 좋은 성능의 인스턴스라는 사실을 알게 되었습니다. 관련해서는 자세히 작성한 또 다른 블로그 글이 있으니 참고해 부탁드립니다.

참고 콘텐츠: AWS graviton 2, gp3 측정

평소에 이용할 수 있는 서버 비용 절감 방법이 있다면?

server_money

저희는 앞에 설명드린 방법 외에도 지속적으로 예약 인스턴스 (Reserved Instance)를 사용하여 비용을 절감하고 있었습니다. 예약 인스턴스는 자기가 사용하는 인스턴스를 1년에서 3년 정도를 계속 사용한다는 조건으로 AWS 측으로부터 가격을 조금 할인받아서 사용하는 정책입니다. 최소 30%부터 최대 70%까지 할인을 받을 수 있기 때문에 예약 인스턴스를 사용하는 것만으로도 비용을 절약할 수 있습니다. 다만, 지속적으로 관리를 해야 하는 것과 각 인스턴스 타임마다 관리를 해야 한다는 단점이 있습니다. 하지만 이것만 관리할 수 있다면 큰 폭으로 비용을 절감할 수 있습니다. 더는 인스턴스를 사용하지 않는 경우, 다른 인스턴스 타입으로 변경하거나 완전히 사용하지 않을 경우에는 마켓플레이스에 올려 다른 AWS 사용자에게 판매하는 것 또한 가능합니다.

AWS를 통해 비용을 절감할 수 있는 방법으로는 세이빙 플랜 (Saving Plans)이라는 정책도 있습니다. 세이빙 플랜 같은 경우 예약 인스턴스보다 편하게 사용할 수 있는 예약 플랜으로, 큰 구조는 다르지 않지만 조금 더 유연하게 이전할 수 있다는 점이 장점입니다. 다만 예약 인스턴스보다는 할인률이 떨어진다는 것이 단점이기도 합니다.

예약 인스턴스와 세이빙 플랜을 이용해도 비용이 많이 나가는 경우, 스팟 인스턴스 (Spot Instance)를 사용하는 방법이 있습니다. 스팟 인스턴스는 AWS가 남는 인스턴스들을 경매에 올려 기업에게 할당하는 방식입니다. 경우에 따라 최대 90%까지 할인이 가능하기 때문에 비용 절감에 큰 도움이 될 수 있습니다. 하지만 언제 죽을지 모르는 인스턴스라는 점과 경매가보다 금액이 높아지면 자연스럽게 소실되는 인스턴스이기 때문에, 언제 죽어도 상관없는 인스턴스만 띄우는 것을 권장합니다.

마무리

지금까지 와탭이 늘어난 서버 비용을 어떻게 줄였는지에 대해 함께 알아보셨는데요. 어떠셨나요?

요약 정리를 하자면 먼저 너무 많이 불어난 볼륨 장치와 인스턴스를 1차적으로 정리하고, 그 다음으로 필요한 자원만 남는 것. 그 다음으로 조금 더 저렴한 신규 인스턴스로 넘어간 것이 이번 비용 절감의 방법이었습니다.

이 내용이 다른 분들께도 도움이 되길 바라면서 다음에도 유용한 정보로 돌아오겠습니다! 이번 블로그 내용을 영상으로 확인하고 싶다면 아래의 링크를 클릭해 주세요! 감사합니다. 🙂

[WhaTip] 스타트업 DevOps 엔지니어는 어떻게 서버 비용을 절감했을까?

박소현[email protected]
Marketing TeamManager

지금 바로
와탭을 경험해 보세요.