비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 높이는 방법을 말합니다. 수집하는 데이터의 양을 줄일 수 있는 다양한 구성 옵션과 기회를 이해하면 Azure Monitor 비용을 크게 줄일 수 있습니다. 이 문서를 사용하기 전에 Azure Monitor 요금 및 사용량을 확인하여 Azure Monitor가 청구하는 다양한 방식과 월별 청구서를 보는 방법을 이해해야 합니다.
이 문서에서는 Azure Well-Architected Framework의 일부인 Azure Monitor의 비용 최적화에 대해 설명합니다. Microsoft Azure Well-Architected Framework는 워크로드의 품질을 향상시키는 데 사용할 수 있는 일단의 지침 원칙입니다. 이 프레임워크는 다음과 같이 뛰어난 아키텍처의 5가지 핵심 요소로 이루어져 있습니다.
안정성
보안
비용 최적화
운영 효율성
성능 효율성
Azure Monitor 로그
디자인 검사 목록
동일한 Log Analytics 작업 영역에서 운영 데이터와 보안 데이터를 결합할지 여부를 결정합니다.
각 Log Analytics 작업 영역에서 일반적으로 수집하는 데이터의 양에 대한 가격 책정 계층을 구성합니다.
데이터 보존 및 보관을 구성합니다.
디버깅, 문제 해결 및 감사에 사용되는 테이블을 기본 로그로 구성합니다.
작업 영역의 데이터 원본에서 데이터 수집을 제한합니다.
수집된 데이터를 정기적으로 분석하여 추세 및 변칙을 식별합니다.
데이터 수집량이 많을 때는 경고를 만듭니다.
특정 예산을 초과하지 않도록 일별 한도를 예방 측정값으로 고려합니다.
Log Analytics 작업 영역에 대한 Azure Advisor 비용 권장 사항에 대한 경고를 설정합니다.
구성 권장 사항
권장
장점
동일한 Log Analytics 작업 영역에서 운영 데이터와 보안 데이터를 결합할지 여부를 결정합니다.
Microsoft Sentinel을 사용하는 경우 Log Analytics 작업 영역의 모든 데이터에는 Microsoft Sentinel 가격 책정이 적용되므로 이 데이터를 결합하는 데 비용이 발생할 수 있습니다. 다른 핵심 요소의 기준과 환경의 균형을 맞추는 이러한 결정에 대한 자세한 내용은 Log Analytics 작업 영역 전략 디자인을 참조하세요.
각 Log Analytics 작업 영역에서 일반적으로 수집하는 데이터의 양에 대한 가격 책정 계층을 구성합니다.
기본적으로 Log Analytics 작업 영역은 최소 데이터 볼륨이 없는 종량제 가격 책정을 사용합니다. 충분한 데이터를 수집하면 약정 계층을 사용하여 비용을 크게 절감할 수 있습니다. 이를 통해 더 낮은 요율로 수집된 일일 최소 데이터를 약정할 수 있습니다. 단일 지역의 작업 영역에서 충분한 데이터를 수집하는 경우 이를 전용 클러스터에 연결하고 클러스터 가격 책정을 사용하여 수집된 볼륨을 결합할 수 있습니다.
기본값인 31일(Sentinel이 작업 영역에서 사용하도록 설정된 경우 90일, Application Insights 데이터의 경우 90일)을 초과하여 Log Analytics 작업 영역에 데이터를 보존하는 데는 요금이 부과됩니다. 로그 쿼리에서 데이터를 쉽게 사용할 수 있도록 하는 특정 요구 사항을 고려합니다. 장기 보존을 구성하여 최대 12년 동안 데이터를 보존하고 검색 작업을 사용하거나 작업 영역에 데이터 집합을 복원하여 때때로 액세스할 수 있도록 하여 비용을 크게 줄일 수 있습니다.
디버깅, 문제 해결 및 감사에 사용되는 테이블을 기본 로그로 구성합니다.
기본 로그용으로 구성된 Log Analytics 작업 영역의 테이블은 제한된 기능과 로그 쿼리에 대한 요금 대신 수집 요금이 낮습니다. 이러한 테이블을 자주 쿼리하지 않고 경고에 사용하지 않는 경우 이 쿼리 비용은 감소된 수집 비용에 따른 상쇄 비용보다 더 클 수 있습니다.
작업 영역의 데이터 원본에서 데이터 수집을 제한합니다.
Azure Monitor 비용의 주요 요소는 Log Analytics 작업 영역에서 수집하는 데이터의 양이므로 서비스 및 애플리케이션의 상태 및 성능을 평가하는 데 필요한 데이터를 더 이상 수집하지 않도록 해야 합니다. 환경이 다른 핵심 요소의 기준과 균형을 맞추는 데 대한 자세한 내용은 Log Analytics 작업 영역 아키텍처 디자인을 참조하세요.
절충: 비용과 모니터링 요구 사항 간에 절충이 있을 수 있습니다. 예를 들어 높은 샘플링 속도를 사용하면 성능 문제를 더 빠르게 감지할 수 있지만 비용 절감을 위해 더 낮은 샘플링 속도를 원할 수 있습니다. 대부분의 환경에는 다양한 형식의 컬렉션이 있는 여러 데이터 원본이 있으므로 특정 요구 사항과 각 비용 대상의 균형을 맞춰야 합니다. 다양한 데이터 원본에 대한 컬렉션 구성에 대한 권장 사항은 Azure Monitor의 비용 최적화를 참조하세요.
수집된 데이터를 정기적으로 분석하여 추세 및 변칙을 식별합니다.
Log Analytics 작업 영역 인사이트를 사용하여 작업 영역에서 수집된 데이터의 양을 주기적으로 검토합니다. 다양한 원본에서 수집한 데이터의 양을 이해하는 데 도움이 될 뿐만 아니라 초과 비용을 초래할 수 있는 데이터 수집의 변칙 및 상향 추세를 식별합니다. Log Analytics 작업 영역에서 사용량 분석의 방법을 사용하여 데이터 수집을 추가로 분석하여 사용량을 더 줄일 수 있는 추가 구성이 있는지 확인합니다. 이는 새 가상 머신 세트 또는 새 서비스 온보딩과 같은 새 데이터 원본 집합을 추가할 때 특히 중요합니다.
Log Analytics 작업 영역에 대한 Azure Advisor 비용 권장 사항에 대한 경고를 설정합니다.
Log Analytics 작업 영역에 대한 Azure Advisor 권장 사항은 비용을 최적화할 기회가 있을 때 적극적으로 경고합니다. 다음 비용 권장 사항에 대한 Azure Advisor 경고를 만듭니다.
선택한 테이블에 대해 비용 효율적인 기본 로그 계획을 구성하는 것이 좋습니다. 저렴한 기본 로그 데이터 요금제에 적합한 테이블에 대해 월별 1GB가 넘는 수집이 확인되었습니다. 기본 로그 계획은 저렴한 비용으로 디버깅 및 문제 해결을 위한 쿼리 기능을 제공합니다.
가격 책정 계층 변경 고려 - 현재 사용량을 기준으로 가격 책정(약정) 계층 변경을 조사하여 할인을 받고 비용을 절감합니다.
사용하지 않는 복원 테이블 제거를 고려합니다. 작업 영역에 복원된 데이터가 활성화된 테이블이 하나 이상 있습니다. 복원된 데이터를 더 이상 사용하지 않는 경우 불필요한 요금이 청구되지 않도록 테이블을 삭제합니다.
데이터 수집 변칙이 발견되었습니다. 지난 3주 동안의 수집을 기준으로 지난 주에 훨씬 더 높은 수집 비율을 확인했습니다. 이번 변경 내용과 예상되는 비용 변경 내용을 기록해 두세요.
Log Analytics 작업 영역 리소스 메뉴에서 개요>권장 사항 또는 관리자 권장 사항을 선택하여 자동으로 생성된 권장 사항을 볼 수도 있습니다.
Azure 리소스
디자인 검사 목록
Azure 리소스에서 중요한 리소스 로그 데이터만 수집합니다.
구성 권장 사항
권장
장점
Azure 리소스에서 중요한 리소스 로그 데이터만 수집합니다.
Azure 리소스에 대한 리소스 로그를 Log Analytics 데이터베이스로 전송하기 위해 진단 설정을 만들 때 필요한 범주만 지정합니다. 진단 설정은 리소스 로그의 세분화된 필터링을 허용하지 않으므로 작업 영역 변환을 사용하여 지원되는 테이블을 사용하는 리소스에 대해 불필요한 데이터를 필터링할 수 있습니다. 진단 설정을 구성하고 변환을 사용하여 데이터를 필터링하는 방법에 대한 자세한 내용은 Azure Monitor의 진단 설정을 참조하세요.
경고
디자인 검사 목록
활동 로그 경고, 서비스 상태 경고 및 리소스 상태 경고는 무료입니다.
로그 검색 경고를 사용하는 경우 로그 검색 경고 빈도를 최소화합니다.
메트릭 경고를 사용하는 경우 모니터링되는 리소스 수를 최소화합니다.
구성 권장 사항
권장
장점
활동 로그 경고, 서비스 상태 경고 및 리소스 상태 경고는 무료입니다.
Azure Monitor 작업 경고, 서비스 상태 경고 및 리소스 상태 경고는 무료입니다. 이러한 경고 형식을 사용하여 모니터링하려는 내용을 달성할 수 있으면 해당 경고 형식을 사용합니다.
로그 검색 경고를 사용하는 경우 로그 검색 경고 빈도를 최소화합니다.
로그 검색 경고를 구성할 때 규칙 평가가 자주 수행될수록 비용이 높아진다는 점을 유념해야 합니다. 이에 따라 규칙을 구성합니다.
메트릭 경고를 사용하는 경우 모니터링되는 리소스 수를 최소화합니다.
일부 리소스 종류는 동일한 형식의 여러 리소스를 모니터링할 수 있는 메트릭 경고 규칙을 지원합니다. 이러한 리소스 종류의 경우 규칙이 많은 리소스를 모니터링하면 규칙의 비용이 높아질 수 있다는 점에 유의해야 합니다. 비용을 줄이려면 메트릭 경고 규칙의 범위를 줄이거나 많은 수의 리소스를 모니터링하는 데 비용이 덜 드는 로그 검색 경고 규칙을 사용할 수 있습니다.
가상 머신
디자인 검사 목록
세분화된 데이터 필터링을 위해 Log Analytics 에이전트에서 Azure Monitor 에이전트로 마이그레이션합니다.
에이전트에서 필요하지 않은 데이터를 필터링합니다.
VM 인사이트를 사용할지 여부와 수집할 데이터를 결정합니다.
성능 카운터의 폴링 빈도를 줄입니다.
VM이 중복 데이터를 전송하지 않는지 확인합니다.
Log Analytics 작업 영역 인사이트를 사용하여 청구 가능한 비용을 분석하고 비용 절감 기회를 식별합니다.
SCOM 환경을 Azure Monitor SCOM 관리되는 인스턴스로 마이그레이션합니다.
구성 권장 사항
권장
설명
세분화된 데이터 필터링을 위해 Log Analytics 에이전트에서 Azure Monitor 에이전트로 마이그레이션합니다.
Log Analytics 에이전트가 있는 VM이 여전히 있는 경우 더 나은 데이터 필터링을 활용하고 다른 VM 집합과 함께 고유한 구성을 사용할 수 있도록 Azure Monitor 에이전트로 마이그레이션합니다. Log Analytics 에이전트의 데이터 수집 구성은 작업 영역에서 수행되므로 모든 에이전트는 동일한 구성을 받습니다. Azure Monitor 에이전트에서 사용하는 데이터 수집 규칙은 다양한 VM 집합의 특정 모니터링 요구 사항에 맞게 조정할 수 있습니다. 또한 Azure Monitor 에이전트를 사용하면 변환을 사용하여 수집되는 데이터를 필터링할 수 있습니다.
VM 인사이트는 VM 모니터링을 빠르게 시작할 수 있는 훌륭한 기능이며 지도 및 성능 추세 보기와 같은 강력한 기능을 제공합니다. 맵 기능이나 수집하는 데이터를 사용하지 않는 경우 VM 인사이트 구성에서 프로세스 및 종속성 데이터 수집을 사용하지 않도록 설정하여 데이터 수집 비용을 절약해야 합니다.
다중 홈 에이전트를 사용하거나 유사한 데이터 수집 규칙을 만드는 경우 각 작업 영역에 고유한 데이터를 보내고 있는지 확인합니다. 중복 데이터를 수집하지 않도록 수집된 데이터를 분석하는 방법에 대한 지침은 Log Analytics 작업 영역에서 사용량 분석을 참조하세요. 에이전트 간에 마이그레이션하는 경우 각각 고유한 데이터를 수집하는지 확인할 수 없는 한, 두 가지를 함께 사용하는 대신 Azure Monitor 에이전트로 마이그레이션할 때까지 Log Analytics 에이전트를 계속 사용합니다.
Log Analytics 작업 영역 인사이트를 사용하여 청구 가능한 비용을 분석하고 비용 절감 기회를 식별합니다.
Log Analytics 작업 영역 인사이트는 각 테이블 및 각 VM에서 수집된 청구 가능한 데이터를 보여 줍니다. 이 정보는 데이터를 필터링하여 비용을 절감할 수 있는 가장 좋은 기회를 나타내므로 이 정보를 사용하여 상위 컴퓨터 및 테이블을 식별합니다. Log Analytics 작업 영역의 사용량 분석에서 이 인사이트와 로그 쿼리를 사용하여 구성 변경의 영향을 추가로 분석합니다.
SCOM 환경을 Azure Monitor SCOM 관리되는 인스턴스로 마이그레이션합니다.
기존 SCOM 환경을 Azure Monitor SCOM 관리되는 인스턴스로 마이그레이션하여 Azure Monitor로 대체할 수 없는 관리 팩을 지원합니다. SCOM 관리되는 인스턴스에서는 로컬 관리 서버 및 데이터베이스 서버를 유지 관리해야 하는 요구 사항을 제거하여 SCOM 인프라를 유지 관리하는 데 드는 전체 비용을 줄입니다.
컨테이너
디자인 검사 목록
Azure Monitor Prometheus용 관리 서비스를 통해 메트릭 수집을 사용하도록 설정합니다.
컨테이너 인사이트에서 데이터 수집을 수정하도록 에이전트 컬렉션을 구성합니다.
컨테이너 인사이트를 통해 메트릭 데이터 수집에 대한 설정을 수정합니다.
Azure Portal에서 컨테이너 인사이트 환경을 사용하지 않는 경우 메트릭 데이터의 컨테이너 인사이트 컬렉션을 사용하지 않도록 설정합니다.
컨테이너 로그 테이블을 정기적으로 쿼리하지 않거나 경고에 사용하지 않는 경우 기본 로그로 구성합니다.
필요하지 않은 리소스 로그의 컬렉션을 제한합니다.
AKS 리소스 로그에 리소스별 로깅을 사용하고 테이블을 기본 로그로 구성합니다.
OpenCost를 사용하여 Kubernetes 비용에 대한 세부 정보를 수집합니다.
구성 권장 사항
권장
장점
Azure Monitor Prometheus용 관리 서비스를 통해 메트릭 수집을 사용하도록 설정합니다. 또한 Prometheus 메트릭을 Log Analytics 작업 영역으로 보내지 않도록 하세요.
메트릭 데이터가 수집되는 빈도와 컨테이너 인사이트에서 수집되는 네임스페이스를 모두 수정하는 방법에 대한 자세한 내용은 비용 최적화 설정 사용을 참조하세요.
Azure Portal에서 컨테이너 인사이트 환경을 사용하지 않는 경우 메트릭 데이터의 컨테이너 인사이트 컬렉션을 사용하지 않도록 설정합니다.
컨테이너 인사이트는 Managed Prometheus와 동일한 많은 메트릭 값을 수집합니다. 컨테이너 인사이트에서 비용 최적화 설정 사용에서 설명한 대로 로그 및 이벤트만 수집하도록 컨테이너 인사이트를 구성하여 이러한 메트릭의 수집을 사용하지 않도록 설정할 수 있습니다. 이 구성은 Azure Portal에서 컨테이너 인사이트 환경을 사용하지 않도록 설정하지만 Grafana를 사용하여 Prometheus 메트릭 및 Log Analytics를 시각화하여 Container Insights에서 수집한 로그 데이터를 분석할 수 있습니다.
컨테이너 로그 테이블을 정기적으로 쿼리하지 않거나 경고에 사용하지 않는 경우 기본 로그로 구성합니다.
AKS 클러스터에 대한 컨트롤 플레인 로그는 Azure Monitor에서 리소스 로그로 구현됩니다. 진단 설정을 만들어 이 데이터를 Log Analytics 작업 영역으로 보냅니다. 수집해야 하는 범주에 대한 권장 사항은 AKS 클러스터에 대한 컨트롤 플레인 로그 수집을 참조하세요.
AKS 리소스 로그에 리소스별 로깅을 사용하고 테이블을 기본 로그로 구성합니다.
AKS는 리소스 로그에 대한 Azure 진단 모드 또는 리소스별 모드를 지원합니다. 리소스 로그를 지정하여 기본 로그에 대한 테이블을 구성하는 옵션을 사용하도록 설정합니다. 이 옵션을 사용하면 가끔씩만 쿼리하고 경고에 사용하지 않는 로그에 대한 수집 비용을 줄여줍니다.
OpenCost를 사용하여 Kubernetes 비용에 대한 세부 정보를 수집합니다.
OpenCost는 Kubernetes 비용을 파악하고 AKS 비용 표시 기능을 지원하기 위한 공급업체 중립적인 오픈 소스 CNCF 샌드박스 프로젝트입니다. 클러스터 관리자가 비용을 분석하고 분류할 수 있도록 고객별 Azure 가격 책정 외에도 자세한 비용 데이터를 Azure Storage로 내보냅니다.
Application Insights
디자인 검사 목록
작업 영역 기반 Application Insights로 변경
샘플링을 사용하여 수집된 데이터의 양을 조정합니다.
Ajax 호출 수를 제한합니다.
불필요한 모듈을 사용하지 않도록 설정합니다.
TrackMetric에 대한 모든 호출에서 메트릭을 사전 집계합니다.
가능한 경우 사용자 지정 메트릭의 사용을 제한합니다.
업데이트된 SDK(소프트웨어 개발 키트)를 사용합니다.
로그 수준을 사용하여 원치 않는 호스트 추적 및 일반 로그 추적을 제한합니다.
구성 권장 사항
권장
장점
작업 영역 기반 Application Insights로 변경
Application Insights 리소스가 작업 영역 기반인지 확인합니다. 작업 영역 기반 Application Insights 리소스는 기본 로그, 약정 계층, 데이터 형식별 보존, 장기 보존과 같은 새로운 비용 절감 도구를 적용할 수 있습니다.
샘플링을 사용하여 수집된 데이터의 양을 조정합니다.
샘플링은 Application Insights가 수집하는 데이터의 양을 조정하는 데 사용할 수 있는 기본 도구입니다. 샘플링을 사용하여 메트릭 왜곡을 최소화하면서 애플리케이션에서 전송되는 원격 분석의 양을 줄일 수 있습니다.
Ajax 호출 수를 제한합니다.
모든 페이지 보기에서 보고될 수 있는 Ajax 호출 수를 제한하거나 Ajax 보고를 사용하지 않도록 설정합니다. Ajax 호출을 사용하지 않도록 설정하면 JavaScript 상관 관계도 사용하지 않도록 설정됩니다.
애플리케이션에 TrackMetric에 대한 호출을 추가한 경우 측정 일괄 처리의 평균 및 표준 편차 계산을 허용하는 오버로드를 사용하여 트래픽을 줄일 수 있습니다. 또는 사전 집계 패키지를 사용할 수 있습니다.
사용자 지정 메트릭의 사용을 제한합니다.
사용자 지정 메트릭 차원에 대한 경고 사용에 대한 Application Insights 옵션은 비용을 증가시킬 수 있습니다. 이 옵션을 사용하면 더 많은 사전 집계 메트릭이 만들어질 수 있습니다.
업데이트된 SDK(소프트웨어 개발 키트)를 사용합니다.
이전 버전의 ASP.NET Core SDK 및 작업자 서비스 SDK는 기본적으로 많은 카운터를 수집하며 이는 사용자 지정 메트릭으로 수집되었습니다. 이후 버전을 사용하여 필요한 카운터만 지정합니다.
원치 않는 로그 추적을 제한합니다.
Application Insights에는 여러 가지 가능한 로그 원본이 있습니다. 로그 수준을 사용하여 추적 로그 원격 분석을 조정하고 줄일 수 있습니다. 로깅은 호스트에도 적용될 수 있습니다. 예를 들어, AKS(Azure Kubernetes Service)를 사용하는 고객은 컨트롤 플레인 및 데이터 평면 로그를 조정해야 합니다. 마찬가지로, Azure 함수를 사용하는 고객은 로그 수준과 범위를 조정하여 로그 볼륨과 비용을 최적화해야 합니다.