Microsoft MVP성태의 닷넷 이야기
개발 환경 구성: 650. Azure - "scm" 프로세스와 엮인 서비스 모음 [링크 복사], [링크+제목 복사],
조회: 14777
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

(시리즈 글이 8개 있습니다.)
개발 환경 구성: 395. Azure Web App의 이벤트 로그를 확인하는 방법
; https://www.sysnet.pe.kr/2/0/11683

디버깅 기술: 124. .NET Core 웹 앱을 호스팅하는 Azure App Services의 프로세스 메모리 덤프 및 windbg 분석 개요
; https://www.sysnet.pe.kr/2/0/11839

Java: 21. Azure Web App Service에 배포된 Java 프로세스의 메모리 및 힙(Heap) 덤프 뜨는 방법
; https://www.sysnet.pe.kr/2/0/12685

디버깅 기술: 180. Azure - Web App의 비정상 종료 시 남겨지는 로그 확인
; https://www.sysnet.pe.kr/2/0/12692

개발 환경 구성: 647. Azure - scale-out 상태의 App Service에서 특정 인스턴스에 요청을 보내는 방법
; https://www.sysnet.pe.kr/2/0/13098

개발 환경 구성: 649. Azure - 비주얼 스튜디오를 이용한 AppService 원격 디버그 방법
; https://www.sysnet.pe.kr/2/0/13164

개발 환경 구성: 650. Azure - "scm" 프로세스와 엮인 서비스 모음
; https://www.sysnet.pe.kr/2/0/13165

개발 환경 구성: 737. Azure Web App에서 Scale-out으로 늘어난 리눅스 인스턴스에 SSH 접속하는 방법
; https://www.sysnet.pe.kr/2/0/13833




Azure - "scm" 프로세스와 엮인 서비스 모음

Azure Kudu의 "Process Explorer"에서 프로세스 목록을 확인해 보면,

azure_scm_proc_1.png

"AppService"를 호스팅하는 w3wp.exe와 함께 또 하나의 "w3wp.exe (scm)"이 올라온 것을 볼 수 있습니다. 저 scm은 위의 화면을 보여주는 "https://[appservice_name].scm.azurewebsites.net/ProcessExplorer/"를 호스팅하는 역할을 합니다.

혹시 "[appservice_name].scm.azurewebsites.net" 사이트를 방문하지 않으면 저 "w3wp.exe (scm)" 프로세스가 없는 것일까요? 존재 유무를 확인하려면 "Process Explorer"를 띄워야 하는데 그로 인해 scm 프로세스가 생성됩니다. ^^; 뭐랄까... 분야는 다르지만 일종의 "하이젠베르크의 현미경"과 같은 현상이 나오는 것입니다. ^^

게다가 이것은 AppService를 배포하는 endpoint 접근 시,

https://netnetwin.scm.azurewebsites.net/msdeploy.axd?site=NetNetWin ...

역시 그에 대응하는 경로가 "scm"을 포함하므로 그냥 늘 함께 떠 있다고 생각하면 됩니다.




그런데 scm 프로세스는 Azure Kudu 서비스만을 관리하는 것은 아닙니다. AppService의 DaaS(Diagnostics as a Service)를 사용하면 해당 scm 프로세스의 하위에 다음과 같이 "cmd.exe (webjob)"과 "DaasRunner.exe (webjob)"이 생성됩니다.

azure_scm_proc_2.png

위의 상태를 확인할 수 있는 가장 쉬운 방법은 (현재는 deprecated 기능이지만) "https://<YourSiteName>.scm.azurewebsites.net/DaaS" 경로를 방문해 보는 것입니다.




그 외에, scm은 원격 디버깅 서비스도 관리합니다. 지난 글에 설명한,

Azure - 비주얼 스튜디오를 이용한 AppService 원격 디버그 방법
; https://www.sysnet.pe.kr/2/0/13164

방법으로 원격 디버깅 설정을 AppService에 추가해 비주얼 스튜디오로 원격 디버깅을 하면 이제 프로세스 구조는 이렇게까지 복잡해집니다.

