AWS API Gateway 비용 구조 완전 이해하기

by 멘토사피엔스

AWS API Gateway는 개발자에게 놀라운 기능을 제공합니다. Lambda와 연결해 서버리스 API를 만들고, Fargate나 VPC와 연동해 보안을 강화할 수 있으며, 요청 제한, 인증, 캐싱, 로깅까지 모두 손쉽게 구현할 수 있습니다.


하지만 이 강력한 기능 뒤에는 예상보다 빠르게 누적되는 요금 구조가 숨어 있습니다. API Gateway의 과금 방식이 단순 요청 수를 넘어, 통합 방식, 전송량, 캐싱 여부, VPC 연계 등 다양한 요소에 따라 결정되기 때문입니다.


이번 글에서는 API Gateway에 대해서 알아보고 주로 비용을 발생시키는 포인트를 짚어보도록 하겠습니다.


API Gateway란?


API Gateway는 AWS에서 제공하는 완전관리형 서비스로, API의 생성, 배포, 관리, 모니터링, 보안을 담당하는 API 관리 플랫폼입니다. 단일 엔드포인트를 통해 다양한 백엔드 서비스(Lambda, EC2, Fargate, VPC 네트워크 등)와 클라이언트를 연결하며, 요청 처리, 인증 및 권한 부여, 요청/응답 변환, 트래픽 관리 등의 기능을 제공합니다.

주요 역할은 다음과 같습니다.


API 엔드포인트 제공: 클라이언트와 백엔드 간의 접점을 단일 API URL로 제공하여, 서비스별 복잡한 엔드포인트를 숨기고 일관된 인터페이스를 제공합니다.

요청 처리 및 라우팅: 클라이언트 요청을 분석해 적절한 백엔드(Lambda, Fargate, EC2, VPC 서비스 등)로 전달하고, 필요에 따라 요청/응답 데이터를 변환하거나 필터링합니다.

보안 관리: IAM, Cognito, Lambda Authorizer 등을 통한 인증/권한 부여를 지원하며, API 키 관리 및 WAF 연계로 API 레벨의 보안 정책을 강화할 수 있습니다.

트래픽 관리 및 모니터링: 호출 수 제한(Rate Limiting), 스테이지별 설정, 로깅/모니터링(CloudWatch 연계), 캐싱 및 배포 관리 등 API 운영에 필요한 트래픽 제어 및 관찰 기능을 제공합니다.


또한, API Gateway는 AWS의 다른 서비스들과 긴밀하게 연계됩니다.


Lambda 연계: 서버리스 애플리케이션의 백엔드 처리 로직을 Lambda 함수로 구현하고, API Gateway를 통해 호출할 수 있습니다. 이 조합은 가장 많이 사용되는 API 설계 방식으로, 완전한 서버리스 아키텍처를 구현할 수 있게 해줍니다.

Fargate 연계: 컨테이너 기반의 서비스(ECS/Fargate)와 연계해 API 트래픽을 처리할 수도 있으며, VPC Link를 통해 VPC 내부에 있는 Fargate 서비스나 ALB로 안전하게 요청을 전달할 수 있습니다.

VPC 네트워크 연계: Private API 및 VPC Link를 사용해 API Gateway를 VPC 내부 리소스(ALB, NLB, EC2 등)에 연결하여 사설 네트워크 상의 서비스도 API로 외부에 노출할 수 있습니다.


요약하면, API Gateway는 클라이언트 요청을 백엔드 서비스로 안전하고 효율적으로 전달하는 API 관리 게이트웨이로서, 인증/권한 부여, 요청/응답 변환, 로깅, 캐싱, 모니터링, 배포 관리 등 API의 생애주기 전반을 관리하는 핵심 역할을 수행합니다.


과금 구조 상세 분석


Amazon API Gateway의 상세 요금은 다음 링크를 통해 자세히 확인 가능합니다.



요청 수(Per Request) 과금


API Gateway는 요청 수 단위로 과금이 발생하며, API 유형(REST API, HTTP API, WebSocket API)에 따라 요금이 상이합니다. 각 유형별 요청 수 과금 구조는 다음과 같습니다.


REST API (Regional, Edge-Optimized) 첫 3억 3,300만 건/월: $3.50 / 백만 건 다음 6억 6,700만 건/월: $2.80 / 백만 건 10억 건 초과/월: $2.38 / 백만 건 20억 건 초과/월: $1.51 / 백만 건

