API Gateway 개요
카카오클라우드 API Gateway(APIGW)는 API 호출 관련된 작업을 관리 할 수 있는 서비스입니다. 분산된 서비스의 API를 하나의 엔드포인트로 통합하여 관리하는 설정이 가능하고, 인증 설정, 권한 설정, 사용량 제한 등 다양한 기능들을 실시간으로 설정할 수 있습니다.
사용 목적 및 사례
여러 서비스를 하나의 API로 운영
여러 개의 앱 서비스 또는 여러 개의 엔드포인트를 하나의 API Gateway로 관리할 수 있습니다. API Gateway에서 제공하는 도메인 및 사용자가 등록한 도메인을 사용함으로써 편리한 엔드포인트 관리가 가능합니다.
백엔드 보호 및 안정화 역할을 수행
스테이지의 API 키 별로 사용량 계획을 설정하여 API 사용량 정책 설정이 가능하며, 이를 통해 부하를 사전에 방지할 수 있습니다. API Key 설정을 통해 인증되지 않은 사용자는 해당 API에 접근할 수 없습니다.
특징
손쉬운 API 관리 가능
- 여러 개의 API를 스테이지로 정의 및 서비스로 묶어 통합 관리
- 간편한 UI로 API 관리 가능
다양한 API 관리 기능 제공
- REST API 및 경로, 메서드를 정의 및 인증 방식 설정 가능
- 사용자 정의 도메인 및 SSL 오프로딩 기능 제공
- 스테이지별 API Key 발급 및 만료일 설정 가능
주요 개념
카카오클라우드 API Gateway 서비스는 크게 3가지로 구성됩니다.
Service
API Gateway의 서비스는 사용자 작업 단위의 가장 큰 단위로, 하나의 서비스 아래에 여러 개의 스테이지를 생성할 수 있습니다. 추후 보다 확장된 기능이 제공될 예정입니다.
Stage
스테이지는 퍼블릭 도메인을 제공하며, API Gateway 엔드포인트 하나에 대한 단위를 의미합니다. 스테이지에 등록된 API Gateway 엔드포인트에 인증 및 인가 설정이 가능합니다. 사용자 정의 도메인에 대한 설정 또한 가능하며, 이 경우 인증서는 직접 업로드해야 합니다.
스테이지 생성 후, 경로
, 메서드
, API 키
와 같은 세부 사항을 설정할 수 있습니다.
Usage Plan
사용자의 API 호출을 제한하기 위한 기능으로, API 키에 할당하여 호출 수를 조절할 수 있습니다. 불필요한 낭비를 없애고 효율적인 운영을 할 수 있도록 지원합니다.
IAM 역할 관리
API Gateway의 역할 관리는 IAM 역할 기반 액세스 제어(RBAC)를 따릅니다.
- 서비스, 스테이지, 사용량 계획은 프로젝트 관리자만 생성/관리할 수 있습니다.
- 각 사용자 권한마다 만들기/조회/설정/삭제 기능을 제공 또는 미제공합니다. 해당 기능에 권한이 없으면 관련 버튼이나 화면은 제공되지 않습니다.
Service
프로젝트 관리자(Admin)는 서비스 조회, 생성 및 관리가 가능합니다.
구분 | 프로젝트 관리자(Admin) | 프로젝트 멤버(Member) | 프로젝트 리더(Reader) |
---|---|---|---|
서비스 생성 | ✓ | ||
서비스 조회 | ✓ | ||
서비스 설정 | ✓ | ||
서비스 삭제 | ✓ |
Stage
프로젝트 관리자(Admin)는 스테이지 조회, 생성 및 관리가 가능합니다.
구분 | 프로젝트 관리자(Admin) | 프로젝트 멤버(Member) | 프로젝트 리더(Reader) |
---|---|---|---|
스테이지 생성 | ✓ | ||
스테이지 조회 | ✓ | ||
스테이지 설정 | ✓ | ||
스테이지 삭제 | ✓ |
Usage Plan
프로젝트 관리자(Admin)는 사용량 계획의 조회, 생성 및 관리가 가능합니다.
구분 | 프로젝트 관리자(Admin) | 프로젝트 멤버(Member) | 프로젝트 리더(Reader) |
---|---|---|---|
사용량 계획 만들기 | ✓ | ||
사용량 계획 조회 | ✓ | ||
사용량 계획 설정 | ✓ | ||
사용량 계획 삭제 | ✓ |
시작하기
API Gateway에 대한 자세한 사용 가이드는 How-to Guides에서 설명합니다. 카카오클라우드를 처음 시작하신다면 카카오클라우드 시작하기를 참고하시기 바랍니다.