API 게이트웨이 탐색
솔루션에는 여러 프런트 엔드 및 백 엔드 서비스가 포함될 수 있습니다. 이 시나리오에서는 클라이언트가 호출할 엔드포인트를 어떻게 알 수 있나요? 새 서비스가 도입되거나 기존 서비스가 리팩터링되면 어떻게 되나요? 서비스는 SSL 종료, 인증 및 기타 문제를 어떻게 처리합니까?
API Management 게이트웨이(데이터 평면 또는 런타임이라고도 함)는 API 요청 프록시, 정책 적용 및 원격 분석 수집을 담당하는 서비스 구성 요소입니다.
API 게이트웨이는 클라이언트와 서비스 사이에 있습니다. 클라이언트에서 서비스로 요청을 라우팅하는 역방향 프록시로 사용됩니다. 인증, SSL 종료 및 속도 제한과 같은 다양한 교차 절단 작업을 수행할 수도 있습니다. 게이트웨이를 배포하지 않는 경우 클라이언트는 백 엔드 서비스에 직접 요청을 보내야 합니다. 그러나 클라이언트에 직접 서비스를 노출하는 데 몇 가지 잠재적인 문제가 있습니다.
- 복잡한 클라이언트 코드가 발생할 수 있습니다. 클라이언트는 여러 엔드포인트를 추적하고 복원력 있는 방식으로 오류를 처리해야 합니다.
- 클라이언트와 백 엔드 간에 결합을 만듭니다. 클라이언트는 개별 서비스가 어떻게 분해되는지 알고 있어야 합니다. 따라서 클라이언트를 유지 관리하기가 어렵고 서비스를 리팩터링하기가 더 어려워집니다.
- 단일 작업을 수행하려면 여러 서비스에 대한 호출이 필요할 수 있습니다.
- 각 공용 서비스는 인증, SSL 및 클라이언트 속도 제한과 같은 문제를 처리해야 합니다.
- 서비스는 HTTP 또는 WebSocket과 같은 클라이언트 친화적인 프로토콜을 노출해야 합니다. 이렇게 하면 통신 프로토콜의 선택이 제한됩니다.
- 퍼블릭 엔드포인트가 있는 서비스는 잠재적인 공격 노출 영역이며 강화되어야 합니다.
게이트웨이는 서비스에서 클라이언트를 분리하여 이러한 문제를 해결하는 데 도움이 됩니다.
관리형 및 자체 호스팅
API Management는 관리형 게이트웨이와 자체 호스팅 게이트웨이를 모두 제공합니다.
관리형 - 관리형 게이트웨이는 모든 서비스 계층의 모든 API Management 인스턴스에 대해 Azure에 배포된 기본 게이트웨이 구성 요소입니다. 관리형 게이트웨이를 하용하면 API를 구현하는 백 엔드가 호스트되는 위치에 관계없이 모든 API 트래픽이 Azure를 통과합니다.
자체 호스팅 - 자체 호스팅 게이트웨이는 기본 관리 게이트웨이의 선택적 컨테이너화된 버전입니다. API 백엔드가 호스트된 동일한 환경에서 Azure 외부에서 게이트웨이를 실행해야 하는 하이브리드 및 다중 클라우드 시나리오에 유용합니다. 자체 호스팅 게이트웨이를 사용하면 하이브리드 IT 인프라를 사용하는 고객이 온-프레미스 및 Azure의 단일 API Management 서비스에서 클라우드 간에 호스트되는 API를 관리할 수 있습니다.