Azure Functions를 사용하는 서버리스REST API
Azure Functions는 서버리스 REST 기반 API를 빌드하는 데 사용하는 필수 컴퓨팅 서비스입니다. HTTP 트리거는 브라우저, 모바일 앱 및 기타 백 엔드 서비스와 같이 클라이언트에서 호출할 수 있는 REST 엔드포인트를 노출합니다. 경로에 대한 네이티브 지원을 통해 단일 HTTP 트리거 함수는 고기능 REST API를 노출할 수 있습니다. 또한 Functions는 특정 클라이언트에 대한 액세스만 제한하는 데 도움이 되는 고유한 기본 키 기반 권한 부여 체계를 제공합니다. 자세한 내용은 Azure Functions HTTP 트리거를 참조하세요.
일부 시나리오에서는 더 복잡한 REST 동작 세트를 지원하기 위해 API가 필요할 수 있습니다. 예를 들어 여러 HTTP 함수 엔드포인트를 단일 API로 결합해야 할 수 있습니다. 하나 이상의 백 엔드 REST 기반 서비스를 통해 요청을 전달할 수도 있습니다. 마지막으로 API 사용으로 수익을 창출할 수 있는 높은 수준의 보안이 필요할 수 있습니다.
현재 함수를 기반으로 보다 복잡하고 강력한 API를 빌드하는 데 권장되는 방법은 Azure API Management에서 제공하는 포괄적인 API 서비스를 사용하는 것입니다. API Management는 정책 기반 모델을 사용하여 라우팅, 보안 및 OpenAPI 통합을 제어할 수 있습니다. 또한 수익 창출 속도 제한과 같은 고급 정책도 지원합니다. 이전 버전의 Functions 런타임에서는 레거시 Functions 프록시 기능을 사용했습니다.
Important
Azure Functions 프록시는 Azure Functions 런타임 버전 1.x~3.x의 레거시 함수입니다. 함수 앱을 최신 런타임 버전으로 업그레이드할 수 있도록 버전 4.x에서 함수 프록시에 대한 지원을 다시 사용하도록 설정할 수 있습니다.11 가능한 한 빨리 함수 앱을 Azure API Management와 통합하도록 전환해야 합니다. API Management를 사용하면 Functions 기반 API를 정의, 보호, 관리 및 수익화하기 위한 보다 완전한 기능 집합을 활용할 수 있습니다. 자세한 내용은 API Management 통합을 참조하세요.
Functions 버전 4.x에서 프록시 지원을 다시 사용하도록 설정하는 방법을 알아보려면 Functions v4.x에서 프록시 다시 사용하도록 설정를 참조하세요.
Functions 프록시에서 API Management로 이동
Functions 프록시에서 API Management 사용으로 이동하는 경우 함수 앱을 API Management 인스턴스와 통합한 다음, 이전 프록시처럼 작동하도록 API Management 인스턴스를 구성해야 합니다. 다음 섹션에서는 Azure Functions와 함께 API Management를 사용하는 데 도움이 되는 관련 문서에 대한 링크를 제공합니다.
프록시에서 이동하는 데 문제가 있거나 Azure API Management가 특정 시나리오를 해결하지 못하는 경우 API Management 피드백 포럼에서 요청을 게시합니다.
API Management 통합
API Management를 사용하면 기존 함수 앱을 가져올 수 있습니다. 가져온 후 각 HTTP 트리거 함수 엔드포인트는 수정하고 관리할 수 있는 API가 됩니다. 가져온 후 API Management를 사용하여 API에 대한 OpenAPI 정의 파일을 생성할 수도 있습니다. 가져오는 동안 권한 부여 수준이 있는 admin
모든 엔드포인트는 무시됩니다. Functions와 함께 API Management를 사용하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.
아티클 | 설명 |
---|---|
Azure API Management를 사용하여 HTTP 엔드포인트에서 서버리스 API 노출 | Azure Portal의 기존 함수 앱에서 새 API Management 인스턴스를 만드는 방법을 보여줍니다. 모든 언어를 지원합니다. |
Azure Functions 및 API Management 통합을 사용하여 Visual Studio에서 서버리스 API 만들기 | Visual Studio를 통해 OpenAPI 확장을 사용하는 C# 프로젝트를 만드는 방법을 보여줍니다. OpenAPI 확장을 사용하면 C# 코드에 직접 특성을 적용하여 .NET API를 정의할 수 있습니다. |
빠른 시작: Azure Portal을 사용하여 새 Azure API Management 서비스 인스턴스 만들기 | 포털에서 새 API Management 인스턴스를 만듭니다. API Management 인스턴스를 만든 후 함수 앱에 연결할 수 있습니다. 다른 비 포털 생성 메서드가 지원됩니다. |
Azure API Management에서 Azure 함수 앱을 API로 가져오기 | 기존 함수 앱을 가져와서 기존 HTTP 트리거 엔드포인트를 관리형 API로 노출하는 방법을 보여 줍니다. 이 문서에서는 새 API를 만들고 기존 관리형 API에 엔드포인트를 추가하는 방법을 모두 지원합니다. |
API Management를 사용하여 함수 앱 엔드포인트를 노출한 후 다음 문서에서는 API Management 인스턴스에서 Functions 기반 API를 관리하는 방법에 대한 일반적인 정보를 제공합니다.
아티클 | 설명 |
---|---|
API 편집 | API Management에서 호스트되는 기존 API로 작업하는 방법을 보여 줍니다. |
Azure API Management의 정책 | API Management에서 게시자는 정책을 사용하여 구성을 통해 API 동작을 변경할 수 있습니다. 정책은 API의 요청 또는 응답에 따라 순차적으로 실행되는 명령문의 컬렉션입니다. |
API Management 정책 참조 | 지원되는 모든 API Management 정책을 자세히 설명하는 참조입니다. |
API Management 정책 샘플 | 주요 시나리오에서 API Management 정책을 사용하는 샘플의 유용한 컬렉션입니다. |
레거시 Functions 프록시
레거시 Functions 프록시 기능은 버전 3.x 및 이전 버전의 Functions 런타임에 대한 기본 API 기능 세트도 제공합니다.
Important
Azure Functions 프록시는 Azure Functions 런타임 버전 1.x~3.x의 레거시 함수입니다. 함수 앱을 최신 런타임 버전으로 업그레이드할 수 있도록 버전 4.x에서 함수 프록시에 대한 지원을 다시 사용하도록 설정할 수 있습니다.11 가능한 한 빨리 함수 앱을 Azure API Management와 통합하도록 전환해야 합니다. API Management를 사용하면 Functions 기반 API를 정의, 보호, 관리 및 수익화하기 위한 보다 완전한 기능 집합을 활용할 수 있습니다. 자세한 내용은 API Management 통합을 참조하세요.
Functions 버전 4.x에서 프록시 지원을 다시 사용하도록 설정하는 방법을 알아보려면 Functions v4.x에서 프록시 다시 사용하도록 설정를 참조하세요.
API Management를 사용하여 동등한 작업을 수행하는 방법에 대한 몇 가지 기본 힌트가 Functions 프록시 문서에 추가되었습니다. 현재 기존 Functions 프록시 구현을 API Management로 마이그레이션하는 데 도움이 되는 설명서나 도구가 없습니다.