Azure Functions 크기 조정 및 호스팅Azure Functions scale and hosting

Azure에서 함수 앱을 만들 때 앱에 대 한 호스팅 계획을 선택 해야 합니다.When you create a function app in Azure, you must choose a hosting plan for your app. Azure Functions는 소비 계획, 프리미엄 계획전용 (App Service) 계획의 세 가지 호스팅 계획을 사용할 수 있습니다.There are three hosting plans available for Azure Functions: Consumption plan, Premium plan, and Dedicated (App Service) plan.

선택한 호스팅 계획에 따라 다음과 같은 동작이 결정 됩니다.The hosting plan you choose dictates the following behaviors:

  • 함수 앱의 크기를 조정 하는 방법입니다.How your function app is scaled.
  • 각 함수 앱 인스턴스에 사용할 수 있는 리소스입니다.The resources available to each function app instance.
  • Azure Virtual Network 연결과 같은 고급 기능을 지원 합니다.Support for advanced features, such as Azure Virtual Network connectivity.

코드를 실행할 때 소비 및 프리미엄 계획 모두 자동으로 계산 기능을 추가 합니다.Both Consumption and Premium plans automatically add compute power when your code is running. 앱이 로드를 처리 하는 데 필요한 경우 확장 되 고 코드 실행이 중지 되 면에서 크기가 조정 됩니다.Your app is scaled out when needed to handle load, and scaled in when code stops running. 소비 계획의 경우 유휴 Vm에 대 한 비용을 지불할 필요도 없으며 사전에 용량을 예약 하지 않아도 됩니다.For the Consumption plan, you also don't have to pay for idle VMs or reserve capacity in advance.

프리미엄 요금제는 프리미엄 계산 인스턴스, 인스턴스를 무기한으로 유지 하는 기능 및 VNet 연결 등의 추가 기능을 제공 합니다.Premium plan provides additional features, such as premium compute instances, the ability to keep instances warm indefinitely, and VNet connectivity.

App Service 계획을 사용 하면 관리 하는 전용 인프라를 활용할 수 있습니다.App Service plan allows you to take advantage of dedicated infrastructure, which you manage. 함수 앱은 이벤트를 기준으로 크기를 조정 하지 않습니다. 즉, 0으로 확장 되지 않습니다.Your function app doesn't scale based on events, which means is never scales in to zero. Always on 을 사용 하도록 설정 해야 합니다.(Requires that Always on is enabled.)

호스팅 계획 지원Hosting plan support

기능 지원은 다음 두 가지 범주로 구분 됩니다.Feature support falls into the following two categories:

  • 일반적으로 사용 가능 (GA) : 프로덕션 사용을 위해 완전히 지원 되 고 승인 됩니다.Generally available (GA): fully supported and approved for production use.
  • 미리 보기: 아직 완전히 지원 되지 않으며 프로덕션 사용을 위해 승인 되지 않았습니다.Preview: not yet fully supported nor approved for production use.

다음 표는 Windows 또는 Linux에서 실행 되는 경우 세 가지 호스팅 계획에 대 한 현재 지원 수준을 나타냅니다.The following table indicates the current level of support for the three hosting plans, when running on either Windows or Linux:

사용량 과금 플랜Consumption plan 프리미엄 플랜Premium plan 전용 계획Dedicated plan
WindowsWindows GAGA GAGA GAGA
LinuxLinux GAGA GAGA GAGA

사용량 과금 플랜Consumption plan

소비 계획을 사용 하는 경우 Azure Functions 호스트의 인스턴스는 들어오는 이벤트의 수에 따라 동적으로 추가 및 제거 됩니다.When you're using the Consumption plan, instances of the Azure Functions host are dynamically added and removed based on the number of incoming events. 이 서버리스 계획은 자동으로 규모를 조정하며, 함수를 실행하는 경우에만 컴퓨팅 리소스에 대한 요금이 청구됩니다.This serverless plan scales automatically, and you're charged for compute resources only when your functions are running. 소비 계획에서 구성 가능한 시간 후 함수 실행 시간이 초과됩니다.On a Consumption plan, a function execution times out after a configurable period of time.