HTTP API (경량화된 REST API) 첫 3억 건/월: $1.00 / 백만 건 3억 건 초과/월: $0.90 / 백만 건

WebSocket API 메시지 전송 및 수신: $1.00 / 백만 메시지 연결 시간: $0.25 / 백만 연결 분


즉, 요청이 API Gateway에 도달하면 성공/실패 여부와 관계없이 요청 1건당 과금이 부과되며, 사용량이 많아질수록 요청당 단가는 낮아지는 계층별 요금제가 적용됩니다.


따라서 API 호출 빈도가 많은 서비스에서는 요청 수 자체를 줄이기 위한 최적화 전략(예: 클라이언트 캐싱, 요청 단일화, 필요 데이터만 반환, 대용량 응답 오프로드 등)이 필수적이며, REST API 대신 HTTP API를 선택해 비용을 절감하는 것도 중요한 전략입니다.


데이터 전송량(Per GB) 과금


API Gateway를 통해 클라이언트로 전달되는 응답 데이터는 AWS의 다른 서비스와 마찬가지로 Outbound Data Transfer (출향 데이터 전송) 요금이 부과됩니다. 즉, API Gateway에서 외부 클라이언트(인터넷)로 데이터를 전송할 때 발생하는 비용이며, 이는 API 요청의 크기와 상관없이 응답 데이터 크기에 따라 비용이 발생하는 구조입니다.

요금은 AWS 표준 데이터 전송 요금과 동일하게 적용되며, 지역별로 단가가 다를 수 있습니다. 서울 리전을 기준으로는 다음과 같습니다.


첫 1GB/월: 무료 (AWS Free Tier 적용)

10TB 이하/월: $0.114/GB

40TB 이하/월: $0.089/GB

100TB 이하/월: $0.073/GB

350TB 이하/월: $0.05/GB

그 이상: 추가 할인 적용


즉, API 응답 데이터의 크기가 클수록, 전송량이 많을수록 비용이 빠르게 증가할 수 있습니다. 예를 들어, 대용량 JSON 데이터나 이미지, 파일 다운로드 응답을 API Gateway에서 직접 처리하면, API 호출 비용뿐 아니라 Outbound Data Transfer 비용이 함께 발생하게 되며, 이때의 데이터 전송 비용이 API 요청 자체의 과금보다 더 큰 비중을 차지할 수도 있습니다.


따라서 비용 최적화를 위해서는 대용량 파일 전송은 S3 Presigned URL을 사용하여 직접 다운로드하도록 유도하거나, API 응답 데이터는 필요한 정보만 최소화해 전송하고, 클라이언트 측 캐싱 및 데이터 압축 전략을 적용하는 것이 중요합니다.


캐싱(Caching) 활성화 시 캐시 노드 시간당 요금


API Gateway에서는 API 응답 데이터를 캐싱(Cache)하여 저장하고, 클라이언트 요청 시 백엔드 호출 없이 캐시된 데이터를 제공할 수 있는 기능을 제공합니다. 이를 통해 API 호출 빈도를 줄이고, 백엔드 처리 부하를 낮추는 효과를 얻을 수 있습니다.


그러나 이 캐싱 기능은 별도의 과금 항목이 있으며, 캐시 노드 크기 및 활성화 시간에 따라 비용이 발생합니다. 캐시 노드는 다음과 같은 크기로 설정할 수 있으며, 크기와 상관없이 시간당 요금이 고정됩니다.


스크린샷 2025-07-25 오후 9.42.34.png


즉, 캐시 노드를 하루 24시간, 한 달(30일) 내내 활성화하면, 13.5GB 캐시 기준으로 월 약 115 USD, 28.4GB 캐시 기준으로 월 약 230 USD의 추가 비용이 발생할 수 있습니다.


캐싱은 요청 수를 줄여 백엔드 비용(Lambda, Fargate, ALB 등)을 절감하는 효과가 있지만, 캐시 활성화 시간과 용량에 따라 고정 비용이 지속적으로 발생하므로, 무조건 사용하는 것이 아닌, 정말 필요한 API에만 선별적으로 적용해야 합니다. 특히 TTL(Time to Live)을 적절히 설정해 캐시 갱신 주기를 관리하고, 필요하지 않은 Stage나 API에는 캐싱을 비활성화해 비용을 최적화해야 합니다.


