1. Azure Monitor 및 기본 개념 정리
(1) Azure Monitor
• Azure 전반의 리소스 상태, 성능, 보안 이벤트를 수집·분석하는 플랫폼 서비스
• 메트릭과 로그 두 가지 데이터 형식 지원
(2) Log Analytics
• Azure Monitor 로그 데이터를 저장하고 Kusto Query Language(KQL)로 분석하는 서비스
• 데이터 수집, 저장, 쿼리에 따라 비용 부과
(3) Diagnostic Settings
• 어떤 리소스에서 어떤 종류의 로그를 어디로 보낼지 설정하는 기능
• 예: Log Analytics, Storage Account, Event Hub
(4) Retention Policy (보존 정책)
• 로그 데이터를 저장하는 기간을 지정
• 저장기간이 길수록 비용 증가, 짧게 하면 비용 절감
(5) Sampling (샘플링)
• Application Insights에서 모든 요청·트랜잭션 로그를 수집하지 않고 일부만 수집하는 기능
• 트래픽이 많은 서비스에서 비용 절감에 효과적
(6) Basic Logs vs Analytic Logs
• Basic Logs: 장기간 저장, 검색 빈도가 낮은 로그 (저렴)
• Analytic Logs: 쿼리·분석이 많은 로그 (비쌈)
(7) Archive Tier
• 장기간 사용하지 않는 로그를 저비용 저장소에 보관하는 방식
• 검색 시 복원 시간이 필요
2. 최적화 개요
(1) 수집 단계에서 절감
• Diagnostic Settings에서 불필요한 로그 카테고리 제외
• Application Insights에서 Sampling 설정 적용 (예: 100% → 20%)
(2) 저장 단계에서 절감
• Retention Policy로 저장기간 단축 (예: 90일 → 30일)
• 자주 쓰지 않는 데이터는 Archive Tier로 이동
(3) 분석 단계에서 절감
• 쿼리 실행 횟수 최소화
• 동일한 쿼리를 반복 실행 시 쿼리 결과 캐싱 또는 Export 기능 활용
(4) 로그 형식 구분
• 자주 분석하는 데이터: Analytic Logs
• 거의 조회하지 않는 데이터: Basic Logs로 설정
(5) 외부 저장소 연계
• 장기 보관 필요 시 Log Analytics가 아닌 Azure Storage에 보관 → 저렴한 저장 비용 + 규제 준수 가능
3. 세부 내용 설명
(1) 수집할 로그 데이터량 최적화
- 필요한 데이터만 수집하세요. 수집 대상 및 조건을 신중히 설정해 불필요한 로그를 줄여야 합니다.
→ 예: 진단 설정(Diagnostic setting), 데이터 수집 규칙(Data Collection Rule, DCR)을 통해 특정 이벤트/로그 수준만 수집하도록 제한 - 테이블별 Basic Logs 플랜 활용
디버깅 또는 드문 쿼리에만 필요한 테이블은 Basic Logs 플랜으로 설정해 데이터 수집 비용을 낮출 수 있습니다. 단, 일부 기능 제한이 있습니다.
(2) 가격 모델 및 티어 활용
- **Commitment 티어 (예약량 기반 요금제)**로 전환 시, 데이터 수집량이 많을 때 단가를 낮출 수 있습니다. 기본은 페이-애즈-유-고(Pay-as-you-go)
- 데이터 보관 기간 최적화
기본 보존 기간 이후 장기 보존이 필요하지 않다면 데이터를 자동으로 삭제해 저장 공간과 비용을 줄이세요
(3) 모니터링 및 알림 기반 관리
- Log Analytics Workspace Insights를 통해 로그 수집량 트렌드를 시각화하고, 어떤 솔루션이나 테이블이 과다 수집의 주범인지를 파악할 수 있습니다
- Alert (알림) 설정으로 이상 전송량 대응
예시: 하루 50GB 이상 로그가 수집되면 알림을 받도록 설정하여 비용 예측력을 높이고, 필요 시 즉시 대응할 수 있습니다 - Azure Advisor 비용 최적화 권장사항 적용
Advisor가 자동으로 제안하는 ‘Basic Logs 사용’, ‘프리미엄 요금제 전환’ 등 권고사항을 알림으로 설정해 놓으면, 실시간으로 비용 절감 기회를 놓치지 않을 수 있습니다
(4) 데이터 분석 기반 원인 탐지
- Usage 테이블
워크스페이스별, 솔루션별, 테이블별 수집된 청구 대상(billable) 데이터 양을 분석할 수 있습니다. 예시 쿼리도 제공되어 있습니다 - _IsBillable, _BilledSize 컬럼 활용
실제 과금이 발생하는 개별 로그 항목 및 사이즈를 상세 분석해, 어떤 이벤트가 비용을 유발하는지 구체적으로 확인할 수 있습니다 - 자원, 리소스 그룹, 컴퓨터 단위 분석
어느 리소스나 VM이 로그를 많이 생성하고 있는지 단위별 분석해 수집 전략을 세울 수 있어요
(5) 쿼리 최적화 및 성능 관리
- 쿼리 최적화는 직접적인 수집 사이징보다는 간접적인 비용 절감에 도움이 됩니다.효율적인 쿼리는 CPU, 멀티스레드 활용, 메모리 등 자원 소비를 줄여 전체 처리 비용을 절감시키고, 쿼리 지연이나 스로틀링도 방지합니다
4. 요약
| 전략 영역 | 수행 지침 요약 |
| 수집량 최적화 | 필요한 데이터만 수집, Basic Logs 플랜 적용(빠른 분석 필요시 Analytic) |
| 가격 모델 활용 및 티어 조정 | Commitment 이용, 불필요 보존기간 줄임(보유 정책 조정) |
| 모니터링 및 알림 설정 | Workspace 인사이트, 데이터 사용량 알림 |
| 원인 분석 기반 개선 | Usage 테이블, 상세 쿼리 분석(저/고빈도 조회 로그 분석), 리소스별 검토 |
| 쿼리 최적화 | 효율적인 KQL 작성으로 처리 비용 절감, 샘플링 기법으로 일부 로그 수집 |
| 외부 저장소 Export | 규제 준수 및 비용 절감을 위해 외부 저장 방법도 추가 고려 사항 |
5. 참고 문서
- [Azure Monitor Logs cost calculations and options] Azure 문서+9Microsoft Learn+9Microsoft Learn+9
- [Best practices for Azure Monitor Logs] (비용 관리 및 운영 · 수집 최적화 관련) Microsoft Learn
- [Analyze usage in a Log Analytics workspace] (Usage 분석 및 알림 설정) Microsoft Learn+1
- [Optimize log queries in Azure Monitor] (쿼리 성능 최적화) Microsoft Learn+1
'Azure 상식' 카테고리의 다른 글
| PV/PVC with Azure File 구성시 필요한 Network 설정 (1) | 2025.08.25 |
|---|---|
| Azure Storage 암호화 (0) | 2025.08.25 |
| Azure Native 보안과 네트워크 보안 서비스 이해 (3) | 2025.08.24 |
| Support VM OS SKU 및 Migration 방법 (0) | 2025.08.24 |
| Dockerfile 기본 개념 및 레이어 구성 원리 (0) | 2025.08.23 |