Skip to content
isdnetworks
Go back

태그가 유일한 비용 손잡이다

인프라를 코드로 정의하면서 비용 추적을 붙이려 했다. 콘솔에서 비용 할당 태그를 켜면 된다고 안내했다가 정정을 받았다.

Table of contents

Open Table of contents

상황 — 비용 추적을 붙이려 했다

안내한 방법은 비용 할당 태그 를 켜는 일반적인 것이었다.

콘솔에서 비용 할당 태그 를 켜고 계정 단위로 나눠 보는 방식이다. 대부분의 문서가 비용 분석 을 그렇게 적고 있고 그대로 하면 되는 경우가 많다.

통합 빌링 인지를 확인하지 않고 일반적인 방법을 그대로 안내했다. 보통은 그게 맞으니 확인할 생각을 안 했다.

제약 — 통합 빌링이 막은 경로

이 계정은 통합 빌링 을 쓰고 있었다.

상위 조직이 묶어서 결제하는 구조라 개별 계정에서는 비용 분석 화면에 접근할 수 없다. 내가 안내한 방법을 그 환경에서는 쓸 수 없었다.

[내 안내]  콘솔에서 비용 할당 태그를 켜세요
[실제]     통합 빌링이라 그 기능이 막혀 있음

정정을 받지 않았으면 비용 할당 태그 를 켜라는 안내를 문서에 남겨 뒀을 것이다.

보통은 이렇게 한다는 말이 그 환경에서 통한다는 뜻은 아니다. 계정 구성과 조직 구조와 계약 형태에 따라 못 쓰는 기능이 있고 그것을 먼저 확인한 뒤에 방법을 정해야 했다.

대신 태그를 읽는 도구가 있었다

그 환경에는 리소스 태그 를 읽는 관리 도구가 따로 있었다.

리소스에 태그가 있다  →  태그별로 비용이 나뉜다
태그가 없다          →  미분류 비용

그 도구가 리소스 태그 를 읽어 비용을 분해한다.

계정으로 못 나누면 태그로 나누는 수밖에 없고 그러면 태그가 사실상 유일한 비용 추적 수단이 된다. 리소스 태그 가 없는 것은 어느 쪽 비용인지 영영 알 수 없다.

유일한 수단이라는 것은 그것이 빠지면 대안이 없다는 뜻이기도 했다.

설정 — 태그 키 체계

ProjectComponent 처럼 키 이름이 제각각이면 분해가 안 되므로 먼저 고정했다.

Project      어느 프로젝트
Component    어느 구성요소
Service      어느 서비스
Environment  운영/개발
ManagedBy    누가 관리하나

Project 부터 ManagedBy 까지 다섯으로 고정하고 값에 무엇을 넣을지도 적었다.

여럿이 나눠 쓰는 것은 Component 에 별도 값을 넣어 표시했다.

Component = shared

shared 로 두면 나중에 안분해야 하는 것이 그 값으로 걸린다.

Component 같은 키를 정하는 것보다 정한 키를 지키게 만드는 것이 더 어려웠다. 그래서 정의 템플릿에 태그를 필수 항목으로 넣어 빼먹기 어렵게 했다.

주의 — 자동 생성 리소스

정의에 다섯 키를 다 넣었는데 하나가 걸렸다.

정의한 리소스  →  태그 붙음
그게 만드는 하위 리소스  →  태그가 전파 안 될 수 있음

어떤 리소스는 하위 리소스를 자동으로 만들고 그쪽에는 리소스 태그 가 안 붙는 경우가 있다.

상위: 무료
하위: 월 얼마

그리고 실제로 과금되는 것이 태그가 안 붙은 하위 쪽이다.

태그가 붙은 상위는 비용이 거의 없고 실제 비용은 미분류 로 빠지므로 정의만 보고 판단하면 이 함정을 못 본다.

검증 — 배포 뒤 확인과 보완

이 전파 문제는 정의 코드로 못 막는다.

1. 배포한다
2. 자동 생성된 하위 리소스의 태그를 확인한다
3. 없으면 명령으로 수동 보완한다

정의에 리소스 태그 를 넣어도 전파가 안 되면 끝이라 배포 뒤 절차로 만들었다.

한 번 확인하면 그 뒤로는 안 바뀌므로 1회로 끝나고 이것을 배포 절차 문서에 넣어 다음 사람도 밟게 했다.

전부 자동으로 붙게 만들 수는 없었지만 빠진 것을 찾아내는 것은 가능했다. 자동화가 완전하지 않을 때 확인 절차가 그 빈틈을 메운다.

이 확인이 없으면 몇 달 뒤 청구서에서 미분류 덩어리를 보게 된다. 태그 규율이 느슨해지는 만큼 비용이 어디로 가는지 모르게 되고 그러면 줄일 자리도 못 찾는다.

정리


Share this post on:

Previous Post
밖에서 오는 문과 안에서 쓰는 문
Next Post
커밋에 남의 작업이 딸려 들어갔다