청구는 실행 횟수, 실행 시간 및 사용된 메모리를 기반으로 하며,Billing is based on number of executions, execution time, and memory used. 함수 앱 내의 모든 함수에 대해 집계됩니다.Billing is aggregated across all functions within a function app. 자세한 내용은 Azure Functions 가격 책정 페이지를 참조하세요.For more information, see the Azure Functions pricing page.

소비 계획은 기본 호스팅 계획이며 다음과 같은 이점을 제공합니다.The Consumption plan is the default hosting plan and offers the following benefits:

  • 함수를 실행 중인 경우에만 지불Pay only when your functions are running
  • 높은 부하 기간 동안에도 자동으로 규모 확장Scale out automatically, even during periods of high load

동일한 지역에 있는 함수 앱은 동일한 소비 계획에 할당할 수 있습니다.Function apps in the same region can be assigned to the same Consumption plan. 여러 앱을 동일한 소비 계획에서 실행 하는 경우에는 영향을 주지 않습니다.There's no downside or impact to having multiple apps running in the same Consumption plan. 여러 앱을 동일한 소비 계획에 할당 하면 각 앱의 복원 력, 확장성 또는 안정성에 영향을 주지 않습니다.Assigning multiple apps to the same Consumption plan has no impact on resilience, scalability, or reliability of each app.

소비 계획에서 실행 하는 경우 비용을 계산 하는 방법에 대 한 자세한 내용은 소비 계획 비용 이해를 참조 하세요.To learn more about how to estimate costs when running in a Consumption plan, see Understanding Consumption plan costs.

프리미엄 요금제Premium plan

프리미엄 요금제를 사용 하는 경우에는 소비 계획과 마찬가지로 들어오는 이벤트 수에 따라 Azure Functions 호스트의 인스턴스가 추가 되 고 제거 됩니다.When you're using the Premium plan, instances of the Azure Functions host are added and removed based on the number of incoming events just like the Consumption plan. 프리미엄 요금제는 다음과 같은 기능을 지원 합니다.Premium plan supports the following features:

  • 콜드 시작을 방지 하기 위해 웜 인스턴스 영구적으로Perpetually warm instances to avoid any cold start
  • VNet 연결VNet connectivity
  • 무제한 실행 기간Unlimited execution duration
  • 프리미엄 인스턴스 크기 (1 개 코어, 2 개 코어 및 4 개 코어 인스턴스)Premium instance sizes (one core, two core, and four core instances)
  • 보다 예측 가능한 가격 책정More predictable pricing
  • 여러 함수 앱이 포함 된 계획에 대 한 고밀도 앱 할당High-density app allocation for plans with multiple function apps

이러한 옵션을 구성 하는 방법에 대 한 정보는 Azure Functions 프리미엄 계획 문서에서 찾을 수 있습니다.Information on how you can configure these options can be found in the Azure Functions Premium plan document.

실행 당 청구 및 사용 되는 메모리 대신 프리미엄 요금제에 대 한 청구는 필요한 코어 초와 준비 인스턴스 수에 사용 되는 메모리에 따라 결정 됩니다.Instead of billing per execution and memory consumed, billing for the Premium plan is based on the number of core seconds and memory used across needed and pre-warmed instances. 하나 이상의 인스턴스가 계획 당 항상 웜 되어야 합니다.At least one instance must be warm at all times per plan. 즉, 실행 수에 관계 없이 활성 계획 당 최소 월별 비용이 발생 합니다.This means that there is a minimum monthly cost per active plan, regardless of the number of executions. 프리미엄 계획의 모든 함수 앱은 준비 및 활성 인스턴스를 공유 한다는 점에 유의 하세요.Keep in mind that all function apps in a Premium plan share pre-warmed and active instances.

다음과 같은 경우 Azure Functions 프리미엄 계획을 고려 합니다.Consider the Azure Functions Premium plan in the following situations:

  • 함수 앱을 계속해서 또는 거의 끊임없이 실행합니다.Your function apps run continuously, or nearly continuously.
  • 적은 수의 작은 실행을 보유 하 고 있으며 소비 계획에 높은 실행 청구서가 있지만 낮은 GB의 두 번째 청구서가 있습니다.You have a high number of small executions and have a high execution bill but low GB second bill in the Consumption plan.
  • 소비 계획에서 제공 하는 것 보다 더 많은 CPU 또는 메모리 옵션이 필요 합니다.You need more CPU or memory options than what is provided by the Consumption plan.
  • 코드는 소비 계획에서 허용 되는 최대 실행 시간 보다 오래 실행 해야 합니다.Your code needs to run longer than the maximum execution time allowed on the Consumption plan.
  • 프리미엄 요금제 (예: 가상 네트워크 연결) 에서만 사용할 수 있는 기능이 필요 합니다.You require features that are only available on a Premium plan, such as virtual network connectivity.

