웹 앱을 위한 AI 게이트웨이: LLM 라우팅, 요청 제한 & 크레딧 관리

Pim Feltkamp6분 읽기
AI Gateway for Web Apps: Route LLMs, Rate Limits & Credits
이 아티클 공유

원시 OPENAI_API_KEY.env 파일에 그냥 넣는 건 빠르게 느껴집니다 — 유출된 빌드 로그, 스크래핑된 클라이언트 번들, 또는 제어되지 않은 fetch 루프가 하룻밤 사이에 수천 달러의 비용을 발생시키기 전까지는요. 웹 앱을 위한 AI 게이트웨이는 애플리케이션과 모든 LLM 제공자 사이에서 단일하고 지능적인 중개자 역할을 함으로써 이 문제를 해결합니다. 이 글에서는 게이트웨이가 정확히 어떻게 작동하는지, 프로덕션 앱에 왜 중요한지, 그리고 Next.js 프로젝트에 어떻게 연결하는지를 설명합니다.

AI 게이트웨이란 무엇이며 어떻게 작동하나요? AI 게이트웨이는 웹 앱과 상위 LLM API 사이에 배포되는 프록시 레이어로, 인증, 모델 라우팅, 요청 제한, 크레딧 회계를 한 곳에서 처리합니다. 앱이 게이트웨이에 요청을 보내면, 게이트웨이가 적절한 모델을 선택하고 런타임에 실제 API 키를 주입하며, 사용 정책을 적용하고 호출을 전달합니다. 코드는 원시 키를 절대 볼 수 없습니다.

AI 게이트웨이란 무엇이며 원시 API 키는 왜 위험한가요?

API 키를 애플리케이션 코드에 직접 포함시키면 여러 복합적인 문제가 발생합니다:

  1. 소스 코드 노출 — 저장소에 커밋된 키(비공개 저장소라도)는 권한 설정 하나만 잘못되면 공개될 수 있습니다.
  2. 빌드 로그 유출 — 많은 CI/CD 시스템이 상세 모드에서 환경 변수를 출력하며, 로그에 나타난 키는 사실상 노출된 것입니다.
  3. 클라이언트 번들 유출 — Next.js 같은 프레임워크에서 NEXT_PUBLIC_ 접두사가 붙은 변수나 실수로 클라이언트 컴포넌트에 임포트된 변수는 모든 브라우저로 전송됩니다.
  4. 중앙 집중적 폐기 불가 — 키가 다섯 개의 서비스에 포함되어 있다면, 폐기 시 다섯 곳 모두를 동시에 업데이트해야 합니다.

AI 게이트웨이는 이 네 가지 문제를 하나로 해결합니다: 앱은 게이트웨이에 인증하고, 게이트웨이가 OpenAI, Anthropic, Google 또는 필요한 제공자에 인증합니다. 한 곳에서 키를 교체하면 모든 하위 서비스가 계속 정상 작동합니다.

"게이트웨이는 스택의 모든 LLM 자격 증명에 대한 단일 진실 공급원입니다. 애플리케이션 코드를 건드리지 않고 키를 폐기하거나, 교체하거나, 모델을 교환할 수 있습니다."

AI 게이트웨이에서 모델 라우팅은 어떻게 작동하나요?

모델 라우팅은 게이트웨이가 정의된 규칙에 따라 주어진 요청에 어떤 LLM을 사용할지 선택하는 기능입니다. 일반적인 라우팅 전략은 다음과 같습니다:

  • 비용 라우팅 — 짧고 중요도가 낮은 프롬프트는 저렴한 모델(예: GPT-4o mini)로 라우팅하고, 복잡한 추론 작업에는 비싼 모델(GPT-4o, Claude 3.5 Sonnet)을 예약합니다.
  • 지연 시간 라우팅 — 사용자가 실시간 응답을 기다리는 경우, 게이트웨이가 가장 빠른 모델을 우선하고 지연 시간 목표가 충족되면 더 느리지만 풍부한 모델로 전환합니다.
  • 작업 유형 라우팅 — 요청을 의도별로 태그(summarize, code, classify)하고 각 태그를 해당 작업에서 가장 좋은 벤치마크 성능을 보이는 모델에 매핑합니다.
  • 폴백 라우팅 — 기본 제공자가 429 또는 5xx를 반환하면, 게이트웨이가 앱 코드에서 해당 로직을 처리하지 않아도 자동으로 대체 제공자에서 재시도합니다.

