Azure Functions 런타임 버전을 대상으로 지정하는 방법

함수 앱은 특정 Azure Functions 런타임 버전에서 실행됩니다. 기본적으로 함수 앱은 최신 4.x 버전의 Functions 런타임에서 만들어집니다. 함수 앱은 지원되는 주 버전에서 실행되는 경우에만 지원됩니다. 이 문서에서는 필요한 경우 특정 버전을 대상으로 지정하거나 고정 하도록 Azure에서 함수 앱을 구성하는 방법을 설명합니다.

특정 버전을 대상으로 지정하는 방법은 Windows 또는 Linux를 실행하는지 여부에 따라 달라집니다. 이 버전의 문서에서는 Windows를 지원합니다. 문서의 맨 위에 있는 운영 체제를 선택합니다.

특정 버전을 대상으로 지정하는 방법은 Windows 또는 Linux를 실행하는지 여부에 따라 달라집니다. 이 버전의 문서에서는 Linux를 지원합니다. 문서의 맨 위에 있는 운영 체제를 선택합니다.

Important

가능하면 항상 지원되는 최신 버전의 Azure Functions 런타임에서 함수를 실행해야 합니다. 최신 버전의 문제로 인해 앱을 특정 버전에 고정해야 합니다. 함수를 올바르게 실행할 수 있는 즉시 항상 최신 런타임 버전으로 이동해야 합니다.

로컬 개발 중에 설치된 버전의 Azure Functions Core Tools는 Azure의 함수 앱에서 사용하는 주 런타임 버전과 일치해야 합니다. 자세한 내용은 Core Tools 버전을 참조하세요.

런타임 버전 업데이트

가능하면 항상 지원되는 최신 버전의 Azure Functions 런타임에서 함수 앱을 실행해야 합니다. 함수 앱이 현재 이전 버전의 런타임에서 실행 중인 경우 앱을 버전 4.x로 마이그레이션해야 합니다.

앱에 기존 함수가 있는 경우 이후 주 런타임 버전으로 이동하기 전에 예방 조치를 취해야 합니다. 다음 문서에서는 언어별 호환성이 손상되는 변경을 포함하여 주요 버전 간의 호환성이 손상되는 변경에 대해 자세히 설명합니다. 또한 기존 함수 앱을 성공적으로 마이그레이션하기 위한 단계별 지침을 제공합니다.

현재 런타임 버전을 확인하려면 현재 런타임 버전 보기를 참조하세요.

현재 런타임 버전 보기

다음 방법 중 하나로 함수 앱의 현재 런타임 버전을 볼 수 있습니다.

현재 함수 앱에서 사용하는 런타임 버전을 보고 업데이트하려면 다음 절차를 따르세요.

  1. Azure Portal에서 함수 앱으로 이동합니다.

  2. 설정 아래에서 구성을 선택합니다. 함수 런타임 설정 탭에서 런타임 버전을 찾습니다. 특정 런타임 버전을 기록해 둡니다. 아래 예제에서 주 버전은 ~4로 설정됩니다.

    Screenshot showing how to view the runtime version.

특정 버전에 고정

Azure Functions를 사용하면 애플리케이션 설정을 사용하여 FUNCTIONS_EXTENSION_VERSION 지정된 함수 앱에서 사용하는 런타임 버전을 대상으로 지정할 수 있습니다. 주 버전()~4만 지정하면 함수 앱이 사용 가능해지면 런타임의 새 부 버전으로 자동으로 업데이트됩니다. 부 버전 업데이트는 새 부 버전이 호환성이 손상되는 변경을 도입해서는 안 되므로 자동으로 수행됩니다.

Linux 앱은 linuxFxVersion 사이트 설정을FUNCTIONS_EXTENSION_VERSION 함께 사용하여 함수를 실행할 올바른 Linux 기본 이미지를 확인합니다. Linux에서 새 funtion 앱을 만들 때 런타임은 언어 스택의 런타임 버전에 따라 올바른 기본 이미지를 자동으로 선택합니다.

특정 런타임 버전에 고정하면 함수 앱이 다시 시작됩니다.

특정 부 버전(예: 4.0.12345) FUNCTIONS_EXTENSION_VERSION을 지정하면 자동 업데이트로 다시 이동하도록 명시적으로 선택할 때까지 함수 앱이 해당 런타임의 특정 버전에 고정됩니다. 주 버전을 대상으로 지정하지 못하게 하는 함수 앱의 문제를 해결할 수 있을 만큼 충분히 긴 특정 부 버전에만 고정해야 합니다. 이전 부 버전은 프로덕션 환경에서 정기적으로 제거됩니다. 제거되는 부 버전에 고정된 경우 함수 앱은 대신에 설정된 버전 대신 가장 가까운 기존 버전에서 FUNCTIONS_EXTENSION_VERSION실행됩니다. 부 버전 제거는 App Service 공지에서 공지됩니다.