프리미엄 계획에서 JavaScript 함수를 실행 하는 경우 vCPUs 수가 작은 인스턴스를 선택 해야 합니다.When running JavaScript functions on a Premium plan, you should choose an instance that has fewer vCPUs. 자세한 내용은 단일 코어 프리미엄 계획 선택을 참조 하세요.For more information, see the Choose single-core Premium plans.

전용 (App Service) 계획Dedicated (App Service) plan

함수 앱은 다른 App Service 앱 (Basic, Standard, Premium 및 격리 Sku)과 동일한 전용 Vm에서 실행할 수도 있습니다.Your function apps can also run on the same dedicated VMs as other App Service apps (Basic, Standard, Premium, and Isolated SKUs).

다음과 같은 경우 App Service 계획을 고려해 야 합니다.Consider an App Service plan in the following situations:

  • 이미 다른 App Service 인스턴스를 실행하고 있는 기존의 활용도가 낮은 VM이 있습니다.You have existing, underutilized VMs that are already running other App Service instances.
  • 함수를 실행할 사용자 지정 이미지를 제공 하려고 합니다.You want to provide a custom image on which to run your functions.

웹 앱과 같은 다른 App Service 리소스의 경우와 마찬가지로 App Service 계획에서 함수 앱에 대해 동일한 비용을 지불 합니다.You pay the same for function apps in an App Service Plan as you would for other App Service resources, like web apps. App Service 계획의 작동 원리에 대한 자세한 내용은 Azure App Service 계획의 포괄 개요를 참조하세요.For details about how the App Service plan works, see the Azure App Service plans in-depth overview.

App Service 계획을 사용 하면 더 많은 VM 인스턴스를 추가 하 여 수동으로 확장할 수 있습니다.With an App Service plan, you can manually scale out by adding more VM instances. 자동 크기 조정을 사용 하도록 설정할 수도 있습니다.You can also enable autoscale. 자세한 내용은 수동 또는 자동으로 인스턴스 개수 조정을 참조하세요.For more information, see Scale instance count manually or automatically. 다른 App Service 계획을 선택하여 확장할 수도 있습니다.You can also scale up by choosing a different App Service plan. 자세한 내용은 Azure에서 앱 확장을 참조하세요.For more information, see Scale up an app in Azure.

App Service 계획에서 JavaScript 함수를 실행 중인 경우 vCPU 수가 더 작은 계획을 선택해야 합니다.When running JavaScript functions on an App Service plan, you should choose a plan that has fewer vCPUs. 자세한 내용은 단일 코어 App Service 계획 선택을 참조 하세요.For more information, see Choose single-core App Service plans.

Always OnAlways On

App Service 계획에서 실행하는 경우 함수 앱이 올바르게 실행되도록 Always On 설정을 사용해야 합니다.If you run on an App Service plan, you should enable the Always on setting so that your function app runs correctly. App Service 계획에서 함수 런타임은 비활성화되고 몇 분 후 유휴 상태가 되므로 HTTP 트리거만 함수를 “다시 시작”합니다.On an App Service plan, the functions runtime goes idle after a few minutes of inactivity, so only HTTP triggers will "wake up" your functions. Always On은 App Service 계획에서만 사용할 수 있습니다.Always on is available only on an App Service plan. 소비 계획에서 플랫폼은 함수 앱을 자동으로 활성화합니다.On a Consumption plan, the platform activates function apps automatically.

함수 앱 시간 제한 기간Function app timeout duration

함수 앱의 제한 시간은 호스트 json 프로젝트 파일의 functionTimeout 속성에 의해 정의 됩니다.The timeout duration of a function app is defined by the functionTimeout property in the host.json project file. 다음 표에서는 계획 및 다양 한 런타임 버전에 대 한 기본 및 최대 값 (분)을 보여 줍니다.The following table shows the default and maximum values in minutes for both plans and the different runtime versions:

