메뉴 닫기

Amazon Bedrock으로 다중 테넌트 생성형 AI SaaS 비용 자동화 관리

성공적인 생성형 인공지능 SaaS 서비스, Amazon Bedrock로 다중 테넌트 비용 관리 자동화하기

도입

생성형 AI 서비스를 기업 환경에서 운영할 때 가장 큰 이슈 중 하나는 바로 '비용 관리'입니다. 특히 여러 고객(테넌트)에게 서비스를 제공하는 SaaS 환경에서는 예기치 못한 사용량 급증으로 인한 과금 초과가 빈번하게 발생할 수 있습니다. 이 글에서는 AWS의 Amazon Bedrock와 Application Inference Profiles를 활용하여 다중 테넌트 기반 비용을 정밀하게 추적하고 자동화된 경고 시스템과 대시보드를 통해 최적화할 수 있는 구축 가이드를 소개합니다.

본론

  1. 다중 테넌트 환경에서의 과금 문제

전통적인 모니터링 시스템은 대부분 이진 알람 구조(정상/문제 발생)로 되어 있어 미묘한 사용량 추세를 캐치하지 못합니다. 특정 테넌트의 평소보다 높은 사용량이 증가해도 알람이 발생하지 않고, 문제는 최종 과금 통지 후에나 발견되는 경우가 많습니다. 특히 고객 당 계약용량이나 SLA가 다르기 때문에 더 정교한 비용 배분 및 감지가 필요한 상황입니다.

  1. 해결책: Application Inference Profiles

Amazon Bedrock의 Application Inference Profiles는 각 추론 요청에 메타데이터(예: TenantID, ApplicationID)를 태깅하여 보내는 방식으로 각 테넌트 별 API 호출 및 사용량을 구분할 수 있게 합니다. 실제 사용량 기반의 비용 정산이 가능해 집니다. 참고로 AWS 리소스 태깅 기능과 연계하면 마치 고도화된 비용 청구 시스템처럼 운영할 수 있습니다.

  1. 솔루션 아키텍처

전체 솔루션은 다음 구성 요소로 이루어져 있으며 GitHub에서 배포 가능한 샘플로 제공됩니다.

Amazon Bedrock 다중 테넌트 비용 관리 아키텍처 다이어그램

  • Amazon Bedrock 모델
  • Lambda 함수 실행 및 CloudWatch 메트릭 수집
  • SNS 알림과 경보 전송
  • API Gateway를 통한 추론 호출
  • CloudWatch 대시보드 제공
  1. 구축 방법 요약
  1. 기본 요건
  • AWS 계정 (Lambda, CloudWatch, SNS 등의 리소스를 생성할 권한 포함)
  • Python 3.12 설치
  • 가상 환경 구성 (venv 추천)
  1. 프로젝트 설정

GitHub 저장소에서 코드 클론 후 가상 환경을 설정합니다.

  1. 비용 단가 조정

models.json 파일에서 입출력 토큰 단가를 직접 반영합니다.

Bedrock 단가 설정을 위한 models.json 편집 화면

  1. 프로파일 및 경고 임계값 설정(config.json)

Bedrock 테넌트 프로파일 설정을 위한 config.json 편집 화면

각 프로파일은 고유한 태그를 가지며, 태그 키는 중복되지 않아야 합니다. 또한 관리자용 이메일 주소도 설정하여 알람 이메일을 받을 수 있도록 구성합니다.

  1. 리소스 생성 및 배포
python setup.py --create-user-roles

또는 사용자 권한을 별도로 생성하지 않고 배포하려면:

python setup.py

실행 시 Lambda, SNS, CloudWatch 대시보드, API Gateway 등이 자동으로 생성됩니다.

  1. 모니터링 및 자동 알람

각 프로파일별로 다음과 같은 사용자 프로파일 중심의 알람이 설정됩니다:

  • BedrockTokenCostAlarm-{profile} : 5분간 비용이 임계값 초과 시
  • BedrockTokensPerMinuteAlarm-{profile} : 분당 토큰 수 초과 시
  • BedrockRequestsPerMinuteAlarm-{profile} : 분당 요청 수 초과 시

상태는 OK, ALARM, INSUFFICIENT_DATA 세 가지이며 알람 상태 변화 기준으로 SNS 알림이 발송됩니다.

CloudWatch 대시보드에서 비용 추적 및 알람 확인 화면

  1. 자동화 및 유효성 검증

시스템은 수집된 메트릭 기반으로 다음을 자동화합니다:

  • 프로파일별 소비 추세 분석
  • SLA 초과 시 알림 발송
  • 시점별 사용량 비교
  • 비정상 요청 및 단가 급등 여부의 구분
  1. 정리(Cleanup)

모든 리소스를 삭제하려면 다음 명령어를 실행합니다:

python unsetup.py

결론

Application Inference Profiles를 활용하면 Amazon Bedrock 기반의 생성형 AI 시스템에서도 테넌트별 사용량을 정밀하게 추적하고, 비용 할당을 명확히 하며, 자동 경고와 대시보드를 통해 실시간 대응이 가능한 체계를 구축할 수 있습니다. 복잡한 API 사용량, 비정상 트래픽, 과잉 청구 위험을 사전에 인지하고 대응할 수 있도록 하는 강력한 비용 최적화 자동화 기법입니다.

지금 여러분의 조직 구조 및 운영 형태에 맞춰 이 솔루션을 배포하고 운영자와 재무 팀 모두가 만족할 수 있는 비용 운용 가시성을 확보해보세요.

https://aws.amazon.com/blogs/machine-learning/manage-multi-tenant-amazon-bedrock-costs-using-application-inference-profiles/

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

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


AI, Cloud 도입 상담 배너