💸 개발자는 만들고 떠나지만, 청구서는 부서장에게 간다 — 실무에서 리소스 삭제가 예산 관리의 핵심인 이유
by gasbugs2026. 5. 9.
클라우드는 만들기는 쉽고, 지우기는 까먹습니다. 그 "까먹음"이 회사의 재무 거버넌스를 무너뜨립니다.
🎯 이 글에서 다루는 것
실무 엔지니어에게 리소스 삭제가 단순 청소가 아닌 이유
미삭제 리소스가 회사 재무에 미치는 4가지 구조적 영향
FinOps 관점에서 본 리소스 라이프사이클의 의미
실무에서 바로 적용 가능한 거버넌스 4가지 패턴
📌 도입 — 어느 인프라팀장의 월말
월말 클라우드 청구서가 도착합니다. 인프라팀장이 이상한 항목을 발견합니다. dev-test-instance-aaron-temp-2. 6개월 전에 만들어졌고, Aaron이라는 엔지니어는 이미 3개월 전에 퇴사했습니다. 매월 12만 원씩, 6개월간 72만 원이 조용히 빠져나갔습니다.
그런데 이런 항목이 한두 개가 아닙니다. 추적해 보니 부서 전체 클라우드 비용의 약 25%가 출처 불명, 책임자 불명의 유령 리소스에서 발생하고 있었습니다.
여기서 우리가 마주해야 할 진실은 이것입니다.
"리소스 삭제를 안 한 것"은 청소를 안 한 게 아니라, 회사의 재무 거버넌스가 한 단계 무너졌다는 신호다.
실습/교육에서 "강의 끝나면 자원을 지웁시다"라고 가르치는 진짜 이유는 강의장 비용 때문이 아니라, 현업에 나간 그 엔지니어가 회사의 예산을 지키는 사람으로 자라야 하기 때문입니다.
🔍 실무에서 리소스 삭제가 예산 관리의 핵심인 4가지 이유
1. 예산 예측 정확도가 무너진다
FinOps에서 가장 중요한 지표 중 하나는 예산 예측 정확도(Forecast Accuracy) 입니다. CFO와 재무팀은 다음 분기 클라우드 지출을 예측해 전사 예산을 편성하고, 이 예측을 기반으로 인력 채용, 장비 구매, R&D 투자가 결정됩니다.
문제는 미삭제 리소스가 매월 누적되면 비용 베이스라인 자체가 부풀어 오른다는 것입니다. 작년 ±5% 정확도로 예측하던 부서가 ±25%로 떨어지면, 재무팀은 그 부서의 모든 IT 신청을 의심하기 시작합니다.
예측 정확도는 단순한 숫자가 아닙니다. 그것은 "이 부서가 자기 인프라를 알고 있다"는 신뢰의 척도입니다. 신뢰를 잃으면 예산을 잃습니다.
2. 비용 책임 추적이 불가능해진다
태그 없이 만들어진 리소스, 퇴사자가 남긴 리소스, 어느 프로젝트에 속하는지 모르는 리소스 — 이런 것들은 모두 "공통 비용(Shared Cost)" 풀로 떨어집니다.
공통 비용이 커지면 회사의 Showback / Chargeback 모델이 무너집니다.
Showback: "이 부서가 이만큼 썼습니다"라고 보여주는 것
Chargeback: "이 부서가 이만큼 부담하세요"라고 청구하는 것
이게 작동하지 않으면 어느 서비스가 흑자이고 어느 프로젝트가 적자인지 측정할 수 없습니다. 단위 경제성(Unit Economics) 분석의 기반이 무너지고, 결국 잘못된 사업 의사결정으로 이어집니다.
SaaS 회사라면 사용자당 마진을 잘못 계산해 가격을 잘못 책정하고, 데이터 회사라면 쿼리당 원가를 잘못 잡아 손해 보는 가격으로 영업합니다.
3. 거버넌스 신뢰가 무너지고, 결재 라인이 길어진다
재무팀과 보안팀이 IT 부서에 가장 자주 던지는 질문은 단순합니다.
"왜 이만큼 비용이 발생했죠?"
리소스 라이프사이클 관리가 무너진 조직은 이 질문에 답하지 못합니다. 답하지 못하면 그 다음 분기에 두 가지가 일어납니다.
예산 자동 삭감
모든 리소스 생성에 사전 결재 요구
두 번째가 더 치명적입니다. 보안팀과 재무팀이 모든 인스턴스 생성에 승인을 요구하기 시작하면, 엔지니어링 속도는 절반으로 떨어지고, 회사 전체의 인프라 민첩성이 사라집니다. "잘 지우는 문화"가 있는 조직만 "빠르게 만드는 자유"를 누립니다.
4. 직접적인 비용 누수가 누적된다
가장 눈에 잘 띄는 부분이지만, 사실 위 세 가지에 비하면 작은 문제입니다. 다만 누적되면 결코 작지 않습니다.
잊혀진 리소스 (1개 기준)
시간당 비용
연간 비용
미사용 Elastic IP
$0.005
약 $44
유휴 NAT Gateway
$0.045
약 $394
빈 EKS 컨트롤 플레인
$0.10
약 $876
잊혀진 GPU 인스턴스 (g4dn.xlarge)
$0.526
약 $4,608
RDS db.t3.medium 단독
$0.068
약 $596
100명 규모 엔지니어링 조직에서 1인당 이런 잔재가 평균 1~2개씩만 떠다녀도, 연간 수천만 원에서 억대 단위의 직접 손실이 발생합니다. 그리고 이 돈은 신규 채용이나 R&D에 쓰일 수 있었던 돈입니다.
💻 실무에 적용하는 거버넌스 4가지 패턴
① 태깅 정책의 강제 (Tag Enforcement)
모든 리소스에 4개 태그를 필수화합니다.
Owner — 책임자 이메일
Project — 비용 청구 대상 프로젝트 코드
Environment — dev / staging / prod
ExpireAt — 자동 만료 일시 (ISO 8601)
AWS는 SCP(Service Control Policy) 또는 Tag Policy, Azure는 Azure Policy, GCP는 Organization Policy로 태그 없는 리소스 생성 자체를 차단합니다.
ExpireAt 태그를 기준으로 매일 한 번 Lambda가 만료된 리소스를 자동 회수합니다. 사람이 잊어도 시스템이 지웁니다. PoC 환경, 학습용 환경, 데모 환경에 특히 효과적입니다.
③ Cost Anomaly Detection 활성화
AWS Cost Anomaly Detection, Azure Cost Management Anomaly, GCP Recommender — 비용 급증을 24시간 이내에 감지해 Slack/이메일로 알림합니다. 사고가 한 달 뒤가 아니라 다음 날 발견되면 손실은 1/30로 줄어듭니다.
④ Idle 리소스 주간 리뷰
AWS Trusted Advisor, Compute Optimizer, Cost Explorer Rightsizing 권고를 매주 인프라팀이 검토하는 의식을 만듭니다. "치우는 시간"을 캘린더에 박아 두지 않으면 아무도 치우지 않습니다.
⚠️ 실무에서 가장 자주 보는 함정
"내가 만든 게 아니니 내가 안 지워도 된다" — 누구도 안 지우면 회사가 부담합니다. 결국 모두의 손해입니다.
"개발 환경은 작은 비용이다" — 24시간 켜진 개발 클러스터가 운영 환경보다 비싸지는 회사가 의외로 많습니다.
퇴사자 인수인계에서 클라우드 리소스 누락 — 유령 리소스의 가장 흔한 원인입니다. 인사 프로세스에 "보유 리소스 명세 제출"을 반드시 포함시켜야 합니다.
태그 없는 리소스 묵인 — "급해서 일단 만들었어요"가 한 번 허용되면 그 문화는 절대 사라지지 않습니다.
IaC로 만들고 콘솔로 지우기 — 의존성 오류로 절반만 지워지고 나머지는 미아가 됩니다. 만든 도구로 지워야 합니다.
✅ 정리
리소스 삭제는 정리가 아니라 재무 거버넌스의 일부입니다
미삭제 리소스는 4가지 후폭풍을 만듭니다 — 예측 무너짐, 책임 추적 불가, 거버넌스 신뢰 손상, 직접 비용 누수
실무 핵심 장비 4가지 — 태깅 강제, TTL 자동화, 비용 이상 감지, Idle 주간 리뷰
다음 분기 예산 협상에서 부서의 입지를 지키는 가장 저렴한 방법은 오늘 안 쓰는 리소스를 지우는 것
강의에서 "실습 끝나면 지우세요"를 가르치는 진짜 이유는, 그 학습자가 현업에 가서 회사의 돈을 지키는 엔지니어가 되도록 하기 위함입니다. 기술이 아니라 운영 문화의 전수입니다.