계획Plan 런타임 버전Runtime Version 기본값Default 최대Maximum
ConsumptionConsumption 1.x1.x 55 1010
ConsumptionConsumption 2.x2.x 55 1010
ConsumptionConsumption 3.x3.x 55 1010
PremiumPremium 1.x1.x 3030 제한 없음Unlimited
PremiumPremium 2.x2.x 3030 제한 없음Unlimited
PremiumPremium 3.x3.x 3030 제한 없음Unlimited
App ServiceApp Service 1.x1.x 제한 없음Unlimited 제한 없음Unlimited
App ServiceApp Service 2.x2.x 3030 제한 없음Unlimited
App ServiceApp Service 3.x3.x 3030 제한 없음Unlimited

참고

함수 앱 제한 시간 설정에 관계 없이, 230 초는 HTTP 트리거된 함수가 요청에 응답 하는 데 사용할 수 있는 최대 시간입니다.Regardless of the function app timeout setting, 230 seconds is the maximum amount of time that an HTTP triggered function can take to respond to a request. 이는 Azure Load Balancer의 기본 유휴 시간 제한으로 인해 발생 합니다.This is because of the default idle timeout of Azure Load Balancer. 처리 시간이 길면 비동기 Durable Functions 패턴 을 사용 하거나 실제 작업을 지연 시키고 즉각적인 응답을 반환하는 것이 좋습니다.For longer processing times, consider using the Durable Functions async pattern or defer the actual work and return an immediate response.

Always On이 설정된 경우에도 개별 함수의 실행 시간 초과는 host.json 프로젝트 파일의 functionTimeout 설정에 의해 제어됩니다.Even with Always On enabled, the execution timeout for individual functions is controlled by the functionTimeout setting in the host.json project file.

기존 응용 프로그램의 호스팅 계획 결정Determine the hosting plan of an existing application

함수 앱에서 사용하는 호스팅 계획을 결정하려면 Azure Portal의 함수 앱에 대한 개요 탭에서 App Service 계획/가격 책정 계층을 참조하세요.To determine the hosting plan used by your function app, see App Service plan / pricing tier in the Overview tab for the function app in the Azure portal. App Service 계획의 경우 가격 책정 계층도 표시됩니다.For App Service plans, the pricing tier is also indicated.

포털에서 크기 조정 계획 보기

또한 다음과 같이 계획을 확인하기 위해 Azure CLI를 사용할 수도 있습니다.You can also use the Azure CLI to determine the plan, as follows:

appServicePlanId=$(az functionapp show --name <my_function_app_name> --resource-group <my_resource_group> --query appServicePlanId --output tsv)
az appservice plan list --query "[?id=='$appServicePlanId'].sku.tier" --output tsv

이 명령의 출력이 dynamic인 경우 함수 앱은 소비 계획 상태입니다.When the output from this command is dynamic, your function app is in the Consumption plan. 이 명령의 출력을 ElasticPremium경우 함수 앱은 프리미엄 계획에 있습니다.When the output from this command is ElasticPremium, your function app is in the Premium plan. 다른 모든 값은 App Service 계획의 다른 계층을 표시 합니다.All other values indicate different tiers of an App Service plan.

Storage 계정 요구 사항Storage account requirements

모든 계획에서 함수 앱에는 Azure Blob, 큐, 파일 및 테이블 저장소를 지 원하는 일반 Azure Storage 계정이 필요 합니다.On any plan, a function app requires a general Azure Storage account, which supports Azure Blob, Queue, Files, and Table storage. Functions는 트리거 관리 및 함수 실행 기록과 같은 작업에 Azure Storage를 사용하지만 일부 스토리지 계정은 큐와 테이블을 지원하지 않기 때문입니다.This is because Functions relies on Azure Storage for operations such as managing triggers and logging function executions, but some storage accounts do not support queues and tables. Blob 전용 스토리지 계정(Premium Storage 포함) 및 영역 중복 스토리지 복제가 사용되는 범용 스토리지 계정을 포함한 계정은 함수 앱을 만들 때 기존 스토리지 계정 선택 항목에서 필터링됩니다.These accounts, which include blob-only storage accounts (including premium storage) and general-purpose storage accounts with zone-redundant storage replication, are filtered-out from your existing Storage Account selections when you create a function app.