Private API / Edge-Optimized / Regional API 별 요금 차이


Amazon API Gateway는 REST API에 대해 세 가지 엔드포인트 유형을 제공합니다: Edge-Optimized, Regional, Private. 각 유형은 사용 사례와 네트워크 아키텍처에 따라 선택되며, 비용 구조와 접근 방식에 차이가 있습니다.


API Gateway는 REST API를 배포할 때 Edge-Optimized API, Regional API, Private API라는 세 가지 엔드포인트 유형을 선택할 수 있으며, 이 선택은 네트워크 아키텍처, 접근 방식, 그리고 일부 추가 비용 발생 여부에 영향을 미칩니다.


먼저 Edge-Optimized API는 글로벌 사용자 기반을 대상으로 하는 API에 적합한 구조로, 클라이언트의 요청이 가장 가까운 CloudFront 엣지 로케이션으로 자동 라우팅되어 지연 시간을 최소화합니다. CloudFront가 API Gateway와 자동으로 통합되며 별도의 CloudFront 배포 요금이 추가되지는 않습니다. API 호출당 요금은 Regional API와 동일하게 적용됩니다.


반면 Regional API는 특정 AWS 리전에 배포되며, 해당 리전 내 사용자와의 통신에 최적화된 구조입니다. CloudFront를 사용하지 않고 API Gateway를 통해 직접 요청을 처리하며, 필요할 경우 사용자가 CloudFront를 별도로 구성해 캐싱 및 보안 기능을 추가할 수 있습니다. 이 경우 CloudFront 배포와 관련된 추가 비용이 발생할 수 있으며, API 호출당 기본 요금은 Edge-Optimized API와 동일하게 적용됩니다.


마지막으로 Private API는 VPC 내부에서만 접근 가능한 API로, 인터넷을 통한 공개 접근이 차단됩니다. Private API는 인터페이스 VPC 엔드포인트(PrivateLink)를 통해 VPC 내부 트래픽만 허용하며, 이를 통해 보안성을 강화할 수 있습니다. API 호출당 기본 요금은 Edge-Optimized 및 Regional API와 동일하게 적용되지만, 추가로 VPC 엔드포인트 사용 요금(시간당 약 $0.01, 한 달 약 $7.20)과 데이터 처리 요금이 발생합니다.


요약하면, API 호출당 기본 요금은 세 엔드포인트 유형 모두 동일하지만, Private API는 VPC 엔드포인트 비용이 추가로 발생하며, Regional API는 CloudFront를 별도로 구성할 경우 추가 비용이 생길 수 있다는 점을 고려해야 합니다.


VPC Link(Private Integration) 비용


API Gateway는 VPC 내부의 리소스(ALB, NLB, EC2 등)와 안전하게 통신하기 위해 VPC Link(Private Integration) 기능을 제공합니다. 이를 통해 API Gateway는 VPC 외부의 클라이언트 요청을 내부의 프라이빗 서비스로 안전하게 전달할 수 있지만, 이 기능을 활성화하면 별도의 비용이 발생합니다.


VPC Link의 비용 구조는 시간당 요금으로 부과되며, 서울 리전 기준으로 시간당 약 $0.0270의 비용이 발생합니다. 이를 하루 24시간, 한 달(30일) 동안 지속적으로 사용하면 약 $19.44의 고정 요금이 추가로 발생하는 셈입니다. 이 요금은 VPC Link가 활성화되어 있는 시간 전체에 대해 과금되므로, 실제 요청량과 관계없이 사용 시간만큼 비용이 계속 발생하는 점에 주의해야 합니다.


또한 VPC Link를 통해 전달되는 요청 자체에 대해서는 별도의 데이터 처리 요금은 부과되지 않지만, API Gateway의 요청 건당 요금(Request Count)과 VPC 내부 리소스(ALB, EC2 등)의 처리 비용은 별도로 발생합니다. 따라서 VPC Link를 사용할 때는 이 비용 구조를 충분히 이해하고, 필요한 API에만 선택적으로 적용하며, 사용하지 않는 VPC Link 리소스는 반드시 삭제해 불필요한 요금 발생을 방지하는 것이 중요합니다.


비용을 더욱 최적화하기 위해서는 VPC Link 대신 Private API + VPC Endpoint(Interface Endpoint) + NLB 조합을 고려해보는 것도 좋은 전략이 될 수 있습니다. 이 방식은 VPC Link의 고정 요금을 피하면서도 Private API의 보안성과 통신 기능을 유지할 수 있는 대안으로 활용됩니다.


