Cloudflare AI Gateway: 고객 AI 비용이 내 청구서에 잡히지 않게 설정하는 법

Cloudflare AI Gateway의 제공업체 자격 증명 필수 설정을 활용해 고객 키가 빠진 요청을 HTTP 400에서 차단하고, Unified Billing으로 AI 비용이 잘못 넘어가는 일을 막는 방법을 설명합니다. BYOK 경로와 지출 한도, 도입 테스트까지 함께 정리했습니다.

Thursday, September 17, 2026Omid Saffari
Cloudflare AI Gateway: 고객 AI 비용이 내 청구서에 잡히지 않게 설정하는 법

Cloudflare AI Gateway는 이제 고객의 모델 키가 빠진 요청이 Cloudflare의 AI 요금으로 잡히기 전에 실패 처리할 수 있습니다. 2026년 9월 14일 추가된 제공업체 자격 증명 필수 설정을 켜면, 적용 가능한 키가 없는 서드파티 요청은 Unified Billing 사용량으로 넘어가는 대신 HTTP 400으로 종료됩니다.

Cloudflare AI Gateway 설정의 핵심: 누가 비용을 내는가

AI Gateway는 하나의 모델 요청을 여러 자격 증명 경로로 보낼 수 있습니다. 여기서 자격 증명이란 업스트림 모델 제공업체에 어느 계정으로 비용을 청구할지 알려 주는 키입니다.

변경 전의 처리 순서는 단순했습니다. 먼저 Cloudflare가 요청에 제공업체 키가 있는지 확인했습니다. 없다면 게이트웨이의 default 별칭에 저장된 Bring Your Own Key(BYOK)를 찾았습니다. 둘 다 없을 때는 Unified Billing의 Cloudflare 관리형 자격 증명을 사용하고 Cloudflare 크레딧 잔액에서 사용량을 차감할 수 있었습니다.

마지막 폴백은 Cloudflare가 비용을 부담하도록 설계한 경우에는 유용합니다. 하지만 자체 OpenAI, Anthropic, Google 또는 다른 제공업체 키를 써야 하는 고객의 요청이라면 예산이 새는 통로가 됩니다.

이제 서드파티 제공업체 트래픽에서는 이 세 번째 단계를 없앨 수 있습니다. 게이트웨이에서 Require provider credentials를 켜면 API에는 byok_only: true로 표시되며, 적용 가능한 고객 자격 증명이 없는 요청은 HTTP 400에서 멈춥니다. 요청 하나에만 같은 제한을 적용하려면 cf-aig-no-wholesale: true를 사용하면 됩니다. 자격 증명의 전체 적용 순서와 두 제어 옵션은 Cloudflare 문서에서 확인할 수 있습니다.

요청 키, 저장된 default 키, HTTP 400 차단 지점, Cloudflare 청구서로 이어지는 길이 막힌 모습을 보여 주는 클레이 교육 장면
새 차단 지점은 Unified Billing 앞에 있습니다. 요청 키나 저장된 default 키가 있으면 통과하고, 키가 없으면 실패합니다.

세 가지 결제 주체가 차례로 대기한다고 생각하면 가장 이해하기 쉽습니다.

  1. 요청 자격 증명: 고객이 해당 호출과 함께 제공업체 키를 보냅니다. AI Gateway는 키를 변경하지 않고 전달하므로 제공업체는 그 키에 연결된 계정에 비용을 청구합니다.
  2. 저장된 게이트웨이 자격 증명: 호출에 제공업체 키가 없으면 AI Gateway가 Cloudflare Secrets Store에 저장된 제공업체 키를 사용합니다. Unified Billing 엔드포인트에서는 적용할 저장 키의 별칭이 default여야 합니다.
  3. Cloudflare Unified Billing: 고객 키도 적용 가능한 저장 키도 없으면 Cloudflare가 관리형 자격 증명을 사용하고 Cloudflare 계정의 크레딧을 차감할 수 있습니다.

