Articleaws.amazon.com·2026년 9월 1일·0

Tokenomics at scale: How Jamf built real-time spend enforcement for Amazon Bedrock

Quick Summary

Jamf는 Amazon Bedrock의 개인별 일일 지출을 측정하고 모델 접근을 단계적으로 제한해, 저비용 모델 사용을 유지하면서 AI 비용을 통제하는 운영 시스템을 구축했다.

Tokenomics at scale: How Jamf built real-time spend enforcement for Amazon Bedrock 관련 대표 이미지

🖼️ 인포그래픽

Tokenomics at scale: How Jamf built real-time spend enforcement for Amazon Bedrock 내용을 설명하는 본문 이미지

🖼️ 4컷 인포그래픽

Tokenomics at scale: How Jamf built real-time spend enforcement for Amazon Bedrock의 핵심 내용을 4단계로 요약한 인포그래픽
Tokenomics at scale: How Jamf built real-time spend enforcement for Amazon Bedrock 핵심 내용을 4단계로 압축한 4컷 인포그래픽

💡 한 줄 요약

Jamf는 Amazon Bedrock의 개인별 일일 지출을 측정하고 모델 접근을 단계적으로 제한해, 저비용 모델 사용을 유지하면서 AI 비용을 통제하는 운영 시스템을 구축했다.

📌 핵심 요약

  • Jamf는 엔지니어링 조직에 Amazon Bedrock 접근을 확대하면서 생산성 향상과 함께 개인별 AI 지출 가시성 및 비용 책임 관리의 필요성을 확인했다.
  • 시스템은 일일 예산의 80%에서 Anthropic Claude Opus, 100%에서 Anthropic Claude Sonnet 접근을 제한하는 방식을 사용하며, Anthropic Claude Haiku는 계속 사용할 수 있도록 유지한다.
  • Amazon Athena가 호출 로그의 토큰 수와 모델 요금으로 개인별 일일 지출을 계산하고, AWS Lambda가 15분마다 예외 한도를 확인한 뒤 IAM 고객 관리형 정책을 갱신하며 임계값 변경 시 Slack으로 알린다.
  • 정책 변경은 재인증 없이 다음 호출에 적용되며, 날짜가 바뀐 뒤 집행 작업이 다시 실행되면 제한이 자동 해제된다. 관리자는 Slack 명령으로 만료 시점이 있는 개인별 상향 한도를 부여할 수 있다.
  • 수백 명이 사용하는 환경에서 AWS Lambda·DynamoDB·S3 비용은 월 10달러보다 훨씬 낮았지만, Amazon Athena는 JSON 로그의 반복 스캔 비용에 주의해야 했다. 신규 모델 요금 등록, IAM 정책 버전 5개 제한, Athena 비동기 쿼리 처리도 주요 운영 과제였다.

🧩 주요 포인트

  1. 개인별 지출 가시성과 단계별 한도 → 경영진이 비용을 통제할 수 있다는 확신을 얻어 AI 접근 확대를 뒷받침한다.
  2. Anthropic Claude Haiku 유지와 만료형 예외 한도 → 예산 집행 중에도 기본적인 작업 지속과 추가 사용 수요를 지원한다.
  3. 일일 누적 지출 재계산과 15분 주기 집행 → 중복 실행과 누락 이후의 복구를 단순화하며, Amazon Athena 스캔 비용과 신규 모델 요금 관리가 운영 신뢰성을 좌우한다.

🧠 상세 정리

1. 행동에 따라 증가하는 AI 비용과 개인별 관리 필요성

원문은 생성형 AI 비용이 기존 컴퓨팅 비용과 달리 확보한 용량보다 사용자의 행동에 따라 증가한다는 문제에서 출발한다. 고급 모델을 사용하는 에이전트 코딩 작업에서는 엔지니어 한 명이 몇 시간 만에 팀 전체의 일주일 사용량보다 많은 토큰을 소비할 수 있다. 청구서가 도착하기 전까지 사용량이 보이지 않으면 비용 통제와 투자 대비 효과 입증이 모두 어려워진다. 7만 6천 개 이상의 조직에 Apple 기기 관리·보안 서비스를 제공하는 Jamf도 개발 조직에 Amazon Bedrock 접근을 넓히면서 이 문제를 마주했다. 생산성은 향상됐지만, 접근을 더 확대하려면 개인별 지출 규모와 업무를 방해하지 않는 한도 적용 가능성, 생산성 향상이 비용을 정당화하는지를 설명할 수 있어야 했다.

2. 예산에 따른 모델별 제한과 작업 지속

