Overview

서비스 개요

API Gateway는 API를 손쉽게 생성, 관리 및 모니터링 하는 서비스입니다. API와 관련된 리소스와 메서드를 일관적인 형태로 정의하고, 내장된 보안 액세스를 적용할 수 있습니다. 또한, API 이용 현황 및 성능 지표를 쉽고 편리하게 모니터링 할 수 있습니다.

특장점

  • 편리한 API 관리: 콘솔을 통해 API 등록 및 관리를 편리하게 수행할 수 있으며, JWT(Json Web Token)을 제공하여 접근 권한 관리가 가능합니다. 또한 SCP Cloud Functions와 연계되어 API Gateway을 통해 Cloud Functions 함수 호출이 가능합니다.
  • 안정적인 트래픽 처리: API Gateway는 사용량 계획을 통해 백엔드 시스템 트래픽을 관리할 수 있습니다. 사용량 계획은 시간당(시/일/월) 최대 호출 건수를 설정할 수 있으며, 이를 통해 과도한 트래픽이 인입되는 것을 방지하여 안정적인 서비스 이용이 가능합니다.
  • 쉽고 편리한 모니터링: 스테이지별로 다른 배포 버전을 연결한 API 버전 관리 등 다양한 관리 기능들과 API 이용 현황을 파악할 수 있는 대시보드를 제공합니다. 이를 통해 API 호출, 응답 시간 및 오류 발생 수에 대한 성능 지표를 쉽고 빠르게 파악할 수 있습니다.

서비스 구성도

구성도
그림. API Gateway 구성도
  • 개발자(3rd party Developer)는 단일 엔드포인트(API Gateway)를 통해 다양한 백엔드 서비스에 Rest API로 접근할 수 있습니다.
  • API Gateway는 해당 요청을 적절한 백엔드 서비스 또는 Cloud Function으로 라우팅할 수 있습니다.
  • 인증 및 권한 부여가 필요시, JWT로 사용자를 검증합니다.
  • 요청 데이터는 필요에 따라 변환되거나, 여러 서비스의 응답이 API Gateway를 통해 하나로 집계됩니다.
  • 트래픽이 많을 때는 로드밸런싱과 속도 제한(rate limiting)을 적용하여 서비스 안정성을 높일 수 있습니다.
  • CORS 설정을 통해 웹 클라이언트가 다른 도메인에서 API를 호출할 수 있도록 지원합니다.
  • 모든 요청과 응답은 API Gateway서비스에서 로깅 및 모니터링되어 장애 및 이상 징후를 빠르게 감지할 수 있습니다.
  • 개발, 테스트, 운영 등 환경별로 스테이지를 분리해 API의 버전을 관리하고 필요한 버전을 활용할 수 있습니다. API 관리, 보안 정책 적용 등을 API Gateway서비스를 통해 중앙에서 일관되게 처리할 수 있습니다.

제공 기능

API Gateway는 다음과 같은 기능을 제공하고 있습니다.

  • API 관리 및 운영

    • 사용자 지정 도메인 이름: API에 사용자 지정 도메인을 연결하여 사용자 고유의 URL 제공
    • REST API 생성 및 관리: 리소스와 메서드(GET, POST 등)를 정의하고 인증 방식 설정
    • API 버전 및 스테이지 관리: 동일한 API를 여러 버전으로 동시에 운영하며 변경 사항 관리
    • 라우팅: URI 경로 또는 요청 헤더를 기반으로 다양한 백엔드 서비스로 요청을 라우팅
    • 모니터링 및 로깅: API 성능 모니터링 및 로그 기록 가능(‘25년 12월 제공 예정)
  • API 보안

    • IP ACL 설정: 특정 IP만 접근 가능하도록 제어하여 보안 강화
    • Cloud Functions 연동: 서버리스 컴퓨팅과 연동하여 외부 요청에 따라 비즈니스 로직 실행
    • CORS 지원: Cross-Origin Resource Sharing(CORS)을 설정하여 다른 도메인의 리소스 접근 허용

구성 요소

API

API는 백엔드 HTTP 엔드포인트, Cloud Functions, 또는 기타 SCP 서비스와 통합된 리소스와 메서드의 집합입니다. API는 실제 서비스의 논리적 인터페이스를 제공하며, 여러 스테이지에 배포되어 다양한 환경(개발, 운영 등)에서 사용할 수 있습니다.