새 규칙을 적용하면 대기열은 두 번째 단계에서 끝납니다. 사업 관점에서 달라지는 지점은 명확합니다. 자격 증명 누락이 눈에 띄지 않는 비용 전가가 아니라 즉시 드러나는 서비스 중단으로 바뀝니다.

비용 문제를 사후 정산이 아닌 요청 거절로 해결합니다

Unified Billing에서 크레딧을 구매하면 5%의 수수료가 붙습니다. Cloudflare가 든 예시는 간단합니다. $100의 크레딧을 사면 $105가 청구되며, 제공업체의 추론 가격 자체에는 마크업이 붙지 않습니다.

이를 고객 워크플로에 대입해 보겠습니다. 고객의 제공업체 계정으로 처리해야 할 작업에서 키가 빠지면, 모델 사용량 $100가 운영사의 Cloudflare 크레딧에서 차감될 수 있습니다. 그 크레딧을 충전하는 데 드는 금액은 $105입니다. 고객의 제공업체 계정에는 해당 폴백 사용량이 전혀 기록되지 않고, 운영사가 $105의 현금 지출을 모두 떠안은 뒤 어느 고객이 원인인지 입증해야 합니다.

핵심 문제는 5%의 수수료가 아닙니다. $100짜리 워크로드 전체가 엉뚱한 예산으로 넘어간다는 점입니다. 추가 $5는 그 실수를 더 비싸게 만들 뿐입니다.

제공업체 자격 증명을 필수로 지정하면 재무팀이 추적해야 할 문제가 애플리케이션 오류로 바뀝니다. 자동 복구 경로를 포기하는 대신 비용을 부담할 주체의 경계를 명확히 할 수 있습니다. 게이트웨이 수수료와 제공업체 직접 결제를 더 넓게 비교하려면 AI 게이트웨이 비용 분석을 참고하세요.

이 설정이 필요한 팀

고객 자동화를 운영하는 에이전시

하나의 Cloudflare 계정으로 운영하더라도 각 고객이 모델 제공업체와 별도 계약을 맺는 에이전시가 있습니다. 고객이 비용을 내는 경로에는 게이트웨이 규칙을 켜 두는 편이 안전합니다. 온보딩 중 키가 빠지거나 키 교체 과정에서 삭제되면, 에이전시의 선불 잔액을 쓰는 대신 작업이 중단됩니다.

효과는 비용 귀속이 분명해진다는 것입니다. 고객은 정상 자격 증명을 제공하거나 설정 오류를 받습니다. 작업이 이미 끝난 뒤 에이전시가 공동 크레딧 청구서를 역추적할 필요가 없어집니다.

고객 제공 키를 받는 SaaS 팀

고객이 직접 제공업체 키를 입력하는 SaaS 제품이라면 HTTP 400을 설정 상태로 다룰 수 있습니다. 고객에게 제공업체 자격 증명이 없다고 안내하면서 해당 요청은 플랫폼 자체의 Cloudflare 크레딧 풀에 들어오지 않게 할 수 있습니다.

성공 응답이 오히려 실수를 감추는 상황에서 특히 유용합니다. 제한이 없으면 기능은 계속 작동하지만 엉뚱한 회사가 비용을 냅니다. 제한을 켜면 계정 설정을 바로잡을 수 있을 만큼 일찍 실패합니다.

우선 한 경로부터 바꾸려는 플랫폼 엔지니어

요청 헤더부터 적용하면 배포 범위를 작게 가져갈 수 있습니다. 서드파티 요청 경로 하나에 cf-aig-no-wholesale: true를 추가하고, 키 누락 시 동작을 테스트한 다음, 게이트웨이 전체 설정을 바꾸기 전에 오류가 모니터링으로 들어오게 하세요.