멀티 제공자 전략에서 이것이 중요한 이유

LLM 환경은 빠르게 변합니다. 오늘 코드 생성 벤치마크를 선도하는 모델이 3개월 후에는 뒤처질 수 있습니다. 라우팅이 게이트웨이에 중앙화되어 있으면, 설정 하나만 바꾸면 모델 할당이 교체되고 애플리케이션 엔드포인트는 동일하게 유지됩니다. Anthropic의 모델 문서에 따르면, 단일 제공자의 라인업 내에서도 새로운 모델 버전이 2~3배 더 나은 가격 대비 성능을 제공할 수 있으며, 게이트웨이를 통해 즉시 업그레이드를 적용할 수 있습니다.

웹 애플리케이션에 AI 게이트웨이를 사용하면 어떤 이점이 있나요?

이점은 보안, 비용, 개발자 생산성 전반에 걸쳐 복합적으로 나타납니다:

  1. 중앙 집중적 시크릿 관리 — 모든 LLM 자격 증명을 위한 하나의 암호화된 저장소; 어떤 키도 앱 코드나 빌드 아티팩트에 닿지 않습니다.
  2. 예측 가능한 비용 — 사용자별 또는 엔드포인트별 토큰 예산으로 단일 오작동 사용자가 월간 할당량을 소진하는 것을 방지합니다.
  3. 제공자 독립성 — 앱 코드 변경 없이 OpenAI에서 Anthropic으로 전환하거나 둘 다 사용할 수 있습니다.
  4. 감사 및 가시성 — 게이트웨이를 통과하는 모든 요청이 로깅 가능하며, 토큰 수, 지연 시간, 사용된 모델, 오류율을 한 곳에서 확인할 수 있습니다.
  5. 간소화된 컴플라이언스 — 규제 산업의 앱에서는 자격 증명을 격리된 암호화 게이트웨이 레이어에 두는 것이 분산된 .env 파일보다 훨씬 쉽게 감사할 수 있습니다.

AI 게이트웨이는 기존 API 게이트웨이와 어떻게 다른가요?

기능기존 API 게이트웨이AI 게이트웨이
주요 관심사HTTP 라우팅, 인증, 스로틀링위의 모든 것 + LLM 특화 시맨틱스
자격 증명 관리자체 서비스용 API 키상위 LLM 제공자 키 관리
라우팅 로직URL/메서드 기반비용, 지연 시간, 작업 유형별 모델 선택
비용 제어요청 수 제한사용자/세션별 토큰 예산 제한
스트리밍 지원부분적SSE / 청크 스트리밍 완전 지원
폴백 처리일반 재시도제공자 인식 모델 폴백

기존 API 게이트웨이(AWS API Gateway나 Kong 등)는 자체 마이크로서비스로의 HTTP 트래픽 라우팅에 탁월합니다. AI 게이트웨이는 LLM 네이티브 기본 요소인 토큰 카운팅, 스트리밍 패스스루, 모델 별칭, 크레딧 원장으로 그 개념을 확장합니다. 프로덕션 스택에서는 둘 다 필요할 수 있지만, 서로 다른 문제를 해결합니다.

"토큰 예산은 요청 요청 제한과 다릅니다. AI 게이트웨이는 둘을 독립적으로 적용합니다 — 사용자가 각각 방대한 컨텍스트를 소비하는 소수의 요청을 할 수도 있고, 작은 요청으로 엔드포인트를 폭주시킬 수도 있습니다."

요청 제한 및 크레딧 관리: 비용 폭주 방지

