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

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 문서에서 확인할 수 있습니다.

세 가지 결제 주체가 차례로 대기한다고 생각하면 가장 이해하기 쉽습니다.
- 요청 자격 증명: 고객이 해당 호출과 함께 제공업체 키를 보냅니다. AI Gateway는 키를 변경하지 않고 전달하므로 제공업체는 그 키에 연결된 계정에 비용을 청구합니다.
- 저장된 게이트웨이 자격 증명: 호출에 제공업체 키가 없으면 AI Gateway가 Cloudflare Secrets Store에 저장된 제공업체 키를 사용합니다. Unified Billing 엔드포인트에서는 적용할 저장 키의 별칭이
default여야 합니다. - 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가 모델 가격을 알고 있다면 지출 한도는 BYOK와 Unified Billing 요청 모두에 적용할 수 있습니다. 모델, 제공업체 또는 메타데이터별로 범위를 정할 수도 있습니다. 다만 비용은 최선 추정치이며, Cloudflare도 정확한 결제 금액은 제공업체 대시보드에서 확인하라고 안내합니다. 제공업체 자격 증명 규칙은 결제 주체를 나누는 경계로 삼고, 지출 상한은 별도로 검증하세요.
원인 모를 장애 없이 설정하는 순서
각 경로의 결제 주체를 정리합니다
서드파티 제공업체 트래픽과 Workers AI를 분리하세요. 서드파티 경로마다 제공업체 키가 요청에 포함돼야 하는지, 아니면 게이트웨이에 저장된
default키를 써야 하는지 적어 둡니다. 비용 소유 관계를 명확히 하기 전에는 실패 시 요청을 차단하는 규칙을 켜지 마세요.가장 작은 적용 범위를 선택합니다
경로 하나에만 적용하려면
cf-aig-no-wholesale: true를 전송합니다. 게이트웨이 전체에 적용하려면 AI > AI Gateway에서 게이트웨이를 선택하고 Settings를 연 뒤 Require provider credentials를 켜고 확인합니다. API로 관리하는 게이트웨이는 업데이트 요청에byok_only: true를 사용합니다.정상적인 두 자격 증명 경로를 확인합니다
먼저 제공업체 키를 붙인 스테이징 요청을 보냅니다. 다음에는
default로 저장된 키를 사용하도록 요청을 보냅니다. 두 경우 모두 의도한 제공업체 계정에 사용량이 기록되는지 확인하세요. Unified Billing 엔드포인트가production이라는 키에 의존하고 있다면 계속 진행하기 전에 별칭부터 수정합니다.의도적으로 키를 제거합니다
스테이징에서 제공업체 키도, 적용 가능한 저장
default키도 없는 동일한 서드파티 요청을 보냅니다. 예상 결과는 성공한 모델 응답이 아니라 HTTP400입니다. 재시도 정책이 이 설정 오류를 계속 반복하지 않는지도 확인하세요.오류 담당자와 처리 대기열을 지정합니다
요청 헤더, 저장된 비밀 값, 키 교체를 제어하는 통합 또는 플랫폼 담당자가 이 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







