클라우드 환경을 운영한다는 것은 단순히 서버를 켜두는 것 이상입니다. "지금 서버가 제대로 작동하고 있는가?", "비용이 낭비되는 부분은 없는가?", "Azure 자체에 문제가 생긴 것인가, 아니면 내 코드 문제인가?", "어제 오전 3시에 왜 응답 속도가 느려졌는가?" 이 모든 질문에 답할 수 있어야 클라우드를 제대로 운영하고 있다고 할 수 있습니다.
AZ-900 시험에서 모니터링 문제는 Azure Advisor, Azure Service Health, Azure Monitor 세 가지 서비스의 역할을 명확하게 구분하는 것이 핵심입니다. 이 세 가지는 각각 다른 질문에 답합니다. 이 글에서는 초보자도 완전히 이해할 수 있도록 일상 생활의 비유와 구체적인 사례로 설명합니다.
왜 모니터링이 필요한가?
신형 자동차를 상상해 보세요. 계기판에는 속도계, 연료 게이지, 엔진 온도, 배터리 잔량, 경고등이 있습니다. 이 계기판이 없다면? 연료가 바닥날 때까지 모르다가 고속도로 한복판에서 멈춰버릴 수 있습니다. 엔진이 과열되고 있어도 알 방법이 없습니다.
클라우드 환경도 마찬가지입니다. 모니터링 없이 운영하면: CPU가 90%를 넘어 서비스가 느려지고 있어도 모름 데이터베이스 디스크가 꽉 차가고 있어도 모름 Azure 데이터센터에 장애가 발생해 내 서비스가 영향을 받아도 뒤늦게 알음 보안 위협이 탐지되어도 대응이 늦어짐 사용하지 않는 리소스에 매달 수십만 원이 낭비되고 있어도 모름
Azure는 이 문제들을 해결하기 위해 목적이 다른 세 가지 핵심 모니터링 서비스를 제공합니다.
Azure Advisor — 주치의의 건강 검진 종합 리포트
Azure Advisor를 당신의 주치의라고 생각해 보세요. 주치의는 혈액 검사, 심전도, 혈압 측정 등을 종합해서 "혈압이 조금 높으니 주의하세요", "콜레스테롤 수치가 위험 범위에 가까워지고 있으니 식습관을 바꾸세요", "예방 접종을 받으세요" 같은 선제적 조언을 줍니다. 아직 병이 나지 않았지만 미리 예방하라고 알려주는 것입니다.
Azure Advisor도 이와 똑같습니다. Azure 환경을 지속적으로 분석하고, 지금 당장 문제가 없더라도 앞으로 문제가 될 수 있는 부분을 발견해 "이렇게 개선하세요"라고 맞춤형 권장 사항을 제공합니다. 그리고 이 서비스는 완전히 무료입니다.
Azure Advisor의 5가지 권장 사항 카테고리
Azure Advisor는 5개의 건강 카테고리로 Azure 환경을 종합 진단합니다.
| 카테고리 | 무엇을 점검하나? | 권장 사항 예시 | 주치의 비유 | |---------|--------------|-------------|-----------| | 안정성 (Reliability) | 서비스가 중단되지 않고 지속적으로 작동하는지 | "이 VM은 단일 인스턴스입니다. 가용성 집합이나 가용 영역에 배포하세요" | 심장 건강 — "운동을 늘리세요" | | 보안 (Security) | 보안 취약점과 위협 요소 | "이 스토리지 계정에 공개 접근이 허용됩니다. 비활성화하세요", "MFA를 사용하지 않는 계정이 있습니다" | 면역력 — "예방 접종을 받으세요" | | 성능 (Performance) | 리소스가 최적의 속도로 작동하는지 | "이 VM의 CPU가 지속적으로 90% 이상입니다. 크기를 늘리세요", "이 SQL 쿼리에 인덱스가 없습니다" | 체력 검진 — "이 근육이 약해졌습니다" | | 비용 (Cost) | 불필요한 지출과 비용 최적화 기회 | "7일 이상 사용하지 않는 VM이 3개 있습니다. 종료를 고려하세요", "예약 인스턴스로 전환하면 40% 절감 가능" | 혈압 관리 — "과식하고 있습니다" | | 운영 우수성 (Operational Excellence) | 운영 효율성과 모범 사례 준수 | "서비스 상태 알림을 설정하지 않았습니다", "리소스 태그가 누락된 항목이 있습니다" | 생활 습관 — "수면이 부족합니다" |
Azure Advisor 사용 방법
Azure Portal에서 "Advisor"를 검색하면 바로 접근할 수 있습니다. 별도 설정 없이 Azure가 자동으로 분석을 실행합니다. 각 권장 사항을 클릭하면 정확히 어떤 리소스에 어떤 문제가 있는지, 어떻게 수정해야 하는지 단계별 안내가 제공됩니다. 일부 권장 사항은 버튼 한 번으로 자동 수정도 가능합니다.
Azure Security Center(현재 Microsoft Defender for Cloud)와 통합되어 보안 권장 사항은 더욱 상세하게 제공됩니다.
Azure Service Health — 스마트 날씨 앱
Azure Service Health는 "Azure 서비스 자체"의 건강 상태를 알려주는 서비스입니다. 이것을 스마트 날씨 앱에 비유해 보겠습니다.
날씨 앱은 세 가지 레벨의 정보를 제공합니다: 전국 날씨 (전반적인 날씨 상황) 내 지역 날씨 (내가 사는 도시의 날씨) 내 집 날씨 (내 집 바로 앞 날씨)
Azure Service Health도 동일하게 세 가지 레벨로 정보를 제공합니다.
Azure Service Health의 3가지 구성 요소 상세 설명
첫 번째 레벨 — Azure Status (전국 날씨): 전 세계 모든 Azure 서비스의 전반적인 상태를 보여주는 공개 페이지입니다. Azure를 사용하는 모든 사람이 볼 수 있으며, 로그인 없이 status.azure.com에서 확인 가능합니다. 대규모 장애가 발생하면 이 페이지에 표시됩니다.
두 번째 레벨 — Service Health (내 지역 날씨): 내가 실제로 사용하는 서비스와 리전에 영향을 미치는 이벤트만 필터링해서 보여줍니다. 예를 들어 나는 한국 중부 리전에서 Azure SQL Database와 App Service만 사용한다면, 그 서비스들에 관련된 이벤트만 표시됩니다. 일본 동부 리전 문제나 내가 쓰지 않는 서비스 장애는 표시되지 않아 불필요한 정보를 줄여줍니다.
세 번째 레벨 — Resource Health (내 집 날씨): 내가 직접 만든 특정 리소스 하나하나의 현재 상태를 보여줍니다. "내가 만든 myVM-korea-01이라는 가상 머신은 지금 정상인가?" 같은 구체적인 질문에 답합니다. 서비스 전체가 아닌 내 개별 리소스 수준에서 문제를 파악할 수 있습니다.
Service Health에서 확인할 수 있는 이벤트 유형
| 이벤트 유형 | 설명 | 예시 | |-----------|------|------| | 서비스 장애 (Service Issues) | 현재 진행 중인 Azure 서비스 문제 | "한국 중부 리전 App Service에 연결 문제 발생 중" | | 예정된 유지 보수 (Planned Maintenance) | 미리 공지하는 계획된 점검 | "2월 15일 00:00~02:00 VM 호스트 업데이트 예정" | | 상태 권고 (Health Advisories) | 서비스 변경 사항이나 기능 중단 공지 | "Python 3.7 런타임 지원 2024년 X월 종료" | | 보안 권고 (Security Advisories) | 보안 관련 중요 공지 | "특정 VM 이미지의 보안 취약점 발견" |
서비스 상태 알림 설정
Service Health에서 알림을 설정하면 내 서비스에 영향을 줄 수 있는 이벤트가 발생할 때 이메일, SMS, 웹훅(Webhook), Logic App 등으로 먼저 알 수 있습니다. 장애가 발생해 사용자 민원이 쏟아지기 전에 먼저 파악하고 대응할 수 있습니다.
Azure Monitor — 스마트워치 운동 트래커
Azure Monitor는 Azure 리소스의 성능, 가용성, 운영 데이터를 수집, 분석, 시각화하는 종합 모니터링 플랫폼입니다. 스마트워치가 심박수, 걸음 수, 수면 패턴, 산소 포화도를 24시간 추적하듯, Azure Monitor는 가상 머신의 CPU, 메모리, 디스크, 네트워크 사용량부터 웹 앱의 요청 수, 오류율, 응답 시간까지 모든 것을 추적합니다.
Azure Monitor가 수집하는 두 가지 데이터 유형
메트릭(Metrics): 숫자로 표현되는 측정값. "지금 CPU가 몇 %인가?", "지난 1시간 동안 메모리 사용량은 얼마인가?" 같은 질문에 답합니다. 숫자 데이터라 빠르게 수집되고 그래프로 시각화하기 좋습니다.
로그(Logs): 이벤트 기록. "오전 3시 12분 47초에 어떤 사용자가 어떤 리소스에 접근했는가?", "오류가 발생했을 때 정확히 무슨 일이 일어났는가?" 같은 상세한 이벤트 정보를 기록합니다.
Log Analytics — 운동 기록 정밀 분석기
Log Analytics는 Azure Monitor가 수집한 로그 데이터를 쿼리하고 분석하는 전용 도구입니다. 스마트워치 앱에서 "지난달 평균 심박수가 가장 높았던 요일은?", "수면 6시간 미만인 날 다음 날 걸음 수는?" 같은 정교한 분석을 할 수 있는 것처럼, Log Analytics로 Azure 로그를 정밀 분석할 수 있습니다.
Log Analytics는 KQL(Kusto Query Language)이라는 쿼리 언어를 사용합니다. KQL은 SQL과 유사하지만 시계열 데이터 분석에 특화되어 있습니다.
실제 KQL 쿼리 예시: 지난 7일 동안 HTTP 500 오류가 발생한 횟수: CPU가 90% 이상인 VM 목록: 로그인 실패 횟수가 많은 사용자:
Azure Monitor 경보(Alerts) — 스마트워치 긴급 알림
Azure Monitor 경보는 특정 조건이 충족되면 자동으로 담당자에게 알림을 보내는 기능입니다. 스마트워치가 심박수가 갑자기 150 이상이 되면 진동하며 "심박수 이상"을 알려주는 것처럼, Azure Monitor는 설정된 임계값을 넘으면 즉시 알림을 보냅니다.
경보 유형: 메트릭 경보: "VM의 CPU 사용률이 5분 이상 90%를 넘으면 이메일 발송" 로그 경보: "1시간 동안 로그인 실패가 100건 이상이면 SMS 발송" 활동 로그 경보: "누군가 프로덕션 리소스 그룹의 리소스를 삭제하면 즉시 알림"
경보 발생 시 자동 조치 (Action Group): 알림을 받는 것을 넘어, 경보 발생 시 자동으로 Azure 함수(Function)나 Logic App을 실행해서 자동으로 문제를 수정하거나 추가 리소스를 프로비저닝하는 자동화도 가능합니다.
경보 알림 채널: 이메일, SMS, Azure 모바일 앱 알림, 웹훅, ITSM(ServiceNow 등)
Application Insights — 앱 전문 건강 모니터
Application Insights는 웹 애플리케이션과 마이크로서비스의 성능을 전문적으로 추적하는 Azure Monitor의 기능입니다. 스마트워치가 신체 전반을 추적하는 것과 달리, Application Insights는 "앱"에만 집중하는 전문 스포츠 모니터링 장비와 같습니다.
Application Insights를 앱에 연결하는 방법은 간단합니다 — 앱 코드에 SDK를 추가하거나, 서버에 에이전트를 설치하면 자동으로 데이터 수집이 시작됩니다.
수집되는 데이터: 요청(Request): 초당 몇 건의 HTTP 요청이 들어오는가? 응답 시간: 평균 응답 시간이 얼마인가? 가장 느린 요청은 무엇인가? 실패율: 전체 요청 중 몇 %가 오류를 반환하는가? 예외(Exception): 어떤 코드 오류가 얼마나 자주 발생하는가? 의존성(Dependency): 외부 API 호출, 데이터베이스 쿼리 중 어디서 병목이 생기는가? 사용자 행동: 사용자가 어느 페이지에서 이탈하는가? 어떤 기능을 가장 많이 사용하는가?
스마트 탐지(Smart Detection): Application Insights는 정상 패턴을 학습하고 이상 패턴을 자동으로 탐지합니다. "평소보다 오류율이 3배 높아졌습니다", "응답 시간이 갑자기 2초 이상 증가했습니다" 같은 알림을 경보 설정 없이도 자동으로 보내줍니다.
세 서비스의 역할을 한눈에 비교
| 서비스 | 무엇을 모니터링하나? | 핵심 질문 | 주치의 비유 | |--------|-----------------|---------|-----------| | Azure Advisor | Azure 환경 전반 | "어떻게 하면 더 잘 운영할 수 있나?" | 예방 건강 검진 조언 | | Azure Service Health | Azure 서비스 자체 | "Azure에 문제가 있나? 내 서비스에 영향은?" | 병원 공지 — "이번 주 이 진료과 휴진" | | Azure Monitor | 내 리소스의 성능/동작 | "지금 내 서버가 어떻게 돌아가고 있나?" | 스마트워치 실시간 건강 추적 |
헷갈릴 때 이렇게 기억하세요: 서버가 느리다 → Azure Monitor (메트릭/로그 확인) Azure 전체가 이상한 것 같다 → Azure Service Health 비용이 많이 나온다 → Azure Advisor (비용 카테고리) 보안 개선을 원한다 → Azure Advisor (보안 카테고리)
Azure Monitor의 데이터 소스와 통합
Azure Monitor는 단독으로 작동하지 않습니다. 수십 가지 Azure 서비스와 통합되어 데이터를 수집합니다:
Azure Virtual Machines, App Service, Azure SQL, Azure Kubernetes Service 등 모든 Azure 서비스 Log Analytics 워크스페이스에 데이터를 모아 통합 분석 Microsoft Sentinel(SIEM)과 연동해 보안 위협 분석 Power BI와 연동해 경영진용 대시보드 생성 Grafana와 연동해 오픈소스 스타일 대시보드 생성
시험 핵심 정리