리소스

리소스는 API 내에서 특정 엔드포인트(URI 경로)를 나타내는 논리적 단위입니다. 각 리소스는 트리 구조로 구성될 수 있으며, 여러 HTTP 메서드를 가질 수 있습니다. 예를 들어, /users , /orders 와 같은 경로가 각각의 리소스가 됩니다.

메서드

메서드는 각 리소스에 대해 수행할 수 있는 HTTP 동작(예: GET, POST, PUT, DELETE 등)을 정의합니다. 각 메서드는 특정 백엔드와 통합되어 실제 데이터를 처리하거나 기능을 실행합니다.

스테이지

스테이지는 API 배포의 특정 시점(스냅샷)에 대한 명명된 참조로, 개발(dev), 테스트(test), 운영(prod) 등 API의 수명 주기별 환경을 구분합니다. 각 스테이지는 고유의 URL을 가지며, 캐싱, 로깅, 제한, 스테이지 변수 등 환경별로 별도의 설정이 가능합니다. 스테이지를 통해 환경별 설정, 트래픽 분리 등 다양한 운영 시나리오를 지원합니다.

엔드포인트

엔드포인트는 클라이언트가 API에 접근할 때 사용하는 고유 URL 주소입니다. 각 스테이지별로 별도의 엔드포인트가 생성됩니다.

통합

통합은 API 메서드와 실제 백엔드(HTTP 엔드포인트, Function) 간의 연결 방식을 정의합니다. 요청 및 응답 데이터의 변환, 인증, 매핑 템플릿 등을 통해 백엔드와의 연동을 세밀하게 제어할 수 있습니다.

JWT (Json Web Token)

인증 및 권한 부여를 위해 사용하는 토큰 기반의 웹 표준(RFC 7519)입니다. JWT는 세 부분(Header, Payload, Signature)으로 구성된 JSON 객체를 Base64 URL-safe 방식으로 인코딩하고, 비밀키 또는 공개키로 전자서명하여 위변조를 방지합니다 서버와 클라이언트, 또는 서비스 간에 인증 정보와 권한을 안전하게 주고받을 때 HTTP 헤더에 실어 사용하며, 세션 저장 없이 무상태(Stateless) 인증이 가능합니다.

CORS (Cross-Origin Resource Sharing)

웹 브라우저에서 보안상의 이유로 적용되는 동일 출처 정책(Same-Origin Policy)을 우회해, 서로 다른 출처(프로토콜, 도메인, 포트가 하나라도 다를 때)의 서버 간에 자원 공유를 허용하는 메커니즘입니다. 서버는 HTTP 응답 헤더(예: Access-Control-Allow-Origin 등)를 통해 어떤 출처에서 온 요청을 허용할지 명시하며, 이를 통해 클라이언트(브라우저)가 교차 출처 요청을 안전하게 수행할 수 있도록 합니다. CORS가 제대로 설정되지 않으면 브라우저는 다른 출처의 리소스 요청을 차단하며, 이는 외부 API 호출, 폰트·이미지·동영상 등 다양한 리소스 활용 시 반드시 고려해야 하는 웹 표준 보안 정책입니다.

리전별 제공 현황

API Gateway는 아래의 환경에서 제공 가능합니다.

리전제공 여부
한국 서부1(kr-west1)제공
한국 동부1(kr-east1)제공
한국 남부1(kr-south1)미제공
한국 남부2(kr-south2)미제공
한국 남부3(kr-south3)미제공
표. API Gateway 리전별 제공 현황

선행 서비스

해당 서비스를 생성하기 전에 선택 사항으로 구성할 수 있는 서비스 목록입니다. 자세한 내용은 각 서비스 별로 제공되는 가이드를 참고하여 사전에 준비해 주세요.

서비스 카테고리서비스상세 설명
ComputeCloud Functions서버리스 컴퓨팅 환경에서 애플리케이션 코드를 실행하는 서비스
  • API Gateway에서 엔드포인트의 통합 대상으로 Cloud Functions의 함수를 연결하면, 클라이언트의 HTTP 요청이 함수로 전달되어 실행 결과를 반환받을 수 있습니다. 이를 통해 서버리스 방식으로 API 백엔드를 손쉽게 구현할 수 있습니다.
표. API Gateway 선행 서비스
Application Service
How-to guides