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 사용자에게 도달하기 전에 적용됩니다. 목적:
- 응답 본문에서 민감한 데이터 마스킹
- 응답 형식 변환 (예: 응답 데이터에서 특정 필드 값 마스킹)
- 응답 헤더 추가 또는 수정
- 응답 내용 또는 상태 코드 로깅
- APIM 콘솔에서 구성됨
- API 게이트웨이에 의해 동적으로 시행됨
API 사용자가 요청을 보내면 게이트웨이는 먼저 인증 및 유효성을 확인하기 위해 인바운드 정책을 적용합니다. 요청이 백엔드로 라우팅되고 응답이 생성되면, 아웃바운드 정책이 적용되어 응답이 보안, 형식 또는 로깅 요구 사항을 준수하는지 확인한 후 프론트엔드 애플리케이션에 반환됩니다.
다중 게이트웨이 관리
Definition: 각 프로젝트가 단일 게이트웨이에 제한되는 여러 게이트웨이를 정의하고 운영할 수 있는 기능입니다.
Purpose and Benefits:
- 프로젝트 간 트래픽 격리
- 리소스별 배포를 통한 확장성
- 롤링 업데이트 및 복제 제어 지원
- 팀, 부서 또는 테넌트별 유연한 배포
API 생애 주기
Definition: API 생성, 배포 및 운영의 엔드 투 엔드 프로세스입니다.
Lifecycle Stages:
- 백엔드 서비스 개발
- API 정의 및 문서화
- 게이트웨이 생성 및 정책 설정
- API 게시
- 테스트 및 프론트엔드 통합
- 런타임 요청/응답 실행
- 모니터링 및 버전 관리
API 요청 및 응답 흐름
Definition: 소비자에서 제공자로, 다시 소비자로 돌아가는 API 호출의 실제 런타임 시퀀스입니다.
Flow Steps:
- 프론트엔드 애플리케이션이 API 게이트웨이에 요청을 보냅니다.
- 게이트웨이가 요청 정책을 적용합니다.
- 요청이 백엔드 서비스로 라우팅됩니다.
- 응답이 생성되어 반환됩니다.
- 게이트웨이가 응답 정책을 적용합니다.
- 최종 응답이 프론트엔드 앱으로 전송됩니다.