우선순위는 의도적으로 한 방향으로만 작동합니다. 요청 헤더를 사용해 허용적인 게이트웨이를 더 엄격하게 만들 수는 있습니다. 그러나 Require provider credentials가 이미 켜진 게이트웨이에서 요청이 헤더를 false로 지정해 제한을 완화할 수는 없습니다. Cloudflare는 이 제한들이 누적 적용된다고 설명합니다.

결제 주체와 예산 통제를 분리하려는 FinOps 담당자

어느 계정이 비용을 낼 수 있는지는 이 설정으로 정합니다. 얼마까지 쓸 수 있는지는 AI Gateway 지출 한도로 정합니다. 서로 다른 제어 수단이므로 테스트도 따로 해야 합니다.

제어 수단방지하는 문제실패 신호중요한 한계
제공업체 자격 증명 필수서드파티 키가 없을 때 Cloudflare Unified Billing으로 넘어가는 상황HTTP 400Workers AI는 이 규칙의 적용 대상이 아님
지출 한도적용 가능한 예산이 한도를 넘은 뒤 추가 요청이 실행되는 상황HTTP 429집계가 최종 일관성 방식이라 순간적인 요청 폭증은 잠시 한도를 넘을 수 있음
Workers AI 결제 모드자체적으로 막는 것은 없음. Workers AI의 결제 방식을 후불 또는 Unified Billing으로 정함별도의 결제 설정제공업체 자격 증명 규칙으로 바뀌지 않음

Cloudflare가 모델 가격을 알고 있다면 지출 한도는 BYOK와 Unified Billing 요청 모두에 적용할 수 있습니다. 모델, 제공업체 또는 메타데이터별로 범위를 정할 수도 있습니다. 다만 비용은 최선 추정치이며, Cloudflare도 정확한 결제 금액은 제공업체 대시보드에서 확인하라고 안내합니다. 제공업체 자격 증명 규칙은 결제 주체를 나누는 경계로 삼고, 지출 상한은 별도로 검증하세요.

원인 모를 장애 없이 설정하는 순서

  1. 각 경로의 결제 주체를 정리합니다

    서드파티 제공업체 트래픽과 Workers AI를 분리하세요. 서드파티 경로마다 제공업체 키가 요청에 포함돼야 하는지, 아니면 게이트웨이에 저장된 default 키를 써야 하는지 적어 둡니다. 비용 소유 관계를 명확히 하기 전에는 실패 시 요청을 차단하는 규칙을 켜지 마세요.

  2. 가장 작은 적용 범위를 선택합니다

    경로 하나에만 적용하려면 cf-aig-no-wholesale: true를 전송합니다. 게이트웨이 전체에 적용하려면 AI > AI Gateway에서 게이트웨이를 선택하고 Settings를 연 뒤 Require provider credentials를 켜고 확인합니다. API로 관리하는 게이트웨이는 업데이트 요청에 byok_only: true를 사용합니다.

  3. 정상적인 두 자격 증명 경로를 확인합니다

    먼저 제공업체 키를 붙인 스테이징 요청을 보냅니다. 다음에는 default로 저장된 키를 사용하도록 요청을 보냅니다. 두 경우 모두 의도한 제공업체 계정에 사용량이 기록되는지 확인하세요. Unified Billing 엔드포인트가 production이라는 키에 의존하고 있다면 계속 진행하기 전에 별칭부터 수정합니다.

  4. 의도적으로 키를 제거합니다

    스테이징에서 제공업체 키도, 적용 가능한 저장 default 키도 없는 동일한 서드파티 요청을 보냅니다. 예상 결과는 성공한 모델 응답이 아니라 HTTP 400입니다. 재시도 정책이 이 설정 오류를 계속 반복하지 않는지도 확인하세요.

  5. 오류 담당자와 처리 대기열을 지정합니다

    요청 헤더, 저장된 비밀 값, 키 교체를 제어하는 통합 또는 플랫폼 담당자가 이 HTTP 400을 맡게 하세요. 고객 지원팀은 실패 원인을 설명하고 재무팀은 감사할 수 있지만, 어느 쪽도 수정 책임을 맡아서는 안 됩니다.

