Azure App Service Timezone 바꾸기
Timezone 변경이 필요한 이유.
Node JS 에서 node-cron 을 이용하여 시간별로 함수를 호출하고 있으나, 설정한 시간에 작동하지 않는 버그를 발견했다.
처음엔 node-cron 자체가 작동 안하는줄 알았지만,
Node가 돌고있는 OS의 시간이 맞지 않아 생긴 문제라는 것을 알게되었다.
TimeZone을 바꿔야했다.
Timezone 변경이 안된다?
처음 접한 글이 CHANGING THE TIMEZONE ON YOUR AZURE WEBAPP / APP SERVICE / FUNCTION이었고, 설명이 너무 잘 되어있어서 따라 했으나, 원하는대로 서버 시간이 변경되지 않았다.
대부분의 글들이 “WEB_TIMEZONE” 값을 congifure 화면에서 추가하면 된다는 내용을 다루고 있으나. 정상 작동 되지 않는다.
일반적인 현상은 지역명은 변경되어 보이지만, 시간이 여전히 UTC 0 시간으로 표기됨.
여러 사람 답을 찾은 흔적
필자 뿐만 아니라 여러 사람의 질문들이 있는 것을 확인 할 수 있었다. stackoverflow 게시물에도 Timezone 설정에 대한 이야기가 나오지만 필자도 작동하지 않았다.
또한, MicrosoftDocs/azure-docs에도 issue로 올라와 있었다.
결론
Linux 환경의 OS라면, ‘TZ’값을 추가해라.
개인적으로 여러 답변 중에 Azure 특성상 ‘TZ’보다는 ‘WEB_TIMEZONE’ 값을 추가하는 것이 좀 더 설득력이 있었지만 결국 답은 ‘TZ’!!
Azure VM 또는 Web Service의 OS가 Windows 계열 또는 Linux 계열에 따라 해당 환경 변수값이 달라지는 것으로 확인되었다.