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

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

특정 버전을 대상으로 지정하는 방법은 Windows를 실행하는지 Linux를 실행하는지에 따라 다릅니다. 이 문서 버전은 Windows를 지원합니다. 문서 상단에서 운영 체제를 선택합니다.

특정 버전을 대상으로 지정하는 방법은 Windows를 실행하는지 Linux를 실행하는지에 따라 다릅니다. 이 문서 버전은 Linux를 지원합니다. 문서 상단에서 운영 체제를 선택합니다.

Important

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

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

런타임 버전 업데이트

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

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

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

현재 런타임 버전 보기

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

현재 함수 앱에서 사용되는 런타임 버전을 보고 업데이트하려면 다음 단계를 따릅니다.

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

  2. 설정을 확장한 다음 구성을 선택합니다.

  3. 함수 런타임 설정 탭에서 런타임 버전을 확인합니다. 이 예에서는 버전이 ~4로 설정됩니다.

    런타임 버전을 보는 방법을 보여 주는 스크린샷.

특정 버전에 고정

Azure Functions를 사용하면 FUNCTIONS_EXTENSION_VERSION 앱 설정을 사용하여 지정된 함수 앱에서 사용하는 런타임 버전을 대상으로 지정할 수 있습니다. 주 버전(~4)만 지정하면 새로운 런타임 부 버전을 사용할 수 있을 때 함수 앱이 해당 런타임으로 자동 업데이트됩니다. 새로운 부 버전으로 인해 함수가 손상될 가능성이 없으므로 부 버전 업데이트는 자동으로 수행됩니다.

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

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

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

참고 항목

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

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

현재 함수 앱에서 사용되는 런타임 버전을 보고 업데이트하려면 다음 단계를 따릅니다.

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

  2. 설정을 확장한 다음 구성을 선택합니다.

  3. 함수 런타임 설정 탭에서 런타임 버전을 확인합니다. 이 예에서는 버전이 ~4로 설정됩니다.

    런타임 버전을 보는 방법을 보여 주는 스크린샷.

  1. 앱을 특정 부 버전에 고정하려면 왼쪽 창에서 설정을 확장한 다음 환경 변수를 선택합니다.

  2. 앱 설정 탭에서 FUNCTIONS_EXTENSION_VERSION을 선택하고 을 필요한 부 버전으로 변경한 다음 적용을 선택합니다.

  3. 적용을 선택한 다음 확인을 선택하여 변경 내용을 적용하고 앱을 다시 시작합니다.

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

함수 앱을 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>을 기술 지원 엔지니어가 제공한 특정 이미지 값으로 바꿉니다.

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

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

다음 단계