제어되지 않은 LLM 사용은 충격적인 클라우드 청구서를 받는 가장 빠른 방법 중 하나입니다. 잘 설정된 AI 게이트웨이는 여러 겹의 보호를 적용합니다:

  • 사용자별 토큰 예산 — 각 인증된 사용자는 크레딧 할당량을 받으며, 예산을 초과하는 요청은 조용히 청구되는 대신 명확한 오류와 함께 거부됩니다.
  • 엔드포인트별 요청 제한/api/chat 경로는 토큰 볼륨과 무관하게 IP당 분당 20개의 요청으로 제한될 수 있습니다.
  • 전체 지출 한도 — 청구 기간당 총 지출에 대한 하드 상한선; 한도에 도달하면 게이트웨이가 비용이 누적되도록 두는 대신 503을 반환합니다.
  • 모델 비용 가중치 — 게이트웨이는 GPT-4o 호출 하나가 GPT-4o mini 호출보다 약 15배 비용이 든다는 것을 이해하고, 요청 수만이 아니라 비례적으로 크레딧을 차감합니다.

시크릿 처리 모범 사례: 항상 코드에서 키를 분리

LLM 기반 앱에서 시크릿을 다루는 업계 표준 패턴:

  1. 암호화된 볼트에 시크릿 저장 — 값이 저장 시 암호화되고 IAM 정책으로 접근 제어되는 시크릿 매니저(AWS KMS, HashiCorp Vault 또는 플랫폼 네이티브 동등 제품)를 사용합니다.
  2. 빌드 시가 아닌 런타임에 주입 — 시크릿은 Lambda 또는 컨테이너가 시작될 때 해석되어야 하며, Docker 이미지나 Next.js 빌드 출력에 포함되어서는 안 됩니다.
  3. 시크릿 값을 절대 로깅하지 않기 — 게이트웨이와 앱 로깅 파이프라인이 베어러 토큰을 포함할 수 있는 헤더를 모두 마스킹하도록 합니다.
  4. 다운타임 없이 교체 — 올바른 볼트 + 게이트웨이 설정을 통해 하나의 항목을 업데이트하여 키를 교체할 수 있으며, 게이트웨이는 앱을 재배포하지 않고도 다음 자격 증명 갱신 주기에서 새 값을 가져옵니다.

기존 웹 앱에 AI 게이트웨이를 어떻게 통합하나요?

다음은 Next.js 앱에 대한 실용적인 단계별 안내입니다:

1단계 — 서버 사이드 API 경로 정의

app/api/chat/route.ts를 생성합니다. 이 경로는 브라우저에서 사용자의 프롬프트를 받아 OpenAI에 직접 전달하는 것이 아닌 게이트웨이 엔드포인트로 전달합니다.

// app/api/chat/route.ts
export async function POST(req: Request) {
  const { messages } = await req.json();

  const response = await fetch(process.env.AI_GATEWAY_URL + "/chat", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      Authorization: `Bearer ${process.env.AI_GATEWAY_TOKEN}`,
    },
    body: JSON.stringify({ model: "auto", messages }),
  });

  // 브라우저로 응답을 스트리밍
  return new Response(response.body, {
    headers: { "Content-Type": "text/event-stream" },
  });
}

참고: AI_GATEWAY_TOKEN을 게이트웨이에 인증하는 단기 토큰으로, OpenAI 키가 아닙니다. OpenAI 키는 게이트웨이 내부에만 존재합니다.

2단계 — 게이트웨이 자격 증명을 안전하게 저장

AI_GATEWAY_URLAI_GATEWAY_TOKEN은 실수로 커밋될 수 있는 .env.local이 아닌 시크릿 저장소에 넣고, NEXT_PUBLIC_ 변수에는 절대 포함시키지 않습니다. 이 값들은 런타임에 Lambda/컨테이너 환경에 주입됩니다.

3단계 — 게이트웨이 설정에서 라우팅 및 예산 규칙 설정

