설명
지원이 종료된 Python 버전은 보안 수정이 중단될 수 있어 운영 위험이 커집니다. 런타임은 프레임워크와 패키지 호환성에도 영향을 주므로, App Service가 제공하고 보안 지원이 유지되는 버전을 선택해야 합니다. 가장 최신 버전이 아니라는 이유만으로 지원되지 않는 것은 아닙니다.
잠재적 영향
- 알려진 Python 취약점이 수정되지 않은 채 남을 수 있습니다.
- 지원 종료나 라이브러리 호환성 문제로 운영 부담이 늘어날 수 있습니다.
해결 방법
App Service의 제공 런타임과 Python 지원 기간을 확인하세요. 현재 Linux Web App에서는 site_config.application_stack.python_version에 지원되는 버전을 지정하고 앱과 주요 라이브러리를 시험하세요. 지원 종료 전에 업그레이드할 수 있도록 버전 점검을 정기적으로 수행하세요.
예시
첫 번째는 Python 2.7을 사용하는 과거 Windows 구성입니다. 현재 기본 Python 런타임은 Linux에서 지원됩니다. 두 번째 변수에는 실제 Linux 계획 ID와 지원되는 Python 버전을 지정하세요.
변경 전
hcl
resource "azurerm_app_service" "example" {
name = "example-app-service"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
app_service_plan_id = azurerm_app_service_plan.example.id
site_config {
dotnet_framework_version = "v4.0"
scm_type = "LocalGit"
python_version = "2.7"
}
}
변경 후
hcl
resource "azurerm_linux_web_app" "example" {
name = "example-app-service"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
service_plan_id = var.service_plan_id
site_config {
application_stack {
python_version = var.python_version
}
}
}
변경 후에는 현재 Linux Web App의 런타임 설정을 사용합니다. 기존 Windows 앱을 옮길 때에는 종속성과 시작 명령 등 운영체제 차이도 검토해야 합니다.