본문으로 건너뛰기
버전: Latest(v3.0) 🔥

Concepts

APIM 시스템은 전체 라이프사이클 API 관리를 지원하기 위해 함께 작동하는 주요 엔티티와 구성 요소로 구성됩니다. 이 섹션에서는 각 개념, 시스템 내에서의 역할, API 개발, 게시 및 소비에 기여하는 방법을 정의합니다.

API 관리자

Definition: API 관리자는 전체 라이프사이클 동안 API를 정의, 구성 및 유지 관리하는 책임이 있는 시스템 사용자입니다.

System Location: 모든 구성 및 관리 작업을 위해 APIM 콘솔을 사용합니다.

Key Responsibilities:

  • 백엔드 서비스 개발 및 등록
  • API 엔드포인트 및 사양 정의
  • API 문서 작성 및 관리
  • 라우팅 및 정책 집행 구성
  • 지정된 게이트웨이에 API 게시

API 사용자

Definition: API 사용자는 플랫폼에 게시된 API를 소비하는 개발자 또는 애플리케이션 팀입니다.

System Location: 개발자 포털을 통해 시스템과 상호작용합니다.

Key Responsibilities:

  • API 문서에 접근
  • API 키 및 엔드포인트에 접근
  • 새로운 고유 API 엔드포인트 요청
  • 애플리케이션에 API 통합
  • 애플리케이션 팀 구성원 및 역할 관리

백엔드 서비스

Definition: 백엔드 서비스는 API가 노출하는 핵심 비즈니스 로직 또는 데이터 처리 단위입니다.

System Location: APIM 시스템 외부에 위치하지만, APIM을 통해 등록되고 접근됩니다.

Function:

  • API 요청을 수신하고 처리
  • 게이트웨이를 통해 클라이언트에게 구조화된 데이터 또는 서비스 결과 반환

프론트엔드 애플리케이션

Definition: 소비자에게 제공되는 웹 또는 모바일 애플리케이션으로, API를 활용하여 최종 사용자에게 비즈니스 기능을 제공합니다.

System Location: API 사용자에 의해 외부에서 구축 및 운영됩니다.

Function:

  • API 게이트웨이에 구조화된 요청 전송
  • 최종 사용자에게 API 응답 수신 및 표시
  • API 기반 상호작용을 위한 클라이언트 인터페이스 역할

API Gateway

Definition: API Gateway는 정책을 시행하고, 트래픽을 라우팅하며, API 호출을 처리하는 핵심 런타임 구성 요소입니다.

System Location: 프론트엔드 애플리케이션과 백엔드 서비스 사이에 위치합니다.

Key Functions:

  • 들어오는 API 요청을 검증하고 인증합니다.
  • 요청 및 응답 정책을 적용합니다 (예: 스로틀링, 변환).
  • 요청을 적절한 백엔드 서비스로 라우팅합니다.
  • 여러 프로젝트 간의 복제, 확장성 및 격리를 지원합니다.

APIM Console (API Management Console)

Definition: APIM Console은 API, 정책, 게이트웨이 및 프로젝트를 관리하기 위한 주요 관리 인터페이스입니다.

Target Users: API 관리자, 플랫폼 관리자

Key Functions:

  • API를 정의하고, 등록하며, 게시합니다.
  • 정책 및 접근 규칙을 구성합니다.
  • API 게이트웨이를 생성하고 관리합니다.
  • API 사용량, 성능 및 시스템 로그를 모니터링합니다.

Developer Portal

Definition: Developer Portal은 API 사용자가 게시된 API를 발견하고, 탐색하며, 접근할 수 있는 셀프 서비스 플랫폼입니다.

Target Users: 내부 팀, 파트너 개발자, 외부 소비자

Key Functions:

  • 사용 가능한 API 및 문서를 탐색합니다.
  • API 접근을 요청하고 자격 증명을 관리합니다.
  • 개인 사용량 및 승인 상태를 추적합니다.
  • Open API 협업을 위한 인터페이스 역할을 합니다.

API Test Portal

Definition: 요청/응답 시뮬레이션을 사용하여 API를 실시간으로 테스트하기 위한 전용 도구입니다.

Target Users: API 관리자와 API 사용자 모두

Key Functions:

  • 매개변수와 헤더가 포함된 샘플 요청을 보냅니다.
  • API의 기능적 정확성을 검증합니다.
  • API 키 또는 토큰과 같은 인증 방법을 사용합니다.
  • 프로덕션 사용 전에 API 동작을 디버깅합니다.

테넌트 관리 콘솔 (사용자 관리)