감수해야 할 트레이드오프

이 설정은 조용한 폴백을 눈에 보이는 실패와 맞바꿉니다. Unified Billing을 의도적인 가용성 경로로 쓰고 있었다면, 이 설정을 켜는 순간 서드파티 제공업체 요청의 복구 경로가 사라집니다. 만료됐거나 유효하지 않은 요청 키 역시 다른 결제 경로로 대체되지 않고 제공업체로 전달되므로 업스트림 제공업체가 요청을 거절할 수 있습니다.

중요한 예외는 Workers AI입니다. Workers AI 요청에는 서드파티 제공업체 자격 증명을 쓰지 않으므로 계속 허용되며, 게이트웨이에 따로 설정된 Workers AI 결제 모드도 유지됩니다. byok_only를 켠다고 해서 “Cloudflare에는 어떤 비용도 청구되지 않는다”는 전역 스위치가 되는 것은 아닙니다.

지출 한도만으로 모든 빈틈을 막을 수도 없습니다. 집계가 최종 일관성 방식이라 동시 요청이 몰리면 지출이 잠시 한도를 넘을 수 있습니다. 토큰 수와 알려진 모델 가격을 바탕으로 비용을 추정한다는 한계도 있습니다. 지출 한도를 사용하되, 정확한 청구 금액은 제공업체와 Cloudflare의 결제 화면을 대조해 확인하세요.

월요일에 바로 할 일

고객이 비용을 부담하는 서드파티 경로 하나를 고르세요. 먼저 요청 단위 제한을 추가하고 스테이징에서 자격 증명 누락 테스트를 실행합니다. 통과 조건은 성공 폴백 없이 담당 부서가 명확한 HTTP 400이 발생하는 것입니다. 해당 오류를 통합 또는 플랫폼 팀의 대기열에 넣고, 키를 복구할 담당자를 정한 뒤에야 게이트웨이 전체에 규칙을 적용할지 검토하세요.

팀이 모든 서드파티 트래픽에 Cloudflare Unified Billing을 의도적으로 사용한다면 규칙을 꺼 두세요. Workers AI만 사용한다면 이 설정은 해당 청구 금액에 영향을 주지 않습니다. 고객 또는 부서의 제공업체 계정이 비용을 내야 한다면 이번 주 안에 조치하고, 다음 키 교체 때 문제가 먼저 드러나기 전에 실패 동작을 직접 테스트하세요.

이와 같은 변경을 운영 관점에서 바로 활용할 수 있도록 설명한 글을 더 받아보려면 뉴스레터를 구독하세요.

마지막 업데이트
2026년 9월 17일
카테고리
Explained

Google에서 이 사이트를 우선하기

Google 검색에서 omidsaffari.com을 선호 소스로 추가

omidsaffari.com을 선호 소스로 지정하면 Google이 Top Stories, AI Overviews, AI Mode에서 우선적으로 보여 줍니다.

Cloudflare Workers에서 Python 앱을 기존 DB에 바로 연결하는 법

Cloudflare Workers에서 Python 앱을 기존 DB에 바로 연결하는 법

Cloudflare Workers의 Python 앱이 Hyperdrive로 기존 PostgreSQL·MySQL에 직접 연결합니다. 별도 브리지를 없앨 수 있는 조건부터 실제 비용 변화, 지원 드라이버와 ORM 제약, 캐시 동작, 안전한 연결 테스트 절차까지 한 번에 정리했습니다.2026년 9월 16일Explained
Gemini API 백그라운드 툴 호출로 통화를 이어가는 법

Gemini API 백그라운드 툴 호출로 통화를 이어가는 법