참고 항목

Visual Studio에서 특정 부 버전의 런타임에 고정된 앱으로 게시하려고 하면 최신 버전으로 업데이트하거나 게시를 취소하라는 대화 상자가 표시됩니다. 특정 부 버전을 사용해야 하는 경우 이 검사 방지하려면 파일에 속성을 추가 <DisableFunctionExtensionVersionUpdate>true</DisableFunctionExtensionVersionUpdate> 합니다.csproj.

다음 방법 중 하나를 사용하여 특정 버전의 런타임에 앱을 일시적으로 고정합니다.

현재 함수 앱에서 사용하는 런타임 버전을 보고 업데이트하려면 다음 절차를 따르세요.

  1. Azure Portal에서 함수 앱으로 이동합니다.

  2. 설정 아래에서 구성을 선택합니다. 함수 런타임 설정 탭에서 런타임 버전을 찾습니다. 특정 런타임 버전을 기록해 둡니다. 아래 예제에서 주 버전은 ~4로 설정됩니다.

    Screenshot showing how to view the runtime version.

  1. 앱을 특정 부 버전에 고정하려면 애플리케이션 설정>FUNCTIONS_EXTENSION_VERSION 선택하고, 값을 필요한 부 버전으로 변경하고, 확인을 선택합니다.

  2. 계속 저장>을 선택하여 변경 내용을 적용하고 앱을 다시 시작합니다.

애플리케이션 설정이 변경된 후 함수 앱이 다시 시작됩니다.

Linux의 특정 런타임 버전에 함수 앱을 고정하려면 사이트 설정에서 linuxFxVersion 버전별 기본 이미지 URL을 형식DOCKER|<PINNED_VERSION_IMAGE_URI>으로 설정합니다.

Important

Linux의 고정된 기능 앱은 정기적인 보안 및 호스트 기능 업데이트를 받지 않습니다. 기술 지원 엔지니어가 이와 다른 설정을 권장하지 않는 한 FUNCTIONS_EXTENSION_VERSION 설정과 언어 및 버전에 대한 표준 linuxFxVersion 값(예: Python|3.9)을 사용합니다. 유효한 값은 linuxFxVersion참조 문서를 참조하세요.

현재 소비 플랜에서 실행되는 Linux 함수 앱의 경우 특정 런타임에 고정하는 것이 지원되지 않습니다.

다음은 Node.js 16 함수 앱을 4.14.0.3의 특정 런타임 버전에 고정하는 데 필요한 값의 예 linuxFxVersion 입니다.

DOCKER|mcr.microsoft.com/azure-functions/node:4.14.0.3-node16

필요한 경우 기술 지원 엔지니어가 애플리케이션에 유효한 기본 이미지 URI를 제공할 수 있습니다.

다음 Azure CLI 명령을 사용하여 linuxFxVersion을 보고 설정합니다. 현재 포털에서 또는 Azure PowerShell을 사용하여 linuxFxVersion을 설정할 수 없습니다.

  • 현재 런타임 버전을 보려면 az functionapp config show 명령과 사용합니다.

    az functionapp config show --name <function_app> \
    --resource-group <my_resource_group> --query 'linuxFxVersion' -o tsv
    

    이 코드에서 <function_app>을 함수 앱 이름으로 바꿉니다. 또한 <my_resource_group>을 함수 앱의 리소스 그룹 이름으로 바꿉니다. linuxFxVersion의 현재 값이 반환됩니다.

  • 함수 앱에서 linuxFxVersion 설정을 업데이트하려면 az functionapp config set 명령을 사용합니다.

    az functionapp config set --name <FUNCTION_APP> \
    --resource-group <RESOURCE_GROUP> \
    --linux-fx-version <LINUX_FX_VERSION>
    

    <FUNCTION_APP>은 함수 앱 이름으로 바꿉니다. 또한 <RESOURCE_GROUP>을 함수 앱의 리소스 그룹 이름으로 바꿉니다. 마지막으로 <LINUX_FX_VERSION>을 기술 지원 엔지니어가 제공한 특정 이미지 값으로 바꿉니다.

앞의 코드 예제에서 Open Cloud Shell을 선택하여 Azure Cloud Shell에서 이러한 명령을 실행할 수 있습니다. 또한 Azure CLI를 로컬로 사용하면 az login을 실행하여 로그인한 후 이 명령을 실행할 수도 있습니다.

사이트 구성이 변경된 후 함수 앱이 다시 시작됩니다.

다음 단계