메뉴 닫기

Amazon Bedrock 비용을 제어하는 자동화된 선제 대응 아키텍처 구축 방법

기업들이 Amazon Bedrock 기반의 생성형 AI(GAI)를 활용하면서, 토큰 기반 과금 모델에 따라 예기치 못한 비용 증가에 직면하기 쉬워졌습니다. 이를 단순한 알림 수준을 넘는 선제적 비용 관리 시스템으로 해결하는 것이 중요한 과제로 떠오르고 있습니다. 이 포스트에서는 자동화된 토큰 사용량 추적과 예산 초과 차단 기능을 포함한 ‘Bedrock 비용 센트리(Cost Sentry)’ 아키텍처를 중심으로, 실시간 비용 제어와 확장 가능한 AI 시스템 구성이 어떻게 가능한지를 소개합니다.

본문

Amazon Bedrock은 사용된 입력 및 출력 토큰 수량에 따라 요금이 청구되며, 사용한 모델과 리전별 가격 기준에 따라 다르게 부과됩니다. 하지만 많은 조직들이 예산 초과 알림이나 이상 징후 탐지 같은 후속적(trailing) 지표에만 의존하고 있어, 실시간 대응이 불가능한 경우가 많습니다. 따라서 비용 초과를 미연에 방지하는 자동화된 모니터링 솔루션이 필요합니다.

이 기획에서는 ‘선행(leading) 지표’를 활용해 현재 사용량과 설정한 한도를 비교하고, 초과 여부에 따라 Bedrock 호출을 결정하는 구조로 설계되었습니다. 시스템은 AWS Step Functions, Lambda, DynamoDB, CloudWatch 등을 활용한 무서버리스(serverless) 구조로 구성되어 있습니다.

아래는 동기와 비동기 형태로 Amazon Bedrock API를 호출하는 두 가지 방식의 비교 아키텍처입니다.

Amazon Bedrock 동기 및 비동기 구축 방식 아키텍처 비교

주요 구성요소는 다음과 같습니다:

  • 속도 제한 워크플로(Rate Limiter): CloudWatch를 통해 현재 사용 토큰 수를 수집하고, DynamoDB에 저장된 예산 한도와 비교해 Bedrock 호출 허용 여부를 결정합니다.
  • 모델 라우터(Model Router): Amazon Bedrock 모델 호출을 위한 중앙 게이트웨이 역할을 하며, 다양한 모델별 I/O 형식 처리를 추상화합니다.
  • 토큰 사용량 추적: 입력 및 출력 토큰 사용량을 CloudWatch의 지표를 통해 조회하여 예산 한도를 실시간으로 판단합니다.
  • 예산 설정: 각 Bedrock 모델별 토큰 사용 한도를 DynamoDB 테이블에 저장하며, 디폴트 예산 설정도 가능합니다.
  • 가시성: CloudWatch 대시보드 및 AWS Cost Explorer 연계로 예산 추적 및 시간에 따른 비용 분석이 가능합니다.

아래는 본 시스템의 정식 아키텍처입니다:

API Gateway, Step Functions, CloudWatch을 활용한 비용 감시 시스템 전체 아키텍처

Step Functions 기반 워크플로는 다음과 같은 방식으로 동작합니다:

  1. Lambda 함수가 현재 월의 시작일과 종료일을 계산합니다.
  2. 지정한 모델의 토큰 사용량을 CloudWatch에서 불러옵니다.
  3. 이와 함께 DynamoDB에서 해당 모델의 사용 한도를 조회합니다.
  4. 현재 사용량이 예산 이내인지 초과했는지 비교합니다.
  5. 예산 내라면 모델 라우터를 호출하여 Bedrock 응답을 받고, 예산 초과라면 오류를 반환합니다.

아래는 워크플로우의 단계별 시각화입니다:

토큰 사용량 확인과 예산 초과 체크 워크플로우 다이어그램

또한, 모델 라우터는 요청에서 전달받은 modelId를 참조하여 필요한 Amazon Bedrock 모델을 호출하고, 다양한 출력 결과를 일정한 형식으로 표준화하여 반환합니다.

Amazon Bedrock 라우팅 워크플로우 처리 시각화

CloudWatch의 메트릭을 활용해 아래와 같이 토큰 사용 데이터를 실시간으로 추적할 수 있습니다:

CloudWatch Metric:

  • InputTokenCount 및 OutputTokenCount의 월간 합계
  • 모델별 시각화 대시보드 구성

DynamoDB 예산 설정 예시:
{
    "modelId": "anthropic.claude-3-sonnet-20240229-v1:0",
    "limit": {
        "input": 1000000,
        "output": 3000000
    }
}

STEP Functions Workflows에 대한 성능 분석 결과도 주목할 만합니다. 총 501개의 요청을 기준으로 처리 시간 분포는 다음과 같습니다:

  • 짧은 응답 (10초 미만): 간단 질의
  • 중간 길이 (10~22초): 설명형 응답
  • 확장 생성 (최대 32초): 긴 문단 응답

응답 유형별 처리 시간 분포 성능 분석 차트

Step Functions 워크플로의 98.26%는 Bedrock 모델 처리에 소요되며, 시스템 오버헤드는 평균 0.09%로 최소화되어 있습니다. 이는 고속 대량 요청 환경에서도 안정적인 작업 흐름을 유지할 수 있다는 장점을 제공합니다.

비용 분석 측면에서는 Express 워크플로가 월 100,000건 요청 기준으로 약 90%의 비용 절감을 기대할 수 있어 실용적인 자동화 비즈니스에 적합합니다.

결론

Amazon Bedrock 도입 시, 무작정 사용하는 대신 자동화된 예산 제어 시스템을 함께 배포함으로써 예측 가능하고 효율적인 GAI 운영이 가능합니다. 본 포스트에서는 어떻게 Step Functions를 활용해 선제적인 비용 통제를 가능하게 하는지 소개하였고, Part 2에서는 후속 지표와 결합하여 보다 정교한 비용 최적화를 구현하는 방식을 다룰 예정입니다.

[1] https://aws.amazon.com/blogs/machine-learning/build-a-proactive-ai-cost-management-system-for-amazon-bedrock-part-1/

AI, Cloud 관련한 문의는 아래 연락처로 연락주세요!

(주)에이클라우드
이메일 : acloud@a-cloud.co.kr
회사 번호 : 02-538-3988
회사 홈페이지 : https://www.a-cloud.co.kr/
문의하기


AI, Cloud 도입 상담 배너