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 접근 및 인증 자격 요청
- 프론트엔드 애플리케이션(Web/Mobile)에 API 통합
- 사용량 모니터링 및 API 토큰 관리
백엔드 서비스
Definition: 백엔드 서비스는 API가 노출하는 핵심 비즈니스 로직 또는 데이터 처리 단위입니다.
System Location: APIM 시스템 외부에 위치하지만 등록되고 이를 통해 접근됩니다.
Function:
- API 요청을 수신하고 처리
- 게이트웨이를 통해 클라이언트에 구조화된 데이터 또는 서비스 결과 반환
프론트엔드 애플리케이션
Definition: 소비자 지향의 웹 또는 모바일 애플리케이션으로, API를 활용하여 최종 사용자에게 비즈니스 기능을 제공합니다.
System Location: API 사용자에 의해 외부에서 구축 및 운영됩니다.
Function:
- API 게이트웨이에 구조화된 요청 전송
- 최종 사용자에게 API 응답 수신 및 표시
- API 기반 상호작용을 위한 클라이언트 인터페이스 역할
API 게이트웨이
Definition: API 게이트웨이는 정책 집행, 트래픽 라우팅 및 API 호출 처리를 담당하는 핵심 런타임 구성 요소입니다.
System Location: 프론트엔드 애플리케이션과 백엔드 서비스 사이에 위치합니다.
Key Functions:
- 들어오는 API 요청을 검증하고 인증
- 요청 및 응답 정책 적용(예: 속도 제한, 변환)
- 요청을 적절한 백엔드 서비스로 라우팅
- 여러 프로젝트 간 복제, 확장성 및 격리 지원
APIM 콘솔 (API 관리 콘솔)
Definition: APIM 콘솔은 API, 정책, 게이트웨이 및 프로젝트 관리를 위한 주요 관리 인터페이스입니다.
Target Users: API 관리자, 플랫폼 관리자
Key Functions:
- API 정의, 등록 및 게시
- 정책 및 접근 규칙 구성
- API 게이트웨이 생성 및 관리
- API 사용량, 성능 및 시스템 로그 모니터링
개발자 포털
Definition: 개발자 포털은 API 사용자가 게시된 API를 발견하고 탐색하며 접근할 수 있는 셀프 서비스 플랫폼입니다.
Target Users: 내부 팀, 파트너 개발자, 외부 소비자
Key Functions:
- 사용 가능한 API 및 문서 탐색
- API 접근 요청 및 자격 관리
- 개인 사용량 및 승인 상태 추적
- Open API 협업을 위한 인터페이스 역할
API 테스트 포털
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 사용자에게 도달하기 전에 적용됩니다. 목적:
- 응답 본문에서 민감한 데이터 마스킹
- 응답 형식 변환(예: XML에서 JSON으로)
- 응답 헤더 추가 또는 수정
- 응답 내용 또는 상태 코드 기록
- APIM 콘솔에서 구성됨
- API 게이트웨이에 의해 동적으로 집행됨
API 사용자가 요청을 전송하면 게이트웨이는 먼저 인증 및 유효성을 확인하기 위해 인바운드 정책을 적용합니다. 요청이 백엔드로 라우팅되고 응답이 생성되면 아웃바운드 정책이 적용되어 응답이 보안, 형식 또는 로깅 요구 사항을 준수하는지 확인한 후 프론트엔드 애플리케이션에 반환됩니다.
다중 게이트웨이 관리
Definition: 각 프로젝트가 단일 게이트웨리에 제한되는 여러 게이트웨이를 정의하고 운영할 수 있는 기능입니다.
Purpose and Benefits:
- 프로젝트 간 트래픽 격리
- 리소스별 배포를 통한 확장성
- 롤링 업데이트 및 복제 제어 지원
- 팀, 부서 또는 테넌트별 유연한 배포
API 라이프사이클
Definition: API 생성, 배포 및 운영의 종단 간 프로세스입니다.
Lifecycle Stages:
- 백엔드 서비스 개발
- API 정의 및 문서화
- 게이트웨이 생성 및 정책 설정
- API 게시
- 테스트 및 프론트엔드 통합
- 런타임 요청/응답 실행
- 모니터링 및 버전 관리
API 요청 및 응답 흐름
Definition: 소비자에서 제공자로, 다시 소비자로 돌아가는 API 호출의 실제 런타임 시퀀스입니다.
Flow Steps:
- 프론트엔드 애플리케이션이 API 게이트웨이에 요청을 전송
- 게이트웨이가 요청 정책을 적용
- 요청이 백엔드 서비스로 라우팅
- 응답이 생성되어 반환
- 게이트웨이가 응답 정책을 적용
- 최종 응답이 프론트엔드 앱으로 전송