Amazon Bedrock 위에 사내 LLM Gateway 구축하기: Claude Code, Codex를 위한 인증·비용·거버넌스
아키텍처
Amazon Bedrock 위에 사내 LLM Gateway 구축하기: Claude Code, Codex를 위한 인증·비용·거버넌스
두줄요약
사내 LLM Gateway로 Claude Code와 Codex의 인증, 비용, 모델 접근을 중앙에서 통제하는 설계를 정리했습니다.\nBedrock 기반 멀티 프로바이더 환경에서 예산 차단, 자동 다운그레이드, 감사 추적을 함께 구현한 사례입니다.
문제 상황
- 개발자 전원에게 Claude Code와 Codex를 열어주려 해도 인증, 비용 귀속, 모델 접근, 감사 추적이 분리되지 않는 문제
- BYOAI, 비용 폭증, 에이전트형 AI 실패율, 규제 대응, LLM 무제한 소비 위험이 동시에 커진 상황
- 직접 Bedrock 연결만으로는 팀별 사용량 분리와 선제적 차단·다운그레이드가 어려운 구조
구조와 흐름
- OIDC/SSO 로그인으로 Virtual Key를 발급하고, 모든 LLM 요청을 게이트웨이를 통해 Bedrock으로 프록시하는 이중 평면 구조
- gateway-proxy, admin-api, admin-ui, 비용 기록 워커, 알림 워커, 스케줄러로 역할을 분리한 아키텍처
- Claude와 OpenAI 호환 경로를 모두 수용하면서 인증, 예산, Rate Limit, 모델 화이트리스트를 공통으로 집행
선택 이유
- 오픈소스 프록시보다 실패 경로와 보안 경로를 더 엄격하게 통제하려는 목적
- Bedrock 정식 토큰 카운터와 Redis/Aurora 조합으로 비용 정합성과 운영 내구성을 높이기 위한 선택
- 인증 경로를 원시 ASGI 경로와 DI 기반 관리 API로 분리해 Host 헤더 인젝션 계열 위험을 줄이려는 설계
성능/운영 포인트
- TEAM 예산 우선, 미설정 시 거부, HARD_BLOCK/SOFT_WARNING/THROTTLE 및 자동 다운그레이드로 비용을 선제 제어
- 스트리밍 중단 시 토큰 역산, Redis Stream 기반 비동기 적재, 멱등 처리로 기록 유실과 연쇄 장애를 방지
- 4차원 × 3스코프 Rate Limit, degraded 모드 fallback, 팀별 허용 모델과 운영 대시보드로 거버넌스 일원화
