R&D/클라우드

API gateway : Kong 이해하기

sunshout 2025. 1. 18. 22:24

Kong 기본 구성 요소

  1. Service:
    • 실제 백엔드 애플리케이션(API 서비스)을 나타냅니다.
    • Kong은 이 Service에 요청을 라우팅합니다.
  2. Route:
    • 클라이언트 요청을 특정 Service로 매핑하는 규칙입니다.
    • URL 경로나 HTTP 메서드 등을 기반으로 라우팅할 수 있습니다.
  3. Plugin:
    • Kong의 핵심 기능을 확장합니다.
    • 인증, 속도 제한, 로깅, 트랜스포머 등의 작업을 수행할 수 있습니다.
  4. Consumer:
    • API를 사용하는 클라이언트를 나타냅니다.
    • 각 Consumer에 인증 정보 등을 연결할 수 있습니다.

 

Kong 설정 및 사용법

1. Kong Admin API 활성화

  • Kong은 Admin API를 통해 설정 및 관리합니다.
  • 기본적으로 Admin API는 http://localhost:8001에서 실행됩니다.

2. Service 생성

다음 명령어로 백엔드 서비스(예: compute-service)를 Kong에 등록합니다. url 은 포워딩하는 backend 의 주소입니다.

curl -i -X POST http://localhost:8001/services/ \
  --data "name=compute-service" \
  --data "url=http://compute.example.com"

3. Route 생성

클라이언트로 노출할 route 를 생성하는 것입니다. 즉 compute-service 에서 servers-route 는 http://localhost/v2/{project_id}/servers 라고 요청이 오면 servers-route 이라고 정의됩니다.

curl -i -X POST http://localhost:8001/services/compute-service/routes \
  --data "paths[]=/v2/(?<project_id>[a-zA-Z0-9\-]+)/servers"
  --data "name=servers-route"
728x90