API Gateway 작동 방식
Source: Dev.to
API 게이트웨이란?
API 게이트웨이는 모든 클라이언트 요청을 받아 적절한 백엔드 서비스로 라우팅하면서 보안, 트래픽 제어, 모니터링을 처리하는 단일 진입점입니다.
현대 마이크로서비스 아키텍처에서는 클라이언트가 백엔드 서비스와 직접 통신하지 않습니다. 대신 모든 요청이 API 게이트웨이를 거치게 되어 보안성, 확장성, 시스템 제어가 향상됩니다.
Cloudflare를 사용한 클라우드 네이티브 API 게이트웨이 구현 방법
https://youtu.be/D4Lt18qYkjc
API 게이트웨이 작동 방식
API 게이트웨이는 클라이언트와 백엔드 서비스 사이에 위치하며 다음 단계로 각 요청을 처리합니다:
- 클라이언트(웹, 모바일, 프론트엔드)로부터 들어오는 요청을 수신
- 요청을 인증하고 검증
- 속도 제한 및 스로틀링 적용
- 요청을 올바른 백엔드 서비스로 라우팅
- 로그, 메트릭, 트레이스 수집
- 응답을 클라이언트에 반환
이 전체 과정은 몇 밀리초 안에 이루어집니다.
API 게이트웨이 요청 흐름
Client
↓
API Gateway
↓
Authentication
↓
Rate Limiting
↓
Routing
↓
Backend Services
↓
Response
API 게이트웨이가 중요한 이유
API 게이트웨이가 없을 때의 문제점
- 복잡한 프론트엔드 로직
- 여러 지점에서 노출되는 보안 위험
- 인증 처리의 어려움
- 중앙 집중식 모니터링 부재
- 독립적인 확장이 어려움
API 게이트웨이를 사용할 때의 장점
- 단일 보안 진입점
- 중앙 집중식 인증
- 트래픽 제어 및 속도 제한
- 향상된 가시성
- 마이크로서비스 확장 용이
API 게이트웨이의 핵심 책임
1. 인증 및 인가
게이트웨이는 요청을 전달하기 전에 토큰(JWT, OAuth, API 키 등)을 검증합니다.
2. 라우팅
경로, 메서드, 헤더 등을 기준으로 요청을 올바른 서비스에 라우팅합니다.
예시
/users→ User Service/orders→ Order Service
3. 속도 제한
클라이언트가 초당 보낼 수 있는 요청 수를 제한하여 남용을 방지합니다.
4. 로드 밸런싱
여러 백엔드 인스턴스에 트래픽을 분산합니다.
5. 가시성
로그, 메트릭, 분산 트레이스를 수집합니다—프로덕션 시스템에 필수적입니다.
마이크로서비스 아키텍처에서의 API 게이트웨이
마이크로서비스 환경에서는 각 서비스가 독립적으로 배포됩니다. API 게이트웨이는 다음 역할을 수행합니다:
- 경계 역할
- 보안 레이어
- 트래픽 컨트롤러
이를 통해 백엔드 서비스가 인터넷에 직접 노출되는 것을 방지합니다.
일반적인 API 게이트웨이 예시
- Cloudflare Workers (엣지 기반)
- Kong
- NGINX
- AWS API Gateway
- Apigee
- Traefik
각 도구는 성능, 비용, 아키텍처 측면에서 차이가 있습니다.
엣지 API 게이트웨이 vs 전통적인 게이트웨이
전통적인 API 게이트웨이
- 중앙 서버에서 실행
- 높은 지연 시간
- 지역별 배포
엣지 API 게이트웨이
- 사용자에 가까운 위치에서 실행
- 초저지연
- 전 세계 가용성
Cloudflare Workers는 엣지 기반 API 게이트웨이의 강력한 예시입니다.
언제 API 게이트웨이를 사용해야 할까?
다음 상황에서 API 게이트웨이를 고려하세요:
- 여러 백엔드 서비스가 존재할 때
- 중앙 집중식 보안이 필요할 때
- 트래픽 제어가 필요할 때
- 가시성이 요구될 때
- 확장 가능한 시스템을 구축할 때
단일 모놀리식 애플리케이션의 경우 API 게이트웨이가 필요하지 않을 수 있습니다.
실제 사례
프론트엔드 애플리케이션이 다음과 같은 요청을 보냅니다:
GET /api/orders
API 게이트웨이는:
- 사용자 토큰을 검증
- 속도 제한을 확인
- 요청을 Order Service에 라우팅
- 요청 메트릭을 로그에 기록
- 응답을 반환
프론트엔드는 백엔드 서비스와 직접 상호작용하지 않습니다.
실전 구현
전체 실습 튜토리얼은 CodingMavrick YouTube 채널에서 확인할 수 있습니다. 영상에서는 다음 내용을 다룹니다:
- Cloudflare Workers를 이용한 API 게이트웨이 구축
- 라우팅 로직
- 인증
- 속도 제한
- 가시성 통합
- 프로덕션 배포