낭비 식별 및 제거
Azure Cost Management와 Advisor 권장 사항을 사용해 유휴 VM, 연결되지 않은 디스크, 과도하게 프로비저닝된 서비스, 좀비 리소스를 찾은 다음 폐기합니다.
낭비 식별 및 제거은(는) CoddyKit의 무료 Cloud & IT Cert Prep 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cloud & IT Cert Prep 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.
클라우드 낭비: 숨겨진 비용 요인
연구 결과에 따르면 조직은 유휴 상태이거나 과도하게 프로비저닝되었거나 방치된 Resource에 클라우드 지출의 25~35%를 지속적으로 낭비합니다. Azure에서 흔히 발생하는 낭비의 원인으로는 CPU 사용량이 거의 0인 상태로 하루 종일 실행되는 VM, VM 삭제 후 남겨진 연결되지 않은 관리 디스크, 고아 공용 IP 주소, 사용하지 않는 App Service 계획이 있습니다. 이러한 낭비를 식별하고 제거하는 것은 모든 FinOps 활동에서 가장 먼저 수행해야 할, ROI가 가장 높은 단계입니다.
Azure Advisor 비용 권장 사항
Azure Advisor는 Resource 사용률을 지속적으로 분석하고 Cost 권장 사항을 자동으로 생성합니다. 일반적인 권장 사항으로는 사용률이 낮은 VM의 크기를 적절히 조정하거나 종료하기(7일 동안 CPU 사용률 5% 미만 또는 메모리 사용률 2% 미만), 지속적으로 실행되는 VM에 대해 예약 인스턴스 구매하기, 연결되지 않은 공용 IP 주소 삭제하기, 유휴 Application Gateway 인스턴스 제거하기가 있습니다. 각 권장 사항에는 예상 월간 절감액이 표시되므로 Impact에 따라 우선순위를 정할 수 있습니다.
# List Advisor cost recommendations via CLI
az advisor recommendation list \
--category Cost \
--query '[].{Resource:resourceName, Impact:impact, Savings:extendedProperties.annualSavingsAmount}' \
--output table유휴 및 사용률이 낮은 VM 찾기
Azure Monitor는 모든 VM의 CPU 백분율과 네트워크 송수신 메트릭을 수집합니다. CPU 사용량이 지속적으로 5% 미만인 VM은 크기를 적절히 조정하거나 종료할 유력한 대상입니다. Azure Monitor의 Virtual Machine Insights 기능을 사용하면 24시간, 7일 또는 30일 동안의 CPU 및 메모리 사용률을 전체 VM 집합 관점에서 확인할 수 있습니다. 사용률이 낮은 VM에 대한 Advisor 권장 사항은 성능 차트로 직접 연결되므로 조치하기 전에 해당 패턴을 확인할 수 있습니다.
# Query average CPU for a VM over the last 7 days
az monitor metrics list \
--resource /subscriptions/<sub>/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM \
--metric 'Percentage CPU' \
--interval PT1H \
--start-time 2024-06-01T00:00:00Z \
--end-time 2024-06-08T00:00:00Z \
--aggregation Average연결되지 않은 디스크 및 스냅샷
디스크를 삭제하도록 선택하지 않고 VM을 삭제하면 관리 디스크가 남아 계속 요금이 발생합니다. Azure 포털에서 Disk state: Unattached로 디스크를 필터링하면 이러한 고아 디스크를 찾을 수 있습니다. 마찬가지로 백업이나 마이그레이션을 위해 만든 오래된 스냅샷도 잊히는 경우가 많습니다. 스냅샷 저장소는 관리 디스크 저장소보다 저렴하지만, 대규모 구독 전체에 방치된 스냅샷이 1년 동안 쌓이면 연간 수천 달러에 이를 수 있습니다.
# Find all unattached managed disks in a subscription
az disk list \
--query '[?diskState == `Unattached`].{Name:name, RG:resourceGroup, SizeGB:diskSizeGb}' \
--output table고아 공용 IP 주소 및 NIC
Azure의 공용 IP 주소는 실행 중인 Resource에 연결되지 않은 경우에도 요금이 부과됩니다. VM 또는 부하 분산 장치를 삭제해도 공용 IP와 네트워크 인터페이스가 남아 있을 수 있습니다. 포털에서 공용 IP 주소를 Associated to: None으로 필터링한 후 더 이상 필요하지 않은 주소를 삭제합니다. 마찬가지로 어떤 VM이나 서비스에도 연결되지 않은 고아 네트워크 인터페이스는 안전하게 제거할 수 있습니다. 개별 요금은 적지만 수백 개의 Resource에 걸쳐 누적되면 큰 금액이 됩니다.
# Find unassociated public IP addresses
az network public-ip list \
--query '[?ipConfiguration == null].{Name:name, RG:resourceGroup, SKU:sku.name}' \
--output table좀비 Resource: 스테이징 및 개발 Environment
좀비 Resource란 장기간 유지되는 스테이징, 테스트 또는 개념 증명 Environment로, 프로비저닝된 후 잊힌 것을 말합니다. 유휴 상태인 운영 VM과 달리 이러한 Resource는 업무 시간 중 어느 정도 사용률을 보일 수 있지만 진행 중인 프로젝트에는 사용되지 않습니다. 모든 Resource에 Environment 및 Project 태그를 요구하는 Resource 태그 지정 정책을 구현한 다음, Environment=Dev 또는 Environment=Test인 Resource 중 생성 후 90일이 넘은 항목에 대해 자동 경고를 예약합니다.
# Find resources tagged as Dev that are over 90 days old (approximate via createdTime)
az resource list \
--tag Environment=Dev \
--query '[].{Name:name, Type:type, RG:resourceGroup}' \
--output table개발 및 테스트 VM 자동 종료
Azure VM은 매일 지정된 시간에 VM을 자동으로 중지하는 자동 종료 기능을 지원합니다. 모든 개발 및 테스트 VM에서 이 기능을 사용하도록 설정하여 밤이나 주말에 실행되지 않도록 합니다. 예를 들어 개발 VM을 연중무휴로 실행하면 24시간에 해당하는 비용이 들지만, 평일에만 오전 8시에 자동 시작되고 오후 6시에 자동 종료되도록 구성하면 주당 168시간이 아닌 50시간만 사용하므로 컴퓨팅 비용을 약 70% 절감할 수 있습니다.
# Enable auto-shutdown at 18:00 UTC on a dev VM
az vm auto-shutdown \
--resource-group myRG \
--name myDevVM \
--time 1800 \
--email admin@contoso.comAzure 비용 관리: 이상 징후 탐지
Azure Cost Management에는 기계 학습을 사용하여 예상치 못한 지출 급증을 식별하는 Anomaly Detection 기능이 포함되어 있습니다. 구독 또는 Resource 그룹의 비용이 예측된 패턴에서 크게 벗어나면, 예를 들어 누군가 실수로 GPU VM을 배포하거나 ExpressRoute 게이트웨이를 삭제하지 않은 경우 Cost Management가 이메일로 이상 징후 경고를 보냅니다. 이상 징후 경고를 설정하면 월별 청구서에 나타나기 전에 급증하는 비용을 포착할 수 있어 빠르게 효과를 얻을 수 있습니다.
# Create a cost anomaly alert
az costmanagement alert create \
--name 'AnomalyAlert' \
--scope '/subscriptions/<subscriptionId>' \
--type 'Anomaly' \
--contact-emails 'finance@contoso.com'스토리지 및 데이터베이스 계층의 적정 크기 조정
모든 낭비가 컴퓨팅과 관련된 것은 아닙니다. 단순한 읽기 위주 쿼리를 실행하는데 Business Critical 계층으로 프로비저닝된 Azure SQL Databases는 비용이 절반인 General Purpose 계층에서도 동일한 성능을 낼 수 있습니다. 자주 액세스하지 않는 Blob Storage 데이터는 수명 주기 관리 정책을 사용하여 Hot 계층에서 Cool 또는 Archive 계층으로 이동해야 합니다. Azure Advisor는 컴퓨팅 관련 권장 사항과 함께 데이터베이스 및 스토리지의 적정 크기 조정 권장 사항도 제공합니다.
# Create a Blob lifecycle policy to move data to Cool tier after 30 days
az storage account management-policy create \
--account-name mystorageacct \
--resource-group myRG \
--policy @- << 'POLICY'
{
'rules': [{
'name': 'MoveOldDataToCool',
'type': 'Lifecycle',
'definition': {
'actions': { 'baseBlob': { 'tierToCool': { 'daysAfterModificationGreaterThan': 30 } } },
'filters': { 'blobTypes': ['blockBlob'] }
}
}]
}
POLICY낭비 제거 백로그 구축
비용 최적화를 일회성 작업이 아니라 지속적인 엔지니어링 활동으로 다루어야 합니다. Advisor 권장 사항과 비용 이상 징후 경고에서 매주 생성되는 항목을 Azure DevOps 또는 Jira의 FinOps 백로그에 추가합니다. 각 낭비 항목을 담당 팀에 할당하고 목표 해결 날짜를 설정합니다. 실현된 절감액과 식별된 절감액을 추적하여 FinOps 성숙도를 측정합니다. 조직 전체에서 낭비 제거를 계속 중요한 과제로 유지할 수 있도록 엔지니어링 책임자 및 재무 팀과 월간 비용 검토를 예약합니다.
향후 낭비를 방지하는 거버넌스
예방은 사후 해결보다 비용 효율적입니다. Azure Policy를 사용하여 승인 없이 고가의 VM SKU(예: GPU 또는 M-series)를 만들지 못하게 하고, 모든 Resource에 Environment 및 ExpiryDate 태그를 요구하며, 개발 구독에서 새로 만든 VM에 자동 종료를 자동으로 사용하도록 설정합니다. 정책을 월간 할당량의 80% 및 100%에 설정한 예산 경고와 결합하면 초과 지출이 발생하기 전에 팀에 알릴 수 있습니다.
빠른 확인
이 단원에서 다룬 Microsoft Azure Fundamentals(AZ-900) 개념에 대한 이해도를 확인해 보세요.
단원 요약
이 단원에서는 다음을 배웠습니다. Azure Advisor는 유휴 VM, 연결되지 않은 디스크 및 과도하게 프로비저닝된 서비스에 대해 실행 가능한 비용 권장 사항을 제공하고, 개발 VM의 자동 종료는 컴퓨팅 비용을 70%까지 줄일 수 있으며, 태그 지정을 활용한 거버넌스 정책은 향후 낭비가 누적되는 것을 방지합니다. 다음 단원에서는 적정 크기 조정 기법과 자동 크기 조정 전략을 살펴봅니다.
자주 묻는 질문
“낭비 식별 및 제거” 강의는 무료인가요?
네 — “낭비 식별 및 제거” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cloud & IT Cert Prep 강의 전체를 잠금 해제할 수 있습니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.
“낭비 식별 및 제거”에서 뭘 배우나요?
Azure Cost Management와 Advisor 권장 사항을 사용해 유휴 VM, 연결되지 않은 디스크, 과도하게 프로비저닝된 서비스, 좀비 리소스를 찾은 다음 폐기합니다. 브라우저에서 직접 실행하는 실습 코드로 Cloud & IT Cert Prep을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Cloud & IT Cert Prep을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Cloud & IT Cert Prep은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“낭비 식별 및 제거” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Cloud & IT Cert Prep 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Cloud & IT Cert Prep 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.