인스턴스 재고 모니터링 자동화

매일 아침 콘솔에 들어가서 *“오늘 어떤 리전·어떤 스펙이 품절됐나?”*를 직접 확인하던 일이 있었어요. 시간도 시간이지만, 그날그날 사람마다 다른 양식으로 정리하니까 추이를 보기가 어려웠어요.

이걸 자동화하면서 v1 → v4.7까지 점진적으로 개선한 이야기를 정리해봤어요.

기존 방식의 한계

  1. 인증 번거로움 — 재고 조회 API를 호출할 때마다 사내 이메일 인증을 다시 받아야 함
  2. 수동 비효율 — 콘솔이나 보조 도구로는 *“전일 대비 변화”*를 한눈에 보기 어려움
  3. 자동화 부재 — 정기 보고서나 추이 추적 기능이 따로 없음

핵심 기능 (v4.7 기준)

권한·보안

  • 클라우드 API 권한을 확보한 후, SecretId / Key를 Python 스크립트의 안전한 위치에 격리
  • 환경변수 또는 별도 파일로만 관리 (절대 코드에 직접 박지 않음)

데이터 구조화

  • 결과를 Excel로 자동 출력
  • 필터 내장 — 사용자가 받자마자 정렬·필터를 바로 적용 가능

보고서 구성

  • 개요 시트 — 한 화면에 핵심 지표 (대시보드 역할)
  • 상세 분류 — 전체 / 재고 충분 / 품절·부족 3개 시트
  • 일일 변동 — 전일 대비 추적

결제 모드 유연 지원

  • 선불(Reserved) / 스팟(Spot) / 전체 — 사용자가 시나리오에 맞게 선택 추출

메신저 봇 자동 푸시

  • Webhook 기반으로 매일 아침 8시 자동 전송
  • 출근해서 컴퓨터 켜면 이미 와있어요

v4.7에서 고친 것

  • 일일 비교량 계산 오류 — Excel 셀 참조가 한 칸 어긋나서 -1로 표시되던 버그

사용 시나리오

자연어 프롬프트만으로 다양한 보고서를 받을 수 있게 설계했어요.

시나리오프롬프트 (한국어)
기본 (서울)“CVM 재고 보고서 하나 만들어줘”
다른 리전”홍콩 리전 CVM 재고 보고서”
선불만”선불 결제 방식의 CVM 재고 보고서”
스팟”스팟 인스턴스 재고 상태”
전체 빌링모드”모든 결제 방식 포함해서 CVM 보고서”
포맷 변경”CVM 보고서 Word와 Excel 둘 다 줘”
전일 비교”어제랑 비교한 일일 변동 보고서”

결과물

  • 요약 시트 + 품절/부족 시트 + 전체목록 시트 (총 3종)
  • 메신저 채널에 매일 8시 자동 푸시

다음 단계

  • 지능형 알림 — 특정 스펙이 갑자기 품절되면 봇이 자동으로 강조 푸시
  • 고객 맞춤 하이라이트 — 특정 고객이 자주 쓰는 인스턴스 타입을 자동으로 부각

배운 것

자동화의 진짜 가치는 *“시간 절약”*보다 *“일관성”*이에요. 사람이 매일 다른 방식으로 정리하던 데이터를, 같은 양식·같은 시간에 받아볼 수 있게 되니까, 비로소 “추이 분석”이라는 게 가능해지더라고요. 시간 절약은 덤이었어요.