azure_scm_proc_5.png




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 11/18/2022]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... [61]  62  63  64  65  66  67  68  69  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12507정성태1/26/202121193VS.NET IDE: 157. Visual Studio - Syntax Visualizer 메뉴가 없는 경우
12506정성태1/25/202123948.NET Framework: 1019. Microsoft.Tye 기본 사용법 소개 [1]
12505정성태1/23/202119190.NET Framework: 1018. .NET Core Kestrel 호스팅 - Web API 추가 [1]파일 다운로드1
12504정성태1/23/202122776.NET Framework: 1017. .NET 5에서의 네트워크 라이브러리 개선 (2) - HTTP/2, HTTP/3 관련 [1]
12503정성태1/21/202121489오류 유형: 696. C# - HttpClient: Requesting HTTP version 2.0 with version policy RequestVersionExact while HTTP/2 is not enabled.
12502정성태1/21/202122010.NET Framework: 1016. .NET Core HttpClient의 HTTP/2 지원파일 다운로드1
12501정성태1/21/202120828.NET Framework: 1015. .NET 5부터 HTTP/1.1, 2.0 선택을 위한 HttpVersionPolicy 동작 방식파일 다운로드1
12500정성태1/21/202122279.NET Framework: 1014. ASP.NET Core(Kestrel)의 HTTP/2 지원 여부파일 다운로드1
12499정성태1/20/202123773.NET Framework: 1013. .NET Core Kestrel 호스팅 - 포트 변경, non-localhost 접속 지원 및 https 등의 설정 변경 [1]파일 다운로드1
12498정성태1/20/202119895.NET Framework: 1012. .NET Core Kestrel 호스팅 - 비주얼 스튜디오의 Kestrel/IIS Express 프로파일 설정
12497정성태1/20/202126076.NET Framework: 1011. C# - OWIN Web API 예제 프로젝트 [1]파일 다운로드2
12496정성태1/19/202121434.NET Framework: 1010. .NET Core 콘솔 프로젝트에서 Kestrel 호스팅 방법 [1]
12495정성태1/19/202125570웹: 40. IIS의 HTTP/2 지원 여부 - h2, h2c [1]
12494정성태1/19/202123090개발 환경 구성: 522. WSL 2 인스턴스와 호스트 측의 Hyper-V에 운영 중인 VM과 네트워크 연결을 하는 방법 [2]
12493정성태1/18/202121513.NET Framework: 1009. .NET 5에서의 네트워크 라이브러리 개선 (1) - HTTP 관련 [1]파일 다운로드1
12492정성태1/17/202119783오류 유형: 695. ASP.NET 0x80131620 Failed to bind to address
12491정성태1/16/202120712.NET Framework: 1008. 배열을 반환하는 C# COM 개체의 메서드를 C++에서 사용 시 메모리 누수 현상 [1]파일 다운로드1
12490정성태1/15/202119237.NET Framework: 1007. C# - foreach에서 열거 변수의 타입을 var로 쓰면 object로 추론하는 문제 [1]파일 다운로드1
12489정성태1/13/202123236.NET Framework: 1006. C# - DB에 저장한 텍스트의 (이모티콘을 비롯해) 유니코드 문자가 '?'로 보인다면? [1]
12488정성태1/13/202120766.NET Framework: 1005. C# - string 타입은 shallow copy일까요? deep copy일까요? [2]파일 다운로드1
12487정성태1/13/202119601.NET Framework: 1004. C# - GC Heap에 위치한 참조 개체의 주소를 알아내는 방법파일 다운로드1
12486정성태1/12/202122945.NET Framework: 1003. x64 환경에서 참조형의 기본 메모리 소비는 얼마나 될까요? [1]
12485정성태1/11/202121562Graphics: 38. C# - OpenCvSharp.VideoWriter에 BMP 파일을 1초씩 출력하는 예제 [2]파일 다운로드1
12484정성태1/9/202124816.NET Framework: 1002. C# - ReadOnlySequence<T> 소개파일 다운로드1
12483정성태1/8/202120498개발 환경 구성: 521. dotPeek - 훌륭한 역어셈블 소스 코드 생성 도구
12482정성태1/8/202122267.NET Framework: 1001. C# - 제네릭 타입/메서드에서 사용 시 경우에 따라 CS8377 컴파일 에러
... [61]  62  63  64  65  66  67  68  69  70  71  72  73  74  75  ...