본문 바로가기
Azure & Windows/Azure

로컬로 Azure Functions 실행 시 문제와 해결 방법

by 강철 벼룩 2025. 5. 6.

Issues and solutions when running Azure Functions locally

 

아마도 다음 4단계가 Azure 펑션을 개발하는 보편적인 단계일 겁니다.
첫 번째 단계는 로컬 먼저 개발 머신에서 개발 환경을 구축합니다.
이 로컬 개발 환경 구축에 필요한 요소는 다음 3가지 입니다.

1. Visual Studio Code
2. Azure Functions Extension
3. Azure Functions Core Tools (Core Tools Version: 4.0.7030, Function Runtime Version: 4.1037.0.23568)

 

두 번째 단계는  Azure Functions Core Tools를 통해 로컬 펑션 프로젝트를 만들고 필요한 펑션 코드를 작성합니다.
세 번째 단계는 작성한 펑션 코드를 로컬 Azure 펑션 런타임 환경에서 테스트합니다.
마지막 단계는 어느 정도 구현 로직을 테스트하고 디버깅한 다음 이제 Azure로 배포하여 클라우드 환경에서 다시 동작을 확인합니다.

이러한 단계로 Azure 펑션을 구현할 때 최근 Azure Functions Core Tools 업데이트와 관련하여 알게된 문제점과 해결 방법을 소개합니다.
이 글에서 설명하는 문제점은 다음과 같은 조건에서 발생합니다. 하지만 다른 조건에서 발생하는지는 테스트하지 않았습니다.

1. 로컬 개발 머신의 운영 체제: Windows
2. Azure 펑션 런타임 및 언어: Node.js 및 JavaScript 
3. 트리거: HTTP 트리거

[문제 정의]

VS Code에서 로컬 펑션을 실행([F5] 또는 [Ctrl+F5])하고 작성한 코드의 동작을 테스트한 후, VS Code의 디버그 툴바에서 [Stop](Shift+F5)를 클릭하여 중지 합니다.(다음 그림의 빨간색 상자)
이후, 코드를 수정한 후 다시 로컬 펑션을 실행하면 7071 포트가 사용되고 있어 프로세스를 종료하거나 다른 포트를 사용하라는 메시지를 보게됩니다. (다음 그림의 파란 상자)

 

[해결 방법]

앞서 제시한 문제를 다음 2가지 방법 중 하나로 해결할 수 있습니다.

1. VS Code에서 이미 디버그 툴바 또는 [Stop Debugging] 메뉴를 사용해 로컬 펑션을 중지한 경우
Window 터미널을 열고 netstat 명령으로 사용중인 포트를 확인해본 결과, 7071 포트가 사용 중입니다. (다음 그림의 노란색 상자)

netstat -ano | findstr 7071


다음 명령으로 7071 포트를 사용중인 프로세스를 종료합니다. (다음 그림의 녹색 상자)

taskkill /f /pid <PROCESS ID>


2. VS Code에서 로컬 펑션을 실행한 후 펑션 실행을 종료할때 VS Code 터미널에서 [Ctrl+C]를 눌러 종료합니다.