함수 앱에서 사용 하는 것과 동일한 저장소 계정을 사용 하 여 응용 프로그램 데이터를 저장할 수 있습니다.The same storage account used by your function app can also be used by your triggers and bindings to store your application data. 그러나 저장소를 많이 사용 하는 작업의 경우에는 별도의 저장소 계정을 사용 해야 합니다.However, for storage-intensive operations, you should use a separate storage account.

여러 함수 앱에서 문제 없이 동일한 저장소 계정을 공유할 수 있습니다.It's certainly possible for multiple function apps to share the same storage account without any issues. 이에 대 한 좋은 예는 단일 저장소 계정 처럼 작동 하는 Azure Storage 에뮬레이터를 사용 하 여 로컬 환경에서 여러 앱을 개발 하는 경우입니다.(A good example of this is when you develop multiple apps in your local environment using the Azure Storage Emulator, which acts like one storage account.)

스토리지 계정 유형에 대해 자세히 알아보려면 Azure Storage 서비스 소개를 참조하세요.To learn more about storage account types, see Introducing the Azure Storage services.

소비 및 프리미엄 계획의 작동 방식How the consumption and premium plans work

소비 및 프리미엄 계획에서 Azure Functions 인프라는 해당 함수가 트리거되는 이벤트의 수에 따라 함수 호스트의 인스턴스를 추가 하 여 CPU 및 메모리 리소스를 확장 합니다.In the Consumption and Premium plans, the Azure Functions infrastructure scales CPU and memory resources by adding additional instances of the Functions host, based on the number of events that its functions are triggered on. 소비 계획에 있는 함수 호스트의 각 인스턴스는 1.5 GB의 메모리와 하나의 CPU로 제한 됩니다.Each instance of the Functions host in the Consumption plan is limited to 1.5 GB of memory and one CPU. 호스트의 인스턴스는 전체 함수 앱입니다. 즉, 함수 앱 내의 모든 함수는 인스턴스 내에서 리소스를 공유 하 고 동시에 크기를 조정 합니다.An instance of the host is the entire function app, meaning all functions within a function app share resource within an instance and scale at the same time. 동일한 소비 계획을 공유하는 함수 앱은 독립적으로 크기 조정됩니다.Function apps that share the same Consumption plan are scaled independently. 프리미엄 계획에서 계획 크기는 해당 인스턴스에서 해당 계획의 모든 앱에 대해 사용 가능한 메모리와 CPU를 결정 합니다.In the Premium plan, your plan size will determine the available memory and CPU for all apps in that plan on that instance.

함수 코드 파일은 함수의 주 저장소 계정에서 Azure Files 공유에 저장 됩니다.Function code files are stored on Azure Files shares on the function's main storage account. 함수 앱의 주 스토리지 계정을 삭제하면 함수 코드 파일이 삭제되고 복구할 수 없습니다.When you delete the main storage account of the function app, the function code files are deleted and cannot be recovered.

런타임 크기 조정Runtime scaling

Azure Functions는 크기 조정 컨트롤러라는 구성 요소를 사용하여 이벤트의 비율을 모니터링하고 규모를 확장하거나 감축할 것인지 결정합니다.Azure Functions uses a component called the scale controller to monitor the rate of events and determine whether to scale out or scale in. 크기 조정 컨트롤러는 각 트리거 유형에 대해 추론을 사용합니다.The scale controller uses heuristics for each trigger type. 예를 들어 Azure Queue Storage 트리거를 사용하는 경우 큐 길이 및 가장 오래된 큐 메시지의 기간에 따라 트리거가 조정됩니다.For example, when you're using an Azure Queue storage trigger, it scales based on the queue length and the age of the oldest queue message.