비용 주요 발생 포인트


API Gateway의 비용은 다양한 요인에 의해 결정되며, 그 중에서도 요청량(Request Volume), Integration 방식, 캐싱(Caching), 그리고 데이터 전송량(Data Transfer)이 가장 핵심적인 비용 발생 포인트입니다.


먼저 요청량(Request Volume)은 API Gateway 비용 구조의 근간으로, 요청 1건마다 비용이 부과되기 때문에 호출 횟수가 많을수록 전체 비용이 기하급수적으로 증가합니다. 특히 사용자 트래픽이 급증하거나 반복 호출이 많은 서비스에서는 이 요청량이 API Gateway 전체 비용의 상당 부분을 차지하게 됩니다.


Integration 방식 또한 중요한 비용 결정 요소입니다. API Gateway는 Lambda, Fargate, ALB, NLB 등 다양한 백엔드 리소스와 통합할 수 있는데, 선택한 방식에 따라 추가적인 비용이 발생할 수 있습니다. 예를 들어 VPC 내부 ALB 또는 EC2와 연동하는 경우 VPC Link를 사용해야 하며, 이때 VPC Link 시간당 요금이 추가로 부과됩니다. 반면 Lambda 통합은 별도의 VPC 비용이 없지만, Lambda의 실행 요금이 별도로 발생합니다.


캐싱(Caching)은 요청 횟수를 줄여 백엔드 호출 비용을 줄일 수 있는 효과적인 기능이지만, 이를 활성화하면 캐시 노드 크기와 활성화 시간에 따라 별도의 고정 요금이 부과됩니다. 캐싱을 무분별하게 적용하면 오히려 예상치 못한 비용이 발생할 수 있으므로, 필요한 API에만 선택적으로 적용해야 합니다.


마지막으로 데이터 전송량(Data Transfer)은 API 응답 데이터의 크기에 따라 발생하는 비용으로, 특히 API를 통해 대용량 파일이나 JSON 데이터를 반환할 경우 비용 폭증의 원인이 됩니다. API Gateway는 AWS의 Outbound Data Transfer 요금 체계를 따르며, 지역별, 전송량별 요금 구간에 따라 비용이 증가합니다. 따라서 대용량 파일 응답은 S3 Presigned URL 등을 활용해 API Gateway를 거치지 않고 직접 다운로드하도록 처리하는 것이 효율적입니다.


결국 API Gateway 비용을 효과적으로 관리하려면, 요청량 자체를 줄이는 최적화 전략과 함께, Integration 방식 선택, 캐싱 적용 범위, 데이터 전송량 관리 등 각 요소별로 발생할 수 있는 비용 포인트를 사전에 이해하고, 아키텍처 설계 단계에서부터 비용 최적화를 고려하는 접근이 필요합니다.


결론


API Gateway는 그 자체로 매우 강력한 서비스입니다. 하지만 단순히 API를 만들어 두는 것만으로는 비용이 쉽게 눈덩이처럼 불어날 수 있습니다.


이번 글에서 살펴본 것처럼, 요청 수뿐 아니라 응답 데이터 크기, VPC 연동 방식, 캐싱 사용 여부에 따라 복합적인 비용 구조가 형성됩니다. 특히, 한두 달 지나서 비용이 갑자기 튀는 이유는 대부분 이런 세부 요소들이 누적되기 때문입니다.


따라서 설계 단계에서부터 다음 네 가지를 고려해 비용을 통제할 수 있어야 합니다.

요청 수 줄이기: HTTP API 사용, 응답 구조 최소화, 클라이언트 캐싱 적용

응답 전송 비용 줄이기: 대용량 응답은 S3 presigned URL 등으로 우회

캐싱은 필요할 때만: TTL 전략 설정, 스테이지/라우트별 selective 캐시

VPC 연동은 비용 구조부터 파악: VPC Link 사용 여부 판단 및 대안 설계


결국 핵심은 “비용은 구조에서 결정된다”는 점입니다. API Gateway는 잘 쓰면 매우 효율적이고 유연하지만, 비용까지 잘 설계하지 않으면 보이지 않는 새는 돈이 많습니다.

keyword
매거진의 이전글AWS WAF Cost Explorer 비용 분석하기