Jamf가 구축한 운영 시스템은 엔지니어별 Amazon Bedrock 일일 지출을 추적하고 예산 사용 수준에 따라 모델 접근을 단계적으로 제한한다. 원문이 제시한 예시에서는 일일 예산의 80%에 도달하면 Anthropic Claude Opus를 제한하고, 100%에 도달하면 Anthropic Claude Sonnet도 제한한다. 저비용 모델인 Anthropic Claude Haiku는 차단하지 않아 예산을 모두 사용한 엔지니어도 작업을 이어갈 수 있다. 제한은 수분 내 효력이 발생하며 재인증을 요구하지 않고, 다음 일일 초기화 이후 자동으로 해제된다. 정당한 추가 사용 수요에는 문서화된 예외 절차로 기간이 정해진 상향 한도를 제공해 비용 통제와 업무 지속을 함께 지원한다.

3. 호출 로그를 개인별 비용으로 변환

측정 단계는 엔지니어가 AWS IAM Identity Center의 단일 로그인 세션으로 Amazon Bedrock 모델을 호출하면서 시작된다. Amazon Bedrock은 모델 식별자, 입력·출력 토큰 수, 사용자 신원을 포함한 호출 로그를 지정된 Amazon S3 버킷에 저장한다. Amazon Athena의 bedrock_cost_today 뷰는 이 로그를 직접 읽고 모델별 공개 요금을 토큰 수에 곱해 사용자별 당일 지출을 산출하므로 별도의 데이터 파이프라인이 필요하지 않다. 배포할 때는 로그 위치를 대상으로 테이블과 뷰를 만들고, 사용 리전의 최신 요금과 각 모델 계열의 명시적인 요금 분기를 설정해야 한다. 등록되지 않은 모델에는 비용을 0으로 계산하는 대신 최고 요금 구간을 적용해 제한 우회를 막으며, 관련 경보가 발생하면 실제 요금을 신속히 추가하도록 한다.

4. 주기적 판단과 알림을 IAM 정책으로 집행

Amazon EventBridge가 15분마다 AWS Lambda 집행 함수를 실행하면, 함수는 Athena의 당일 지출과 DynamoDB에 저장된 개인별 예외 한도를 함께 확인한다. 같은 함수는 DynamoDB 상태 테이블의 이전 상태와 비교하고 새로운 임계값을 넘을 때 해당 단계에 대한 Slack 개인 메시지를 한 번 보내 제한 사실을 알린다. 실제 접근 제한은 사용자별 saml:sub 조건을 포함한 IAM 고객 관리형 정책의 새 버전을 게시하는 방식으로 수행한다. 정책은 처음에 빈 사용자 목록으로 생성해 IAM 권한 세트에 연결하고, 이후 Lambda가 제한 대상 목록을 채운다. 엔지니어의 다음 Amazon Bedrock 호출에서 IAM이 갱신된 정책을 평가하므로 재인증이나 권한 세트 재프로비저닝 없이 허용 또는 거부가 적용된다.

5. 누적 지출 재계산으로 복구와 일일 초기화 단순화

집행 함수는 직전 실행 이후의 변화만 더하는 대신 매 실행마다 당일 누적 지출을 기준으로 각 단계의 전체 제한 대상 목록을 다시 계산한다. 이 구조에서는 같은 작업을 연속 실행해도 제한이 중복 적용되지 않으며, 실행을 한 번 놓치더라도 이후 실행이 최신 지출을 반영하면 상태가 맞춰진다. 원문은 이를 별도의 중복 적용 취소나 롤백이 필요 없는 멱등적 설계로 설명한다. 일일 초기화도 선택한 기준 시간대의 자정을 기준으로 Athena 뷰가 조회하는 지출 범위가 바뀌는 방식에 포함된다. 날짜가 넘어간 뒤 다음 실행에서 임계값을 더 이상 넘지 않는 사용자가 목록에서 빠지고 정책 새 버전이 게시되면 제한이 해제되므로, 별도의 차단 해제 코드를 유지할 필요가 없다.

6. 기간 제한 예외와 배포 전제

대규모 마이그레이션, 고객 문제 대응, 모델 평가처럼 추가 사용이 필요한 경우에는 관리자가 Slack의 /bedrock-limit 명령으로 개인별 상향 한도를 부여한다. 명령은 엔지니어 신원, 상향 한도, 만료 시각을 DynamoDB 예외 테이블에 기록하고 누가 언제 승인했는지와 선택적인 승인 티켓 정보도 남긴다. 만료 시각에 DynamoDB TTL 속성을 설정해 예외 항목이 자동 정리되도록 하며, 집행 함수는 다음 실행에서 활성 예외를 읽어 해당 사용자의 임계값을 조정한다. 배포에는 관련 AWS 리소스를 생성할 권한, 사용자에게 할당된 IAM Identity Center 권한 세트, S3로 전달되는 Bedrock 호출 로그, 인증 정보가 설정된 AWS CLI가 필요하다. Slack 쪽에서도 슬래시 명령, 상호작용, 봇 메시지를 처리하도록 앱을 설정해야 하며, 원문은 구현 코드를 공개 저장소로 제공한다.