Gemini 3.8 Live의 비동기 함수 호출로 음성 에이전트가 조회 중에도 대화를 이어가는 방식을 살펴봅니다. Gemini API의 오디오 비용, 완료 신호, 구현 코드와 운영 체크리스트를 통해 예약·주문·지원 전화에서 중복 실행 없이 완료율을 측정하는 방법까지 정리했습니다.2026년 9월 16일Explained
Cloudflare Workers 권한, 클라이언트별 배포 경계를 만든다

Cloudflare Workers 권한, 클라이언트별 배포 경계를 만든다

Cloudflare Workers의 개별 Worker 권한으로 클라이언트 CI 배포 범위를 좁히는 방법을 설명합니다. Editor 역할, 계정 소유 API 토큰, 바인딩과 Durable Objects의 숨은 권한까지 실제 인계 절차에 맞춰 점검합니다.2026년 9월 15일Explained
npm ci를 실행할 때만 네트워크를 여는 Claude Code 권한 설정

npm ci를 실행할 때만 네트워크를 여는 Claude Code 권한 설정

Claude Code 2.1.271이 샌드박스 자동 모드에 명령 단위 네트워크 접근을 추가했습니다. npm ci 설치에만 레지스트리를 열고 이후 빌드와 테스트 단계에서는 다시 닫는 설정법, 상시 허용 목록과의 차이, 실제 보안 경계를 구체적으로 정리합니다.2026년 9월 15일Explained
Claude Code 구독으로 Vercel AI SDK 에이전트 비용 줄이기

Claude Code 구독으로 Vercel AI SDK 에이전트 비용 줄이기

기존 Claude Code 구독을 Vercel AI SDK 에이전트 실행에 연결하면 어떤 계정에 모델 비용이 잡히는지 설명합니다. auto·direct·ai-gateway 인증 우선순위부터 공유 사용량 한도, 별도로 남는 Sandbox 비용, 팀별 운영 선택까지 한 번에 정리했습니다.2026년 9월 15일Explained
Playwright 자동화에 Cloudflare 승인 호스트와 읽기 전용 검토 적용하기

Playwright 자동화에 Cloudflare 승인 호스트와 읽기 전용 검토 적용하기

Cloudflare Browser Run의 세션 가드레일과 읽기 전용 Live View를 고객 프로젝트에 적용하는 법을 설명합니다. Playwright 설정, 승인 호스트 목록, 차단 테스트, 검토 링크 보안과 Browser Sessions 요금까지 실무 기준으로 확인합니다.2026년 9월 14일Explained
음성 AI 통화 비용, GPT-Live-1의 $0.05가 전부는 아닙니다

음성 AI 통화 비용, GPT-Live-1의 $0.05가 전부는 아닙니다

음성 AI 모델 GPT-Live-1의 분당 $0.05 요금만 보면 실제 통화 비용을 놓치기 쉽습니다. 음성 세션, 백엔드 추론과 툴, 통신사 비용을 합쳐 처리가 완료된 통화 한 건의 총비용을 계산하는 법과 90초 예약 전화 사례, 도입 전 점검할 기준을 정리했습니다.2026년 9월 14일Explained
ChatGPT 윈도우 Appshots 활용법: 컨텍스트 복사 시간을 줄이는 방법

ChatGPT 윈도우 Appshots 활용법: 컨텍스트 복사 시간을 줄이는 방법

ChatGPT 윈도우 Appshots로 이메일, 오류 창, 설정 화면을 채팅에 바로 첨부하는 방법을 정리했습니다. 두 Alt 키 단축키와 대상 채팅 설정, 보이지 않는 텍스트의 공유 범위, Google 앱의 한계, 실제 업무 시간이 줄었는지 측정하는 기준까지 확인하세요.2026년 9월 14일Explained
뉴스레터

매주 일요일, 한 통의 편지.뜨거운 의견이 아닌, 돌아가는 시스템.

주간 발행. 스팸 없음. 언제든 해지 가능합니다.