API 및 API 프록시 이해

이 페이지는 ApigeeApigee Hybrid에 적용됩니다.

Apigee Edge 문서 보기

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

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

API란 무엇인가요?

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

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

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

또한 Apigee를 사용하면 백엔드 서비스 없이 API 서비스 플랫폼에서 호스팅되는 애플리케이션을 구현하여 API를 빌드할 수 있습니다. 이러한 애플리케이션을 자바스크립트와 자바에서 빌드할 수 있습니다.

API 프록시란 무엇인가요?

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

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

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

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

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

API 프록시 유형

Apigee는 두 가지 프록시 유형을 지원합니다.

  • 표준 프록시에는 표준 정책만 포함됩니다. 표준 프록시는 경량형 API 솔루션에 적합하며 API 제품에 포함되지 않습니다.
  • 확장 프록시에는 확장 정책 또는 흐름 후크가 하나 이상 포함됩니다. 확장 프록시에는 표준 프록시보다 훨씬 더 많은 기능이 포함될 수 있습니다.

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

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

  • Apigee UI를 사용하여 그래픽 사용자 인터페이스(GUI)에서 API 프록시 정의. 자세한 내용은 간단한 API 프록시 빌드를 참조하세요.
  • API 프록시를 정의하는 다른 모든 지원 파일과 XML 파일을 만든 후 Apigee로 가져오기
  • Apigee API를 통해 Apigee에 일련의 REST 요청을 전송하여 API 프록시 만들기
  • VS Code에서 Apigee를 사용하여 로컬에서 개발하고 보관 파일로 배포할 수 있습니다. 자세한 내용은 Apigee를 사용한 로컬 개발 개요를 참조하세요.

API 프록시 버전이란 무엇인가요?

API 프록시 버전은 API 프록시 구성에 대한 업데이트 관리를 반복적으로 수행하는 데 필요한 간단한 메커니즘을 제공합니다. 버전에 순차적으로 번호가 매겨지므로 API 프록시의 이전 버전을 배포하여 변경사항을 되돌릴 수 있습니다. 버전을 사용하면 API 프록시를 프로덕션 환경에 배포하고 테스트 환경에서 API 프록시 버전을 계속 새로 만들 수 있습니다. 준비가 되었을 때 상위 API 프록시 버전을 테스트에서 프로덕션으로 승격할 수 있습니다.

정책이란 무엇인가요?

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

첫 번째 API 프록시 만들기

Apigee에서는 첫 번째 API를 만드는 데 사용할 수 있는 일련의 가이드를 제공합니다. 첫 번째 API 프록시 빌드부터 시작합니다. 다른 주제 시작하기도 참조하세요.

자세히 알아보기