[API Platform]API Gateway의 필요성과 i-ONE API Gateway

조회수 2365

API Gateway 필요성

API Gateway란 여러 API 서버 앞에서 서버들의 엔드 포인트를 하나로 통합해주고, 클라이언트의 특정 API에 대한 요청을 라우팅 해주는 역할을 하며 그외에도 API 요청 및 응답에 대한 수정,추가, 삭제와 인증 및 인가, 트레픽 제어, 서킷 브레이크, 모니터링 등 다양한 기능들을 제공해 주고 API를 효율적으로 관리할 수 있게 해주는 툴이라 할 수 있습니다.



  • API Gateway 필요성


수많은 API 서비스의 원활한 동작과 관리가 어려우며, 각 서비스별로 인증 및 인가의 설정과 관리가 복잡하고 전문인력을 채용해서 개발,구축 및 운영이 어려운 것이 현실인데요. 그 뿐만 아니라 내부 데이터가 외부에 노출시 보안에 취약하고 제한없이 데이터 전송 시에 트래픽이 막혀서 서비스가 동작하지 않는등의 자애가 생길 수 있습니다.

이와 함께 비용 또한 국내외 솔루션을 포함하여 가격대가 매우 높아서 쉽게 도입하기가 쉽지 않기 때문에 이러한 어려움과 불편함 속에서 API 서비스를 원활히 작동 시키고 관리할 수 있는 API관리 솔루션 도입이 필요합니다.



  • i-ONE API Gateway 주요 기능


1. 모니터링

사용자 관리를 위해 API 서비스 상태를 실시간으로 반영합니다. 메모리, CPU, 디스크 사용률을 모니터링 할 수 있으며, API 요청 별 응답 시간도 실시간으로 모니터링할 수 있습니다.


2. API관리

API서비스를 등록하여 동적으로 관리할 수 있습니다. API 서비스를 비중을 설정하는 기반으로 로드 밸런스 관리를 할 수 있으며 오류 발생 시 설정된 fallback 서비스를 호출할 수도 있습니다. 그리고 API 서비스 versioning 관리를 위한 유효시간 관리도 가능합니다.


3. API 라우팅

각각의 API 서비스를 일괄적으로 전송하는 가장 핵심적인 기능입니다. API 요청을 백엔드 API Service로 전달하는 기능을 제공합니다. 클라이언트 별 엔드포인트를 지원하고 URI패턴, Header, Cookie, Method, 유효시간 조건 기반으로 라우팅 할 수 있습니다. 

여러 개의 API Service들에 대한 부하를 분산 시키는 로드 밸런싱이 가능합니다. API 라우팅 설정은 Admin의 API관리 기능을 통해 동적 반영이 가능합니다.


4. 메디에이션

클라이언트(서버 or 사용자)와 백엔드 API Service 간에 헤더 스펙 차이로 변환이 필요한 경우 변환 기능을 제공합니다.


5. 서킷브레이크

특정 API Service가 오류 발생 시 대체 서비스를 호출할 수 있는 기능을 제공합니다. Http Status코드로 응답을 필터링하여 대체 서비스를 호출합니다. 서킷 브레이크 활용을 위해 추가로 Traffic 제어 기능을 제공합니다.


6. Traffic 제어

잘못된 API Service로 인해 다른 API 서비스로 장애 전파를 최소화 하거나 서비스를 보장하기 위한 기능입니다. 이미지 등 대용량 파일 지연 방지를 위해 사이즈 설정이 가능하고, 응답 시간 지연으로 인한 장애 방지를 위해 Time out설정이 가능합니다. 

중요 API Service에 대해 최대한 서비스를 보장하기 위해 오류 발생시 요청을 재시도 가능하도록 설정이 가능합니다. 오류 발생 시 서킷브레이크 기능과 복합적으로 사용이 가능합니다.


7. 인증 및 인가

외부로 노출되는 데이터를 보호하기 위한 인증과 접근 권한을 부여하는 인가 기능입니다. 서버간에는 Token 또는 서버 인증 키로 인증 설정 및 자동 연장 인증 기능을 제공하고 사용자간에는 Token으로 인증 설정 및 자동 연장 인증 기능을 제공합니다. 도메인과 IP에 권한을 부여함으로서 API 라우트 혹은 서버 별로 인가 설정을 합니다. 인가 방식으로는 OAuth, JWT, Basic Auth가 있습니다.


8. API 서비스 테스트 및 문서화

API 서비스에서 Swagger로 테스트 기능을 구현하고 Admin에서 Swagger 통합 UI를 제공합니다. Admin의 Swagger 통합 UI를 통해 API Service 테스트와 문서화가 가능합니다.

이데아텍 API Gateway 솔루션



#APIGateway #APIGateway솔루션 #API관리 #모니터링 #API라우팅 #메디에이션 #서킷브레이크 #API서비스 #이데아텍