사이트를 오픈할 때 개발사가 이렇게 말했다고 해 봅시다. "서버비는 한 달에 5만 원 정도 나올 겁니다."
1년 뒤 카드 명세서를 보니 30만 원이 빠져 있습니다. 방문자가 여섯 배로 늘었냐 하면, 그렇지도 않습니다.
클라우드 요금은 쓴 만큼 나옵니다. 편한 구조지만, 반대로 말하면 아무도 지우지 않은 것도 계속 쓴 것으로 칩니다. 서버비가 조금씩 오르는 건 대부분 이 "안 지운 것들" 때문입니다.
먼저: 청구서를 직접 볼 수 있어야 한다#
당연한 이야기 같지만, 발주자가 청구서를 한 번도 본 적 없는 경우가 꽤 많습니다. 개발사 계정 안에서 서비스가 돌고, 개발사가 매달 금액만 청구하는 구조라면 무엇에 돈이 나가는지 알 방법이 없습니다.
- 결제 수단과 최고 관리자 권한은 발주자 명의로 둡니다.
- 개발사에는 운영에 필요한 권한만 따로 줍니다.
- 청구 알림 메일을 발주자 쪽 담당자도 받게 설정합니다.
이미 개발사 계정에서 돌고 있다면 사이트를 넘겨받을 때 챙길 목록을 보고 계정 이전을 먼저 요청하세요. 청구서 이야기는 그다음입니다.
청구서에서 보이는 다섯 덩어리#
AWS, 구글 클라우드, 네이버 클라우드, 버셀 등 회사마다 화면은 다르지만, 청구서는 대개 이 다섯 덩어리로 나뉩니다. 청구 화면에서 서비스별로 보기를 누르면 됩니다.
| 덩어리 | 청구서에 보이는 이름 (예) | 무엇에 대한 돈인가 |
|---|---|---|
| 서버 | EC2, Compute Engine, Functions | 프로그램이 돌아가는 컴퓨터 |
| 데이터베이스 | RDS, Cloud SQL, 관리형 DB | 회원·주문 데이터 저장소 |
| 저장소 | S3, Cloud Storage, Blob | 이미지·파일 보관 |
| 전송 | Data Transfer, 네트워크, CDN | 방문자에게 데이터를 보내는 양 |
| 기타 | 로그, 모니터링, 백업, IP 주소 | 운영하면서 쌓이는 것들 |
한 달 치를 이 다섯으로 나눠 보면, 어디가 커졌는지 바로 보입니다. 전월 대비로 비교하는 게 요령입니다.
조금씩 오르는 흔한 원인#
1. 꺼지지 않은 개발·테스트 서버#
오픈 전에 쓰던 테스트 서버, 기능 하나 확인하려고 잠깐 띄운 서버가 그대로 켜져 있는 경우가 가장 흔합니다. 트래픽이 없어도 켜져 있는 동안은 요금이 나갑니다. 서버 목록에 dev, test, staging 같은 이름이 보이면 지금도 쓰는지 물어보세요.
2. 쌓이기만 하는 로그와 백업#
로그와 백업은 보관 기간을 정하지 않으면 영원히 쌓입니다. 하루치는 몇 원이지만 1년이 쌓이면 무시할 수 없는 금액이 됩니다. "로그는 90일, 백업은 30일치만 보관" 같은 규칙이 설정돼 있는지 확인하세요.
3. 원본 그대로 올라가는 이미지#
상품 사진을 휴대폰 원본(장당 5~10MB)으로 올리면 저장 비용도, 방문자에게 보내는 전송 비용도 커집니다. 이미지를 올릴 때 자동으로 줄여 주는 처리가 되어 있는지 물어보세요. 전송 비용이 서버 비용보다 커지는 사이트가 생각보다 많고, 대개 이미지가 원인입니다. 이 문제는 트래픽이 몰릴 때를 계산하는 법에서 다룬 병목 순서와도 같습니다.
4. 필요 이상으로 큰 데이터베이스#
오픈 때 "넉넉하게" 잡은 데이터베이스 사양이 1년 내내 그대로인 경우입니다. 데이터베이스는 서버보다 단가가 높아서, 한 단계만 줄여도 차이가 큽니다. 사용률이 계속 낮게 나온다면 줄일 수 있는지 물어볼 만합니다.
5. 버려진 부속 자원#
서버를 지웠는데 거기 붙어 있던 디스크, 고정 IP 주소, 스냅샷은 남아 있는 경우입니다. 하나하나는 작지만 모이면 매달 몇만 원이 됩니다.
예시: 5만 원이 30만 원이 되기까지#
실제로 흔한 흐름을 숫자로 풀어 보면 이렇습니다. 금액은 설명을 위한 예시입니다.
| 항목 | 오픈 첫 달 | 1년 뒤 | 무슨 일이 있었나 |
|---|---|---|---|
| 운영 서버 | 3만 원 | 3만 원 | 방문자가 조금 늘었지만 사양은 그대로 |
| 테스트 서버 | 0원 | 4만 원 | 리뉴얼 기능 확인하려고 띄운 뒤 잊음 |
| 데이터베이스 | 1.5만 원 | 9만 원 | 이벤트 때 사양을 올리고 되돌리지 않음 |
| 이미지 저장·전송 | 0.3만 원 | 7만 원 | 원본 사진이 상품 수만큼 쌓이고, 매번 원본으로 전송 |
| 로그·백업 | 0.2만 원 | 5만 원 | 보관 기간 설정 없이 1년 치가 쌓임 |
| 고정 IP·디스크 | 0원 | 2만 원 | 지운 테스트 서버의 부속 자원이 남음 |
| 합계 | 5만 원 | 30만 원 |
운영 서버, 그러니까 실제로 방문자를 받는 부분은 그대로입니다. 늘어난 25만 원은 아무도 쓰지 않거나, 줄일 수 있었던 것들입니다. 이 경우라면 테스트 서버 정리, DB 사양 원복, 이미지 자동 축소, 로그 보관 기간 설정 네 가지로 대부분을 되돌릴 수 있습니다. 개발자에게는 대개 하루 안쪽의 작업입니다.
개발사에 보낼 질문 다섯 개#
청구서를 보고 이렇게 물어보세요. 기술 용어를 몰라도 됩니다.
- 지금 켜져 있는 서버 중 운영에 쓰지 않는 것이 있나요?
- 로그와 백업의 보관 기간은 어떻게 설정돼 있나요?
- 이미지는 올릴 때 자동으로 줄이나요?
- 데이터베이스 사용률은 어느 정도이고, 사양을 줄일 여지가 있나요?
- 월 요금이 일정 금액을 넘으면 알림이 오도록 설정할 수 있나요?
5번은 꼭 해 두세요. 대부분의 클라우드에 예산 알림 기능이 있어서, "월 10만 원을 넘으면 메일"처럼 걸어 둘 수 있습니다. 어느 날 갑자기 요금이 튀는 사고(잘못된 설정, 무한 반복되는 작업, 외부 공격)를 월말이 아니라 당일에 알 수 있습니다.
서버비는 유지보수 계약과 같이 본다#
서버비 관리가 누구 일인지 정해져 있지 않으면 아무도 안 합니다. 유지보수 계약을 맺을 때 이 항목을 범위에 넣으세요.
수급인은 분기 1회 클라우드 청구 내역을 검토해 미사용 자원과 비용 절감 항목을 보고한다.
한 줄이지만, 이게 있으면 1년 뒤 30만 원이 되기 전에 누군가 한 번은 들여다봅니다. 구축비만이 아니라 이런 운영비까지 넣어 비교하는 방법은 외주 개발의 3년 총비용에서 다뤘습니다.
정리#
- 클라우드는 안 지운 것도 쓴 것으로 친다. 서버비 증가는 대부분 여기서 온다.
- 결제 수단과 최고 권한은 발주자 명의. 청구서를 직접 볼 수 있어야 한다.
- 청구서를 서버·DB·저장소·전송·기타 다섯 덩어리로 나눠 전월과 비교한다.
- 흔한 원인: 꺼지지 않은 테스트 서버, 무한히 쌓이는 로그, 원본 이미지, 큰 DB, 버려진 부속 자원.
- 예산 알림을 걸고, 분기 점검을 유지보수 범위에 넣는다.

