API 및 API 프록시 이해

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

Apigee Edge를 사용하면 앱 개발자가 사용할 수 있는 RESTful API를 쉽고 빠르게 빌드할 수 있습니다. 백엔드 서비스의 관리형 '퍼사드' 역할을 하는 API 프록시를 빌드하여 Edge에 API를 노출합니다. 이 주제에서는 Apigee Edge의 API와 API 프록시 간의 관계를 설명합니다.

동영상: API 프록시를 소개하는 짧은 동영상을 확인하세요.

API란 무엇인가요?

API는 한 애플리케이션이 다른 애플리케이션의 기능이나 데이터를 쉽게 '사용'할 수 있게 하는 인터페이스입니다. API는 애플리케이션 로직과 데이터의 안정적이고 간편한 진입점을 정의하여 개발자가 다른 개발자가 빌드한 애플리케이션 로직에 쉽게 액세스하고 재사용할 수 있게 해줍니다. '웹 API'의 경우 로직 및 데이터가 네트워크를 통해 노출됩니다.

API를 사용하는 애플리케이션은 변경사항에 민감하므로 API도 '계약'을 암시합니다. 이 계약은 일정 기간 동안 API가 예측 가능한 방식으로 변경될 것이라는 어느 정도의 확신을 제공합니다.

Apigee Edge를 사용하면 API를 빌드할 수 있으며, API가 이미 있는 경우 직접 노출하면서 관리 및 가시성 레이어를 추가할 수 있습니다. SOA 기반 웹 서비스와 같은 HTTP 지원 서비스가 있는 경우 Apigee Edge를 통해 API로 노출될 수도 있습니다.

또한 Edge를 사용하면 백엔드 서비스 없이 API 서비스 플랫폼에서 호스팅되는 애플리케이션을 구현하여 API를 빌드할 수 있습니다. JavaScript, Java, Node.js로 이러한 애플리케이션을 빌드할 수 있습니다.

API 프록시란 무엇인가요?

API 프록시를 구현하여 Apigee Edge에 API를 노출합니다. API 프록시는 앱용 API를 백엔드 서비스에서 분리하고 백엔드 코드 변경으로부터 앱을 보호합니다. 서비스의 백엔드를 변경하면 앱이 중단 없이 동일한 API를 계속 호출합니다.

API 프록시 구성에는 두 가지 유형의 엔드포인트가 있습니다.

  • ProxyEndpoint: 클라이언트 앱이 API를 사용하는 방법을 정의합니다. ProxyEndpoint를 구성하여 API 프록시의 URL을 정의합니다. 또한 프록시 엔드포인트는 앱이 HTTP 또는 HTTPS를 통해 API 프록시에 액세스할지 여부를 결정합니다. 일반적으로 ProxyEndpoint에 정책을 연결하여 보안, 할당량 검사, 기타 유형의 액세스 제어 및 비율 제한을 적용합니다.
  • TargetEndpoint: API 프록시가 백엔드 서비스와 상호작용하는 방법을 정의합니다. 보안 설정, HTTP 또는 HTTPS 프로토콜, 기타 연결 정보를 정의하는 등의 요청을 적절한 백엔드 서비스로 전달하도록 TargetEndpoint를 구성합니다. 초기 요청을 보낸 앱의 응답 메시지 형식이 올바르게 지정되도록 TargetEndpoint에 정책을 연결할 수 있습니다.

아래 그래픽과 같이 API 프록시를 시각화할 수 있습니다.

HTTP 요청은 프록시 요청 엔드포인트를 통해 입력되고 대상 요청 엔드포인트로 전달된 다음 백엔드 서비스로 전송됩니다. HTTP 응답은 대상 응답 엔드포인트를 통해 입력되고 프록시 응답 엔드포인트로 전달된 다음 클라이언트로 다시 전달됩니다.

API 프록시를 만들려면 어떻게 해야 하나요?

API 프록시는 XML 구성 파일 및 코드(예: 자바스크립트 및 자바)의 번들로 구성됩니다. Apigee는 API 프록시를 만드는 여러 가지 방법을 제공합니다. 예를 들면 다음과 같습니다.

  • 에지 관리 UI를 사용하여 그래픽 사용자 인터페이스 (GUI)에서 API 프록시를 정의합니다. 자세한 내용은 간단한 API 프록시 빌드를 참조하세요.
  • API 프록시를 정의하는 다른 지원 파일과 함께 XML 파일을 만든 다음 Edge로 가져옵니다.
  • Edge에 대한 일련의 REST 요청을 실행하여 Edge 관리 API를 사용하여 API 프록시를 만듭니다.
  • Node.js 애플리케이션을 프록시로 배포합니다. 독립형 Node.js 앱 배포를 참조하세요.

정책이란 무엇인가요?

Edge를 사용하면 코드를 작성하지 않고도 정책을 사용하여 API 동작을 제어할 수 있습니다. 정책은 프록시 요청/응답 흐름의 일부로 제한된 특정 관리 기능을 구현하는 모듈과 같습니다. 정책을 사용하면 API에 일반적인 관리 기능을 쉽게 안정적으로 추가할 수 있습니다. 정책은 보안, 비율 제한, 변환, 중재와 같은 기능을 제공하므로 이러한 기능을 직접 코딩하고 유지할 필요가 없습니다.

첫 번째 API 프록시 만들기

Apigee에서는 첫 번째 API를 만드는 데 사용할 수 있는 일련의 가이드를 제공합니다. 첫 번째 API 프록시 빌드로 시작합니다.

API 프록시에 대해 알아볼 수 있는 좋은 방법은 샘플 API 프록시 사용에 설명된 대로 샘플을 사용하는 것입니다.

자세히 알아보기