7. 운영 비용에서 드러난 JSON 스캔의 한계

운영 경험상 수백 명의 엔지니어를 지원하는 AWS Lambda, DynamoDB, S3 비용은 월 10달러보다 훨씬 낮았지만, Amazon Athena 비용은 스캔 범위와 실행 빈도에 따라 별도로 관리해야 했다. 원문은 필요한 토큰 수와 사용자·모델 메타데이터 중심으로 로그 스키마를 간결하게 유지하고 실행당 비용 뷰를 한 번 조회하도록 권한다. JSON은 행 중심 형식이어서 선택한 열과 관계없이 쿼리마다 전체 바이트를 읽으며, 필터 적용 전 각 행의 역직렬화가 필요하다. 실제로 같은 뷰에 서로 다른 필터를 적용한 네 개의 쿼리가 각각 약 11GB를 스캔했고, 열 가지치기와 조건 푸시다운은 이 문제를 해결하지 못했다. 개선책은 파생 쿼리를 하나의 SELECT와 GROUP BY로 통합한 뒤 애플리케이션에서 결과를 나누거나, 로그를 Parquet 같은 열 중심 형식으로 변환하는 것이다.

8. 운영 제약과 AI 접근 확대의 조건

신규 모델은 활성화하는 시점에 명시적인 요금 분기를 추가해야 하며, 원문은 요금 매핑을 핵심 운영 대상으로 관리할 것을 강조한다. IAM 관리형 정책은 최대 5개 버전만 보관하므로 집행 함수가 새 버전을 만들기 전에 기본 버전이 아닌 가장 오래된 버전을 삭제해야 정책 갱신 실패를 피할 수 있다. Athena 쿼리는 제출 즉시 결과를 반환하지 않으므로 Lambda가 완료 여부를 반복 확인한 뒤 결과를 읽도록 구현하고 함수 제한 시간도 이에 맞춰야 한다. 조직 측면에서는 개인별 상한과 관측 가능한 지출이 경영진에게 확신을 제공해 AI를 사용하는 엔지니어 수를 확대하는 데 도움이 됐다. 저비용 모델을 계속 제공한 선택은 예산 집행 중에도 업무를 이어가게 했으며, 원문은 사용을 종료할 때 생성한 리소스를 삭제해 지속 비용과 집행 통제를 제거하도록 안내한다.

🧾 핵심 주장 / 시사점

  • Jamf 사례에서는 비용 가시성과 개인별 상한이 경영진의 불확실성을 줄여 AI 접근 확대를 가능하게 하는 기반으로 작용했다.
  • 고급 모델부터 단계적으로 제한하고 저비용 모델을 유지하는 방식은 비용 집행과 업무 지속을 동시에 고려한 설계다.
  • 집행 로직의 단순성만으로 운영 효율이 보장되지는 않으며, 로그 형식과 쿼리 통합, 요금 매핑의 정확성이 비용 및 통제 신뢰성에 직접 연결된다.

✅ 액션 아이템

  • 개인별 일일 지출을 기준으로 80%·100% 모델 제한과 Anthropic Claude Haiku 유지 방식을 검토한다.
  • 15분 주기 집행에서 재인증 없는 정책 적용, 일일 제한 해제, 만료 시점이 있는 개인별 상향 한도의 반영을 확인한다.
  • Amazon Athena의 JSON 로그 반복 스캔 비용과 비동기 쿼리 처리, 신규 모델 요금 등록, IAM 정책 버전 5개 제한을 점검한다.

❓ 열린 질문

  • 개인별 AI 지출과 생산성 향상을 어떤 기준으로 비교해 AI 접근 확대의 효과를 판단할 수 있는가?
  • 80%·100% 모델 제한과 Anthropic Claude Haiku 유지가 엔지니어의 작업 지속을 얼마나 지원하는가?
  • 15분 주기 집행에서 Amazon Athena의 JSON 로그 반복 스캔 비용은 전체 운영 비용에 어느 정도 영향을 미치는가?

관련 문서

공통 태그와 주제 흐름을 기준으로 같이 보면 좋은 문서를 이어서 제안합니다.