게이트웨이 대시보드에서 라우팅 규칙을 정의합니다:

  • model: "auto" 태그가 붙은 요청 → 기본적으로 GPT-4o mini로 라우팅; 프롬프트가 2,000 토큰을 초과하면 GPT-4o로 에스컬레이션.
  • 인증된 사용자별 예산: 하루 50,000 토큰.
  • 폴백: OpenAI가 429를 반환하면 Claude 3.5 Haiku에서 한 번 재시도.

4단계 — 빌드 출력에 키가 없는지 확인

next build를 실행하고 .next 디렉토리에서 상위 키의 접두사 패턴과 일치하는 문자열을 검색합니다. 결과가 없어야 합니다 — 키가 Next.js 빌드 파이프라인에 진입한 적이 없기 때문입니다.

중앙 집중적 모델 라우팅의 이점을 받는 실제 사용 사례

  • AI 챗봇 — 가벼운 잡담은 빠르고 저렴한 모델로 라우팅하고, 사용자가 복잡한 다단계 질문을 할 때는 추론 모델로 넘깁니다.
  • 콘텐츠 생성기 — 블로그 초안 도구는 헤드라인 생성(빠름, 저토큰)과 전체 기사 생성(고토큰, 품질 중요)을 별도로 라우팅할 수 있습니다.
  • 스마트 폼 어시스턴트 — 키 입력마다 LLM을 호출하는 자동 완성 어시스턴트는 공격적인 요청 제한이 필요하며, 게이트웨이가 앱 레이어 코드 변경 없이 이를 적용합니다.
  • 멀티 테넌트 SaaS — 다른 구독 등급은 게이트웨이에서 다른 크레딧 할당량을 적용받으므로, 애플리케이션 레이어는 등급과 무관하게 유지됩니다.

웹 앱 개발에 가장 적합한 AI 게이트웨이는 무엇인가요?

올바른 선택은 스택과 제어 선호도에 따라 다릅니다. 주목할 만한 옵션은 다음과 같습니다:

게이트웨이최적 용도주요 특징
Portkey프로덕션 SaaS가시성, 폴백, 캐싱
LiteLLM셀프 호스팅 / OSS광범위한 제공자 지원, 로컬 배포
OpenRouter멀티 모델 라우팅단일 API, 다양한 제공자
내장 플랫폼 게이트웨이설정 없는 스타트업자격 증명 관리 오버헤드 없음

FloopFloop에서 빌드하는 경우, 플랫폼에는 모델 라우팅, 요청 제한, 크레딧 관리를 자동으로 처리하는 내장 AI 게이트웨이가 포함되어 있습니다. 생성된 Next.js 앱은 관리형 엔드포인트를 통해 게이트웨이를 호출하며, 사용자 측에서 API 키 설정이 필요 없고 생성된 코드나 빌드 로그에 키가 절대 나타나지 않습니다.

마무리

웹 앱을 위한 AI 게이트웨이는 대형 팀을 위한 선택적 추가 기능이 아닙니다 — 실제 사용자를 만나기 전에 모든 LLM 기반 앱에 필요한 기본적인 보안 및 비용 제어 레이어입니다. 자격 증명을 중앙화하고, 사용자별 토큰 예산을 적용하며, 라우팅 레이어 뒤에서 모델 선택을 추상화함으로써, 더 안전하고 운영 비용이 낮으며 모델 환경 변화에 따라 더 쉽게 발전시킬 수 있는 시스템을 얻을 수 있습니다. 위의 4단계 통합부터 시작하고, 시크릿 처리를 강화하며, 멀티 제공자 LLM 관리의 운영 부담을 게이트웨이에 맡기세요.

이 아티클 공유

FloopFloop 뉴스레터 구독하기

새 글, 제품 업데이트, 가끔의 인사이트 — 받은편지함으로 바로 전해드립니다.

이메일 주소는 절대 공유하지 않습니다. 언제든지 구독을 취소할 수 있어요.

관련 아티클