Kong은 API Gateway 및 마이크로서비스 관리 플랫폼으로, API 트래픽을 제어하고 관리할 수 있는 다양한 기능을 제공합니다. 아래는 Kong의 주요 기능에 대한 설명입니다:
1. API 라우팅
- 역방향 프록시: 클라이언트 요청을 적절한 백엔드 서비스로 라우팅합니다.
- 동적 라우팅: 경로, 헤더, 쿼리 매개변수 등 다양한 기준으로 요청을 라우팅할 수 있습니다.
- 로드 밸런싱: 여러 백엔드 서비스로 요청을 분산하여 안정성과 성능을 향상합니다.
2. 보안
- 인증 및 권한 부여: OAuth2, Key Authentication, JWT 토큰 등 다양한 인증 방식을 지원합니다.
- IP 허용/차단 목록: 특정 IP 주소에서의 접근을 제어할 수 있습니다.
- SSL/TLS 암호화: 데이터 전송 시 보안을 강화합니다.
3. 확장성
- 플러그인 아키텍처: 인증, 로깅, 데이터 변환 등 다양한 플러그인을 설치하여 기능을 확장할 수 있습니다.
- 사용자 정의 플러그인: Lua 또는 Kong SDK를 사용하여 맞춤형 플러그인을 개발할 수 있습니다.
4. 관찰 가능성 및 모니터링
- 로깅 및 트래킹: 요청 데이터를 로깅하거나 추적할 수 있습니다. (Elasticsearch, Splunk 등 연동 가능)
- Metrics 및 Health Check: Prometheus 등과 통합하여 서비스 상태 및 성능을 모니터링할 수 있습니다.
- 분산 추적: Zipkin, Jaeger와 같은 도구를 활용하여 API 호출 체인을 시각화합니다.
5. 속도 제한 및 트래픽 관리
- Rate Limiting: 단위 시간당 요청 수를 제한하여 오버로드를 방지합니다.
- Quota 관리: 사용자 또는 애플리케이션별로 요청 할당량을 설정할 수 있습니다.
- CORS 지원: 교차 출처 요청을 제어합니다.
6. DevOps 및 자동화
- Kubernetes 통합: Kubernetes 환경에서 Kong Ingress Controller로 동작하여 마이크로서비스와 API를 관리합니다.
- CI/CD 지원: Kong CLI 및 Admin API를 활용하여 자동화된 배포 및 설정 관리가 가능합니다.
7. 멀티-프로토콜 지원
- HTTP/HTTPS: 기본적인 REST API와 HTTPS 지원.
- gRPC 및 gRPC-Web: 최신 API 프로토콜인 gRPC와 gRPC-Web도 지원.
- WebSocket: 실시간 통신 애플리케이션 지원.
Kong은 오픈소스로 시작했으며, 엔터프라이즈 에디션(Kong Gateway Enterprise)에서는 더 고급 기능(예: GUI 기반 관리, 엔터프라이즈 보안 기능, 고급 분석 등)을 제공합니다. 마이크로서비스 및 API 관리를 효율화하고 보안을 강화하려는 조직에서 널리 사용됩니다.
728x90