Azure Functions 확장 단위는 함수 앱입니다.The unit of scale for Azure Functions is the function app. 함수 앱을 확장하면 Azure Functions 호스트의 여러 인스턴스를 실행하기 위해 추가 리소스가 할당됩니다.When the function app is scaled out, additional resources are allocated to run multiple instances of the Azure Functions host. 반대로, 컴퓨팅 수요가 감소하면 크기 조정 컨트롤러에서 함수 호스트 인스턴스를 제거합니다.Conversely, as compute demand is reduced, the scale controller removes function host instances. 함수 앱 내에서 실행 중인 함수가 없으면 인스턴스 수가 결국 0으로 축소 됩니다.The number of instances is eventually scaled in to zero when no functions are running within a function app.

이벤트를 모니터링하고 인스턴스를 만드는 크기 조정 컨트롤러

크기 조정 동작 이해Understanding scaling behaviors

크기 조정은 다양한 요인에 따라 다르고, 선택한 트리거 및 언어에 따라 달라질 수 있습니다.Scaling can vary on a number of factors, and scale differently based on the trigger and language selected. 유의 해야 할 몇 가지 확장 동작은 다음과 같습니다.There are a few intricacies of scaling behaviors to be aware of:

  • 단일 함수 앱은 최대 200 개의 인스턴스로 확장할 수 있습니다.A single function app only scales out to a maximum of 200 instances. 단일 인스턴스는 동시에 둘 이상의 메시지 또는 요청을 처리할 수 있지만 동시 실행 수를 제한하지 않습니다.A single instance may process more than one message or request at a time though, so there isn't a set limit on number of concurrent executions.
  • HTTP 트리거의 경우 새 인스턴스는 1 초 마다 한 번만 할당 됩니다.For HTTP triggers, new instances will only be allocated at most once every 1 second.
  • HTTP가 아닌 트리거의 경우 새 인스턴스는 30 초 마다 한 번만 할당 됩니다.For non-HTTP triggers, new instances will only be allocated at most once every 30 seconds.

다른 트리거에는 아래에 문서화된 대로 다른 규모 조정 제한이 있을 수도 있습니다.Different triggers may also have different scaling limits as well as documented below:

확장성 있는 앱의 모범 사례 및 패턴Best practices and patterns for scalable apps

함수 앱에는 호스트 구성, 런타임 공간 및 리소스 효율성을 비롯하여 규모 조정에 영향을 주는 여러 측면이 있습니다.There are many aspects of a function app that will impact how well it will scale, including host configuration, runtime footprint, and resource efficiency. 자세한 내용은 성능 고려 사항 문서의 확장성 섹션을 참조하세요.For more information, see the scalability section of the performance considerations article. 또한 함수 앱의 확장에 따라 연결이 어떻게 작동하는지도 알고 있어야 합니다.You should also be aware of how connections behave as your function app scales. 자세한 내용은 Azure Functions에서 연결을 관리하는 방법을 참조하세요.For more information, see How to manage connections in Azure Functions.

Python 및 node.js에서 크기를 조정 하는 방법에 대 한 자세한 내용은 Azure Functions python 개발자 가이드-크기 조정 및 동시성Azure Functions node.js 개발자 가이드-크기 조정 및 동시성을 참조 하세요.For additional information on scaling in Python and Node.js, see Azure Functions Python developer guide - Scaling and concurrency and Azure Functions Node.js developer guide - Scaling and concurrency.

청구 모델Billing model

여러 요금제에 대 한 요금 청구는 Azure Functions 가격 책정 페이지에 자세히 설명 되어 있습니다.Billing for the different plans is described in detail on the Azure Functions pricing page. 사용량은 함수 앱 수준에서 집계되며 함수 코드가 실행될 때만 계산됩니다.Usage is aggregated at the function app level and counts only the time that function code is executed. 다음은 요금 청구 단위입니다.The following are units for billing:

  • 기가바이트-초 단위의 리소스 소비(GB-s) .Resource consumption in gigabyte-seconds (GB-s). 함수 앱 내 모든 함수의 메모리 크기와 실행 시간 조합으로 계산됩니다.Computed as a combination of memory size and execution time for all functions within a function app.
  • 실행 횟수.Executions. 이벤트 트리거에 대한 응답으로 함수가 실행될 때마다 계산됩니다.Counted each time a function is executed in response to an event trigger.

사용량 청구서를 이해 하는 방법에 대 한 유용한 쿼리와 정보 는 청구 FAQ에서찾을 수 있습니다.Useful queries and information on how to understand your consumption bill can be found on the billing FAQ.