Definition: 테넌트 관리자 콘솔은 플랫폼 수준의 관리자를 위한 사용자 및 프로젝트 관리 기능을 제공합니다.

Target Users: 시스템 수준의 관리자

Key Functions:

  • 사용자 및 프로젝트 생성 및 관리
  • 사용자에게 역할 및 권한 할당
  • 사용자를 프로젝트에 할당

API

Definition: API(응용 프로그램 프로그래밍 인터페이스)는 APIM 플랫폼을 통해 소비자에게 노출되는 주요 서비스 단위입니다.

System Location: APIM 콘솔에 등록 및 게시되며, 게이트웨이를 통해 접근합니다.

Attributes:

  • Swagger/OpenAPI를 사용하여 정의됨
  • 백엔드 서비스에 연결됨
  • 라이프사이클 관리 및 정책의 적용을 받음
  • 프론트엔드 앱 또는 외부 시스템에서 소비됨

API 문서

Definition: API를 소비하는 방법을 설명하는 구조화된 기술 문서입니다.

System Location: APIM 콘솔에서 생성되고 개발자 포털에 게시됨

Contents Include:

  • 엔드포인트 설명 및 메서드
  • 입력 매개변수 및 출력 구조
  • 인증 요구 사항 및 사용 예제

API 정책

Definition: API 정책은 API 요청 및 응답이 API 게이트웨이에 의해 처리되는 방식을 규정하는 규칙 집합입니다. 이러한 정책은 접근, 보안, 데이터 변환 및 트래픽 동작을 제어합니다.

Policy Placement: 정책은 API 흐름의 두 가지 뚜렷한 단계에서 적용됩니다:

  • Inbound Policies (Request Policies): 백엔드 서비스에 요청이 도달하기 전에 적용됩니다. 목적:
    • 호출자 인증 (예: API 키, 토큰, OAuth)
    • 요청을 변환하거나 사전 처리, 예를 들어 헤더, 페이로드 또는 매개변수 형식 검증
    • 속도 제한 및 할당량 집행 적용
    • 라우팅 결정 또는 헤더 보강 수행
  • Outbound Policies (Response Policies): 백엔드에서 응답이 반환된 후 API 사용자에게 도달하기 전에 적용됩니다. 목적:
    • 응답 본문에서 민감한 데이터 마스킹
    • 응답 형식 변환 (예: 응답 데이터에서 특정 필드 값 마스킹)
    • 응답 헤더 추가 또는 수정
    • 응답 내용 또는 상태 코드 로깅
System Location:
  • APIM 콘솔에서 구성됨
  • API 게이트웨이에 의해 동적으로 시행됨
Usage Scenario:

API 사용자가 요청을 보내면 게이트웨이는 먼저 인증 및 유효성을 확인하기 위해 인바운드 정책을 적용합니다. 요청이 백엔드로 라우팅되고 응답이 생성되면, 아웃바운드 정책이 적용되어 응답이 보안, 형식 또는 로깅 요구 사항을 준수하는지 확인한 후 프론트엔드 애플리케이션에 반환됩니다.

다중 게이트웨이 관리

Definition: 각 프로젝트가 단일 게이트웨이에 제한되는 여러 게이트웨이를 정의하고 운영할 수 있는 기능입니다.

Purpose and Benefits:

  • 프로젝트 간 트래픽 격리
  • 리소스별 배포를 통한 확장성
  • 롤링 업데이트 및 복제 제어 지원
  • 팀, 부서 또는 테넌트별 유연한 배포

API 생애 주기

Definition: API 생성, 배포 및 운영의 엔드 투 엔드 프로세스입니다.

Lifecycle Stages:

  1. 백엔드 서비스 개발
  2. API 정의 및 문서화
  3. 게이트웨이 생성 및 정책 설정
  4. API 게시
  5. 테스트 및 프론트엔드 통합
  6. 런타임 요청/응답 실행
  7. 모니터링 및 버전 관리

API 요청 및 응답 흐름

Definition: 소비자에서 제공자로, 다시 소비자로 돌아가는 API 호출의 실제 런타임 시퀀스입니다.

Flow Steps:

  1. 프론트엔드 애플리케이션이 API 게이트웨이에 요청을 보냅니다.
  2. 게이트웨이가 요청 정책을 적용합니다.
  3. 요청이 백엔드 서비스로 라우팅됩니다.
  4. 응답이 생성되어 반환됩니다.
  5. 게이트웨이가 응답 정책을 적용합니다.
  6. 최종 응답이 프론트엔드 앱으로 전송됩니다.