-
Notifications
You must be signed in to change notification settings - Fork 50
VM Price Info Guide
ByoungSeob Kim edited this page Sep 17, 2025
·
17 revisions
-
서로 다른 CSP(Cloud Service Provider)의 VM 가격 정보를 동일한 API를 통해서 제공하며,
-
동일한 구조의 JSON 형태로 표준화된 결과로 제공한다.
-
사용자는 멀티 클라우드 환경에서 VM의 효율적인 가격 비교 및 VM 선택 의사결정 등에 활용할 수 있다.
-
CB-Spider가 제공하는 가격 정보 대상 및 검증 기준 등이 다음과 같다.
항목 설명 제공 정보 VM Spec 기준 OnDemand 가격 정보 (USD / Hour)
※ VM Spec Price: CSP별 Root Disk, Network 포함 여부 상이함제공 방법 각 CSP API 기반의 최신 가격 정보 제공
※ 예외: GCP 경우 Compute Pricing Page 기반 최신 가격 정보 제공(사유)정확도 가격: 100% 정확 / 개수: 약간의 오차 허용 검증 기준 각 CSP 공식 웹사이트 가격 정보 기준 지원 CSP AWS, Azure, GCP, Alibaba, Tencent, IBM, NCP
-
지원 대상 CSP별 검증 현황 및 특이 사항이 다음과 같다.
CSP 가격 정확도 제공 개수 공식 가격 정보 비고 AWS 정확 Web과 동일 AWS EC2 Pricing Azure 정확 Web보다 50여개 많음 Azure VM Pricing GCP 정확 Web과 일부 차이 GCP Compute Pricing API로 제공하는 VM Spec 기준으로 가격 제공
※API 제공 VM Spec 목록!=Compute Pricing Page 제공 VM Spec 목록Alibaba 정확 변동 가능 Alibaba ECS Pricing 가격 개수: Available Instance Type 기준 Tencent 정확 Web 보다 10여개 많음 Tencent CVM Pricing IBM 정확 Web 보다 10여개 적음 IBM Pricing API 미제공 항목 존재 NCP 정확 G3 가격 미제공 NCP Server Pricing 현재 API는 G3 가격 정보 미제공
-
사용자는 다음과 같은 CB-Spider REST API를 이용하여 VM Price 정보를 JSON 규격으로 제공 받는다.
- ※ 현재 Filter 기능은 정상 동작하지 않음
POST /priceinfo/vm/{RegionName}
-
AWS
ap-northeast-2(seoul) 리전 VM 가격 정보 조회 API 및 제공 정보 예시가 다음과 같다.curl -sX 'POST' 'http://localhost:1024/spider/priceinfo/vm/ap-northeast-2' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "connectionName": "aws-config01"}' | json_pp
{ "CloudName": "AWS", "Meta": { "Description": "Multi-Cloud Price Info", "Version": "0.5" }, "PriceList": [ { "ZoneName": "NA", "PriceInfo": { "OnDemand": { "Currency": "USD", "Price": "0.6839", "Unit": "Hour", "Description": "$0.6839 per On Demand Linux g5g.2xlarge Instance Hour", "PricingId": "VP2HH4R34U76YSDR.JRTCKXETXF.6YS6EN2CT7" }, "CSPPriceInfo": { ... 생략 ... } }, "ProductInfo": { "ProductId": "VP2HH4R34U76YSDR", "Description": "productFamily= Compute Instance, version= 20250508221907", "VMSpecInfo": { "Name": "g5g.2xlarge", "MemSizeMiB": "16384", "DiskSizeGB": "-1", "VCpu": { "Count": "8", "ClockGHz": "-1" }, "Gpu": [ { "Count": "1", "MemSizeGB": "16", "Mfr": "NA", "Model": "NA" } ], "Region": "ap-northeast-2", "CSPProductInfo": { ... 생략 ... } } } } ] }
-
Simple Mode: Price 정보의 대상 VMSpec 정보를 간단히 VMSpecName만 제공
-
설정 방법:
./bin/start.sh사용한 서버 가동시-
./setup.env: export VMSPECINFO_SIMPLE_MODE_IN_PRICEINFO=ON설정 후 - Spider 서버 가동:
./bin/start.sh
-
-
설정 방법: docker 사용한 서버 가동시
sudo docker run --rm -p 1024:1024 \ -v ${HOME}/cloud-barista/cb-spider/meta_db:/root/go/src/github.com/cloud-barista/cb-spider/meta_db \ -e VMSPECINFO_SIMPLE_MODE_IN_PRICEINFO="ON" \ --name cb-spider \ cloudbaristaorg/cb-spider -
API 사용 방법 동일
{ "Meta": { "Version": "0.5", "Description": "Multi-Cloud Price Info" }, "CloudName": "NCP", "RegionName": "KR", "PriceList": [ { "ZoneName": "NA", "ProductInfo": { "ProductId": "SPSVRGPU00000001", "VMSpecName": "gp1t4-g1-h50", <=================== Simple Mode: ON "Description": "Tesla P40 GPU 1EA, GPUMemory 24GB, vCPU 4EA, Memory 30GB, Disk 50GB", "CSPProductInfo": { "baseBlockStorageSize": 53687091200, ...
-
- Azure의 경우 약 1000개 규모로 메모리 사용이 비교적 큰 경우이며,
- Azure의 경우 메모리 사용 감소 효과가 크고, 소요 시간도 대폭 감소됨.
- Alibaba의 경우 약 450개 규모로 소요 시간이 비교적 오래 걸리는 경우이며,
- Alibaba의 VMSpecInfo 획득 처리나 VMSpecName 획득 처리 부하가 큰 차이가 없는 것으로 보임
- Azure의 경우 약 1000개 규모로 메모리 사용이 비교적 큰 경우이며,
- 다음 순서로 대상 CSP를 선택하고
Price페이지로 이동한다.

- 대상 Region 선택 및 VM Price 정보를 요청한다. ( ※ 현재 Filter 기능은 정상 동작하지 않음 )

- AWS VM Price Info 제공 정보 예시가 다음과 같다.

-
Install & Start Guide
-
Features & Usage
-
- AdminWeb Tool Guide
- CLI Tool Guide
- REST API Guide
- NLI Guide
-
Design
-
Developer Guide
-
Cloud Driver Developer Guide
- Cloud Driver Developer Guide-WIP
- VM SSH Key Development Guide-WIP
- VM User Development Guide
- What is the CSP SDK API Version of drivers
- Region Zone Info and Driver API
- (StartVM TerminateVM) API Call Counts and Waiting
- StartVM and TerminateVM Main Flow of drivers
- VM Root Disk Configuration Guide
- Security Group Rules and Driver API
- Network Load Balancer and Driver API
- VM Snapshot, MyImage and Disk Overview
- Kubernetes and Driver API(PMKS, K8S)
- Tag and Cloud Driver API
- AnyCall API Extension Guide
-
Test Reports
- v0.2.8-for-espresso-release
- v0.3.0-espresso-release
- Azure:Terminating VM
- cb-user@VM: ssh login, sudo run
- v0.3.14 test for SG Source
- v0.4.0-cafemocha-release
- Test via REST API Gateway
- Test Reports of v0.4.11 (IID2 initial Version)
- Test Reports of v0.4.12 (Register & Unregister existing Resources)
- Test Reports for v0.6.0 Release
- How to ...
- How to Use AWS S3 with Credentials
- How to Use Alibaba ECS i1.* Instance Types
- How to provision GPU VMs
- How to Resolve the 'Failed to Connect to Database' Error
- How to test CB Spider with Mock Driver
- How to install CB Spider on WSL2 under 공유기/사설망
- How to install CB Spider on macOS
- How to run CB Spider Container on macOS
- How to install OpenStack on a VM for CB Spider Testing
- How to get Azure available Regions
- How to profile memory usage in Golang
- Deprecated:How to install protoc and plugins
- [For Cloud-Migrator]