서비스 제한Service limits

다음 표는 다양 한 호스팅 계획에서 실행 될 때 함수 앱에 적용 되는 제한을 나타냅니다.The following table indicates the limits that apply to function apps when running in the various hosting plans:

리소스Resource 소비 계획Consumption plan 프리미엄 요금제Premium plan App Service 계획1App Service plan1
확장Scale out 이벤트 기반Event driven 이벤트 기반Event driven 수동/자동 크기 조정Manual/autoscale
최대 인스턴스Max instances 200200 100100 10-2010-20
기본 제한 시간 (분)Default timeout duration (min) 55 3030 302302
최대 제한 시간 (분)Max timeout duration (min) 1010 무제한8unbounded8 바인딩되지 않은3unbounded3
최대 아웃 바운드 연결 (인스턴스당)Max outbound connections (per instance) 600 활성 (총 1200)600 active (1200 total) unboundedunbounded unboundedunbounded
최대 요청 크기 (MB)4Max request size (MB)4 100100 100100 100100
최대 쿼리 문자열 길이4Max query string length4 40964096 40964096 40964096
최대 요청 URL 길이4Max request URL length4 81928192 81928192 81928192
인스턴스당 AcuACU per instance 100100 210-840210-840 100-840100-840
최대 메모리 (인스턴스당 GB)Max memory (GB per instance) 1.51.5 3.5-143.5-14 1.75 g-141.75-14
계획 당 함수 앱Function apps per plan 100100 100100 제한 없음5unbounded5
App Service 계획App Service plans 100/ 지역100 per region 리소스 그룹당 100100 per resource group 리소스 그룹당 100100 per resource group
저장소6Storage6 1 GB1 GB 250GB250 GB 50-1000 GB50-1000 GB
앱당 사용자 지정 도메인Custom domains per app 50075007 500500 500500
사용자 지정 도메인 SSL 지원Custom domain SSL support 제한 없는 SNI SSL 연결 포함unbounded SNI SSL connection included 제한 없는 SNI SSL 및 1 개의 IP SSL 연결 포함unbounded SNI SSL and 1 IP SSL connections included 제한 없는 SNI SSL 및 1 개의 IP SSL 연결 포함unbounded SNI SSL and 1 IP SSL connections included

1 다양 한 App Service 계획 옵션에 대 한 특정 한도는 App Service 계획 제한을 참조 하세요.1 For specific limits for the various App Service plan options, see the App Service plan limits.
2 기본적으로 App Service 계획의 함수 1.x 런타임에 대 한 제한 시간은 제한 되지 않습니다.2 By default, the timeout for the Functions 1.x runtime in an App Service plan is unbounded.
3 App Service 계획을 Always On으로 설정 해야 합니다.3 Requires the App Service plan be set to Always On. 표준 요금으로 지불 합니다.Pay at standard rates.
4 호스트에서이러한 한도를 설정 합니다.4 These limits are set in the host.
5 실제로 호스트할 수 있는 함수 앱 수는 앱의 작업, 컴퓨터 인스턴스의 크기 및 해당 리소스 사용률에 따라 달라 집니다.5 The actual number of function apps that you can host depends on the activity of the apps, the size of the machine instances, and the corresponding resource utilization.
6 저장소 제한은 동일한 App Service 계획의 모든 앱에서 임시 저장소의 전체 콘텐츠 크기입니다.6 The storage limit is the total content size in temporary storage across all apps in the same App Service plan. 소비 계획은 임시 저장소에 대 한 Azure Files를 사용 합니다.Consumption plan uses Azure Files for temporary storage.
7 함수 앱이 소비 계획에서 호스트 되는 경우에는 CNAME 옵션만 지원 됩니다.7 When your function app is hosted in a Consumption plan, only the CNAME option is supported. 프리미엄 계획 또는 App Service 계획의 함수 앱의 경우 CNAME 또는 a 레코드를 사용 하 여 사용자 지정 도메인을 매핑할 수 있습니다.For function apps in a Premium plan or an App Service plan, you can map a custom domain using either a CNAME or an A record.
8 최대 60 분까지 보장 됩니다.8 Guaranteed for up to 60 minutes.