본문으로 건너뛰기

EKS Container Cost

EKS Pod의 비용을 분석하는 페이지입니다. OpenCost (기본) 또는 Request 기반 추정 (폴백)의 두 가지 데이터 소스를 지원합니다.

EKS Container Cost

주요 기능

데이터 소스 표시

페이지 상단에 현재 데이터 소스가 표시됩니다:

  • 녹색: OpenCost (Prometheus) - 실제 사용량 기반, CPU + Memory + Network + Storage + GPU
  • 노란색: Request-based estimation - CPU + Memory만 (OpenCost 설치 권장)

통계 카드

  • Pod Cost (Daily): 일일 총 Pod 비용 (시안)
  • Pod Cost (Monthly): 월간 추정 비용 (녹색)
  • Running Pods: 실행 중 Pod 수 / 노드 수 (보라색)
  • Top Namespace: 가장 비용이 높은 네임스페이스 (주황색)

Namespace Cost Distribution 차트

네임스페이스별 일일 비용 분포를 파이 차트로 표시

Node Daily Cost + Pod Count 차트

노드별 일일 비용과 Pod 수를 이중 축 바 차트로 표시

Pods 탭

컬럼설명
Namespace네임스페이스
PodPod 이름
Node노드 이름
CPUCPU 비용
MemoryMemory 비용
Network*네트워크 비용 (OpenCost만)
Storage*스토리지 비용 (OpenCost만)
GPU*GPU 비용 (OpenCost만)
Total/Day일일 총 비용

*OpenCost 모드에서만 표시

Nodes 탭

컬럼설명
Node노드 이름
Instance TypeEC2 인스턴스 타입
Hourly Rate시간당 비용
Daily Cost일일 비용
PodsPod 수

데이터 소스 인디케이터 배너

페이지 상단에 현재 사용 중인 계산 방식을 색상 배너로 표시합니다:

배너 색상조건메시지
🟢 초록data.dataSource === 'opencost'"OpenCost (Prometheus) — Actual usage-based cost: CPU + Memory + Network + Storage + GPU"
🟡 노랑dataSource !== 'opencost'"Request-based estimation — CPU + Memory only. Install OpenCost for full cost data: scripts/07-setup-opencost.sh"

배너 아래의 카드 하단 라벨도 동일 출처를 명시합니다:

  • Source: OpenCost (Prometheus actual usage × AWS pricing) 또는
  • Source: Request-based (Pod request ratio × EC2 node cost)

탭 — Pods vs Nodes

페이지에는 Pods / Nodes 두 개의 탭이 있습니다 (activeTab: 'pods' | 'nodes').

라벨 색내용
podscyanPod별 CPU/Memory(/Network/Storage/GPU) 비용 — 네임스페이스·노드 필터링
nodespurple노드별 인스턴스 타입, 시간당 단가, 일일 비용, Pod 수

탭 전환 시 데이터는 캐시되며 추가 호출이 발생하지 않습니다.

두 가지 비용 계산 방식

Method A: Request-based (기본)

Pod의 리소스 요청 비율로 노드 비용을 분배:

CPU Ratio = Pod CPU Request / Node Allocatable CPU
Memory Ratio = Pod Memory Request / Node Allocatable Memory
Pod Daily Cost = (CPU Ratio x 0.5 + Memory Ratio x 0.5) x Node Hourly Rate x 24h

지원 항목: CPU, Memory만 데이터 소스: Steampipe kubernetes_pod, kubernetes_node

Method B: OpenCost (Prometheus)

실제 사용량 메트릭과 AWS 가격 정보를 결합:

CPU Cost = Actual CPU Usage (cores) x AWS EC2 vCPU Price
Memory Cost = Actual Memory Usage (bytes) x AWS EC2 Memory Price
Network Cost = Cross-AZ/Region Transfer x Data Transfer Price
Storage Cost = PVC Provisioned Size x EBS Volume Price
Pod Total Cost = CPU + Memory + Network + Storage + GPU

지원 항목: CPU, Memory, Network, Storage, GPU (5개) 데이터 소스: Prometheus + Metrics Server

OpenCost 설치

bash scripts/07-setup-opencost.sh

설치 후 data/config.jsonopencostEndpoint를 설정하면 자동으로 OpenCost 모드로 전환됩니다.

사용 방법

  1. 사이드바에서 Compute > EKS Container Cost를 클릭합니다
  2. 상단 배너에서 데이터 소스를 확인합니다
  3. 통계 카드에서 전체 비용 현황을 파악합니다
  4. 차트에서 비용이 높은 네임스페이스/노드를 식별합니다
  5. Pods/Nodes 탭을 전환하여 상세 비용을 확인합니다
  6. "Cost Calculation Basis" 섹션을 펼쳐 계산 근거를 확인합니다

EC2 가격 참조 (ap-northeast-2, On-Demand)

Instance TypeHourly Rate
m5.large$0.118
m5.xlarge$0.236
m6g.large$0.100
c5.xlarge$0.196
r5.large$0.152
t3.large$0.104
t4g.large$0.086

사용 팁

OpenCost 설치 권장

Request 기반은 리소스 요청만 고려하여 실제 사용량과 차이가 있습니다. OpenCost를 설치하면 5가지 비용 항목을 정확하게 분석할 수 있습니다.

Request 없는 Pod

리소스 요청이 없는 Pod는 Request 모드에서 $0.00으로 표시됩니다. Best Practice로 모든 Pod에 리소스 요청을 설정하세요.

Network Cost (OpenCost)

OpenCost의 Network 비용은 Cross-AZ 전송만 포함합니다. 같은 AZ 내 전송은 무료입니다.

AI 분석

AI Assistant에서 "EKS Pod 비용 분석", "네임스페이스별 비용 비교", "비용 최적화 방안" 등으로 분석할 수 있습니다.

관련 페이지