Docker

[Docker] kong, konga 를 구축하여, API-GATEWAY 로 사용하자

IT-PAPA 2023. 9. 14. 06:35
728x90
반응형

Kong은 고성능 마이크로서비스 및 웹 애플리케이션 API 게이트웨이 (API Gateway) 및 관리 플랫폼으로, API 관리, 보안, 로드 밸런싱, 트래픽 제어, 모니터링 및 인증과 같은 다양한 기능을 제공합니다. 이것은 오픈 소스로 제공되는 솔루션이며, 기업과 개발자들이 API를 보다 쉽게 관리하고 보호할 수 있게 해줍니다. 아래에서 Kong API Gateway의 주요 기능과 장점을 자세히 설명하겠습니다:

  1. API 관리 및 라우팅: Kong은 API 관리를 위한 중앙 집중화된 컨트롤 포인트를 제공하며, 다중 백엔드 서비스로 요청을 라우팅할 수 있습니다. 이를 통해 여러 API 엔드포인트를 효율적으로 관리하고 필요한 기능을 적용할 수 있습니다.

  2. 로드 밸런싱: Kong은 다수의 백엔드 서비스에 대한 로드 밸런싱을 지원하여 트래픽을 분산시키고 서비스 가용성을 향상시킵니다.

  3. 보안 및 인증: Kong은 API 보안을 강화하기 위한 다양한 방법을 제공합니다. API 토큰 인증, 사용자 인증, OAuth 및 JWT(JSON Web Tokens) 인증을 지원합니다. 이러한 기능은 API 엔드포인트에 대한 접근을 보호하고 보안을 유지하는 데 도움이 됩니다.

  4. 플러그인 확장성: Kong은 플러그인 아키텍처를 통해 사용자 정의 기능을 추가하고 API 트래픽을 조작할 수 있는 능력을 제공합니다. 여러 플러그인이 제공되며, 트래픽 제어, 로깅, 모니터링 및 보안을 개선하는 데 사용할 수 있습니다.

  5. 모니터링 및 분석: Kong은 API 트래픽을 실시간으로 모니터링하고 분석할 수 있는 대시보드와 로깅 기능을 제공합니다. 이를 통해 성능 문제를 식별하고 트래픽 동향을 파악할 수 있습니다.

  6. 오픈 소스 및 커뮤니티: Kong은 오픈 소스로 제공되며, 전 세계의 커뮤니티와 개발자들에 의해 활발하게 지원되고 개발되고 있습니다. 이는 무료로 사용할 수 있는 기반 솔루션을 제공하며 엔터프라이즈 버전 및 지원 계약도 제공합니다.

  7. 다양한 배포 옵션: Kong은 독립적인 애플리케이션 또는 쿠버네티스 클러스터와 같은 컨테이너 오케스트레이션 환경에서 배포할 수 있습니다. 이러한 다양한 배포 옵션은 환경에 맞게 적용할 수 있게 합니다.

Kong은 API 게이트웨이와 관리 플랫폼의 기능을 제공하여 개발자들이 API를 보다 효율적으로 관리하고 보호할 수 있도록 도와주는 강력한 도구입니다. 이는 모놀리식 애플리케이션에서 마이크로서비스 아키텍처로의 전환 및 클라우드 기반 애플리케이션 개발을 위한 필수 도구 중 하나로 간주됩니다.

 

콩 게이트웨이 - v3.4.x | 콩 문서 (konghq.com)

 

Kong/kong: 🦍 The Cloud-Native API Gateway (github.com)

 

GitHub - Kong/kong: 🦍 The Cloud-Native API Gateway

🦍 The Cloud-Native API Gateway . Contribute to Kong/kong development by creating an account on GitHub.

github.com

 

[Docker] 도커의 모든 것, 도커 추천 이미지!!! (tistory.com)

 

[Docker] 도커의 모든 것, 도커 추천 이미지!!!

필자는 이때까지 docker로 구축한 모든 목록을 이 블로그에 담았다. 앞으로도 이 페이지는 필자가 도커를 구축할 때마다 업데이트하려고 하니, 즐겨찾기 해두면 나쁘지 않을 거 같다. 유용하게 사

betwe.tistory.com

 

docker-compose.yml 파일

docker-compose.yml
version: '3.9'
services:
    # kong api-gateway
    kong:
        container_name: kong
        image: 'kong:latest'
        restart: always
        ports:
            - '8444:8444'
            - '8001:8001'
            - '8443:8443'
            - '8000:8000'
        environment:
            - 'KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl'
            - KONG_ADMIN_ERROR_LOG=/dev/stderr
            - KONG_PROXY_ERROR_LOG=/dev/stderr
            - KONG_ADMIN_ACCESS_LOG=/dev/stdout
            - KONG_PROXY_ACCESS_LOG=/dev/stdout
            - KONG_DATABASE=off
        
    # kong api-gateway admin web gui
    konga:
        container_name: konga
        image: pantsel/konga
        restart: always
        ports:
            - '1337:1337'
        environment:
            - NODE_ENV=production
        volumes:
            - './kongadata:/app/kongadata'

 

 

docker-compose 시작

docker-compose up -d

서비스 확인
서비스 확인

 

서비스 URL 접속

http://[서버 IP]:1337

서비스 URL 접속
서비스 URL 접속
로그인 화면
로그인 화면

 

로그인 후 메인화면
로그인 후 메인화면

 

docker-comopse 중지

docker-compose down

 

728x90
반응형
LIST