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를 관리할 수 있습니다.