연습 - Network Watcher 메트릭 및 로그를 사용하여 네트워크 문제 해결
Azure Network Watcher에서 메트릭과 로그를 통해 복잡한 구성 이슈를 진단할 수 있습니다.
통신할 수 없는 두 개의 VM(가상 머신)이 있다고 가정합니다. 문제를 진단하는 데 사용할 가능한 한 많은 정보를 얻으려고 합니다.
이 단원에서는 Network Watcher 메트릭과 로그를 사용하여 문제를 해결합니다. 두 VM 간의 연결 이슈를 진단하려면 NSG(네트워크 보안 그룹) 흐름 로그를 사용합니다.
Microsoft Insights 공급자 등록
NSG 흐름을 기록하려면 Microsoft.Insights 공급자가 필요합니다. Microsoft.Insights 공급자로 등록하려면 다음 단계를 완료합니다.
Azure Portal에 로그인한 다음, 리소스를 만들려는 구독에 대한 액세스 권한이 있는 디렉터리에 로그인합니다.
Azure Portal에서 구독을 검색하여 선택한 후 해당 구독을 선택합니다. 구독 창이 나타납니다.
구독 메뉴의 설정에서 리소스 공급자를 선택합니다. 구독의 리소스 공급자 창이 표시됩니다.
필터 표시줄에 microsoft.insights를 입력합니다.
microsoft.insights 공급자의 상태가 NotRegistered인 경우 명령 모음에서 등록을 선택합니다.
스토리지 계정 만들기
이제 NSG 흐름 로그에 대한 스토리지 계정을 만듭니다.
Azure Portal 메뉴 또는 홈 페이지에서 리소스 만들기를 선택합니다.
리소스 메뉴에서 스토리지를 선택하고 스토리지 계정을 검색하여 선택합니다. 스토리지 계정 창이 나타납니다.
만들기를 선택합니다. 스토리지 계정 만들기 창이 나타납니다.
기본 탭에서 각 설정에 다음 값을 입력합니다.
설정 값 프로젝트 세부 정보 구독 구독 선택 리소스 그룹 리소스 그룹 선택 인스턴스 세부 정보 스토리지 계정 이름 고유 이름 만들기 지역 리소스 그룹과 동일한 지역을 선택합니다. 다음: 고급 탭을 선택하고 다음 값이 설정되어 있는지 확인합니다.
설정 값 Blob Storage 액세스 계층 핫(기본값) 검토 + 만들기를 선택하고 유효성 검사를 통과하면 만들기를 선택합니다.
Log Analytics 작업 영역 만들기
NSG 흐름 로그를 보려면 Log Analytics를 사용합니다.
Azure Portal 메뉴 또는 홈페이지에서 Log Analytics 작업 영역을 검색하여 선택합니다. Log Analytics 작업 영역 창이 나타납니다.
명령 모음에서 만들기를 선택합니다. Log Analytics 작업 영역 만들기 창이 나타납니다.
기본 탭에서 각 설정에 다음 값을 입력합니다.
설정 값 프로젝트 세부 정보 구독 구독 선택 리소스 그룹 리소스 그룹 선택 인스턴스 세부 정보 Name testsworkspace
지역 리소스 그룹과 동일한 지역을 선택합니다. 검토 + 만들기를 선택하고 유효성 검사를 통과한 후에 만들기를 선택합니다.
흐름 로그를 사용하도록 설정
흐름 로그를 설정하려면 NSG를 구성하여 스토리지 계정에 연결하고 NSG에 대한 트래픽 분석을 추가해야 합니다.
Azure Portal 메뉴에서 모든 리소스를 선택합니다. 그런 다음, MyNsg 네트워크 보안 그룹을 선택합니다.
MyNsg 메뉴의 모니터링에서 NSG 흐름 로그를 선택합니다. MyNsg | NSG 흐름 로그 창이 나타납니다.
만들기를 선택합니다. 흐름 로그 만들기 창이 나타납니다.
기본 사항 탭에서 다음 값을 선택하거나 입력합니다.
설정 값 프로젝트 세부 정보 구독 드롭다운 목록에서 구독을 선택합니다. + 리소스 선택 네트워크 보안 그룹 선택 창에서 MyNsg를 검색하고 선택한 다음 선택 확인을 선택합니다. 인스턴스 세부 정보 구독 드롭다운 목록에서 구독을 선택합니다. Storage 계정 고유한 스토리지 계정 이름을 선택합니다. 보존(일) 1 다음: 분석을 선택하고, 다음 값을 선택하거나 입력합니다.
설정 값 흐름 로그 버전 버전 2 트래픽 분석 트래픽 분석 사용이 선택되어 있습니다. 트래픽 분석 처리 간격 10분마다 구독 드롭다운 목록에서 구독을 선택합니다. Log Analytics 작업 영역 드롭다운 목록에서 testworkspace
을 선택합니다.검토 + 만들기를 선택합니다.
만들기를 선택합니다.
배포가 완료되면 리소스로 이동을 선택합니다.
테스트 트래픽 생성
이제 흐름 로그에서 캡처할 VM 간의 일부 네트워크 트래픽을 생성할 준비가 되었습니다.
리소스 메뉴에서 모든 리소스를 선택하고 FrontendVM을 선택합니다.
명령 모음에서 연결, RDP를 선택한 다음, RDP 파일 다운로드를 선택합니다. 원격 연결의 게시자에 관한 경고가 표시되면 연결을 선택합니다.
FrontendVM.rdp 파일을 시작하고 연결을 선택합니다.
자격 증명을 묻는 메시지가 표시되면 기타 선택 사항을 선택한 다음, 사용자 이름 azureuser와 VM을 만들 때 지정한 암호를 사용하여 로그인합니다.
메시지가 표시되면 보안 인증서에 예를 선택합니다.
RDP 세션에서 메시지가 표시되면 프라이빗 네트워크에 있는 경우에만 디바이스를 검색할 수 있도록 허용합니다.
PowerShell 프롬프트를 열고 다음 명령을 실행합니다.
Test-NetConnection 10.10.2.4 -port 80
몇 초 후에 TCP 연결 테스트가 실패합니다.
문제 진단
이제 다음과 같이 Log Analytics를 사용하여 NSG 흐름 로그를 확인하겠습니다.
Azure Portal 리소스 메뉴에서 모든 서비스를 선택하고 네트워킹을 선택한 다음, Network Watcher를 선택합니다. Network Watcher 창이 나타납니다.
리소스 메뉴의 로그에서 트래픽 분석을 선택합니다. Network Watcher | 트래픽 분석 창이 나타납니다.
FlowLog 구독 드롭다운 목록에서 구독을 선택합니다.
Log Analytics 작업 영역 드롭다운 목록에서
testworkspace
를 선택합니다.여러 보기를 사용하여 프런트 엔드 VM에서 백 엔드 VM으로의 통신을 방해하는 문제를 진단합니다.
문제 해결
NSG 규칙은 인터넷의 인바운드 트래픽만 차단하는 것이 아니라, 포트 80, 443, 3389를 통해 모든 위치에서 들어오는 백 엔드 서브넷에 대한 인바운드 트래픽을 차단합니다. 이제 해당 규칙을 다시 구성해 보겠습니다.
Azure Portal 리소스 메뉴에서 모든 리소스를 선택한 다음, 목록에서 MyNsg를 선택합니다.
MyNsg 메뉴의 설정에서 인바운드 보안 규칙을 선택한 다음, MyNSGRule을 선택합니다. MyNSGRule 창이 표시됩니다.
원본 드롭다운 목록에서 서비스 태그를 선택하고 원본 서비스 태그 드롭다운 목록에서 인터넷을 선택합니다.
MyNSGRule 명령 모음에서 저장을 선택하여 보안 규칙을 업데이트합니다.
연결 다시 테스트
이제 포트 80의 연결이 원활하게 이뤄져야 합니다.
RDP 클라이언트에서 FrontendVM에 연결합니다. PowerShell 프롬프트에서 다음 명령을 실행합니다.
Test-NetConnection 10.10.2.4 -port 80
이제 연결 테스트에 성공합니다.