Azure Functions 전용 호스팅 계획
본 문서에서는 ASE(App Service Environment)를 포함하는 App Service 플랜에 전용 리소스가 있는 함수 앱을 호스팅하는 내용을 다룹니다. 다른 호스팅 옵션에 대하여서는 호스팅 계획 문서를 확인하세요.
App Service 플랜은 앱에서 실행할 전용 컴퓨팅 리소스 세트를 정의합니다. 이러한 전용 컴퓨팅 리소스는 기존 호스팅의 서버 팜과 유사합니다. 하나 이상의 함수 앱을 구성하여 웹앱 같은 기타 App Service 앱에서와 같이 동일한 컴퓨팅 리소스(App Service 플랜)에서 실행되도록 할 수 있습니다. 함수 앱 호스팅에 지원되는 전용 App Service 플랜에는 기본, 표준, 프리미엄, 격리 SKU가 포함됩니다. App Service 계획의 작동 원리에 대한 자세한 내용은 Azure App Service 계획의 포괄 개요를 참조하세요.
Important
무료 및 공유 계층 App Service 플랜은 Azure Functions에서 지원되지 않습니다. 함수 실행을 호스트하는 비용 절감 옵션의 경우 함수 실행에 따라 요금이 청구되는 사용량 플랜 또는 Flex 사용량 플랜을 대신 고려해야 합니다.
다음 상황에서 전용 App Service 플랜을 고려합니다.
- 이미 다른 App Service 인스턴스를 실행하고 있는 기존의 활용도가 낮은 VM이 있습니다.
- 함수를 실행할 사용자 지정 이미지를 제공하고자 합니다.
결제
다른 App Service 리소스에서와 마찬가지로 App Service 플랜에 맞춰 함수 앱에 대한 비용을 지불합니다. 이는 소비 기반 비용 구성 요소가 있는 Azure Functions 사용량 플랜나 Premium 플랜와는 다릅니다. 플랜에서 실행되는 함수 앱이나 웹앱의 개수와 상관 없이 해당 플랜에만 맞춰서 요금이 청구됩니다. 자세한 내용은 App Service 가격 책정 페이지를 확인하세요.
Always On
App Service 계획에서 앱을 실행하는 경우 함수 앱이 올바르게 실행되도록 Always on 설정을 사용하도록 설정해야 합니다. App Service 계획에서 Functions 런타임은 몇 분 동안 비활성 상태이면 유휴 상태가 됩니다. Always on 설정은 App Service 플랜에서만 사용할 수 있습니다. 다른 계획에서 플랫폼은 함수 앱을 자동으로 활성화합니다. Always On을 사용하지 않도록 선택한 경우 다음과 같은 방법으로 유휴 앱을 다시 활성화할 수 있습니다.
- HTTP 트리거 엔드포인트 또는 앱의 다른 엔드포인트에 요청을 보냅니다. 실패한 요청도 앱을 깨워야 합니다.
- Azure Portal에서 앱을 만듭니다.
Always On을 사용하도록 설정하더라도 개별 함수에 대한 실행 시간 제한은 host.json 프로젝트 파일의 functionTimeout
설정에 의해 제어됩니다.
확장
App Service 플랜을 사용하면 VM 인스턴스를 더 많이 추가하여 수동으로 스케일 아웃할 수 있습니다. Premium 플랜처럼 탄력적으로 크기를 조정하는 것보다는 느리지만, 자동 크기 조정도 사용할 수는 있습니다. 자세한 내용은 수동 또는 자동으로 인스턴스 개수 조정을 참조하세요. 다른 App Service 계획을 선택하여 확장할 수도 있습니다. 자세한 내용은 Azure에서 앱 확장을 참조하세요.
참고 항목
App Service 플랜에서 JavaScript(Node.js) 함수를 실행할 때는 vCPU가 적은 플랜을 선택하여야 합니다. 자세한 내용은 단일 코어 App Service 플랜 선택하기를 참조하세요.
App Service Environment
ASE(App Service Environment)에서 실행하면 함수를 격리한 채로 App Service 플랜보다 많은 인스턴스를 활용할 수 있습니다. 시작하려면 App Service Environments 소개를 참조하세요.
가상 네트워크에서 함수 앱을 실행시키려면 Premium 플랜을 통하여 할 수 있습니다. 자세한 내용은 Azure Functions 프라이빗 사이트 액세스 구축을 확인하세요.