VM Price Info Guide - cloud-barista/cb-spider GitHub Wiki

1. CB-Spider VM Price Info ๊ฐœ์š”

  • ์„œ๋กœ ๋‹ค๋ฅธ 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

2. CB-Spider VM Price Info ์ œ๊ณต ํ˜„ํ™ฉ

  • ์ง€์› ๋Œ€์ƒ 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 ๊ฐ€๊ฒฉ ์ •๋ณด ๋ฏธ์ œ๊ณต

3. CB-Spider VM Price Info API ๋ฐ ์ œ๊ณต ์ •๋ณด ์˜ˆ์‹œ

  • ์‚ฌ์šฉ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ 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" : [
             {
                "PriceInfo" : {            
                   "OnDemand" : {
                      "Currency" : "USD",
                      "Description" : "$2.1018 per On Demand Linux m7gd.8xlarge Instance Hour",
                      "Price" : "2.1018",
                      "PricingId" : "SJ7S6NGHJ8HZZW7K.JRTCKXETXF.6YS6EN2CT7",
                      "Unit" : "Hour"
                   },
                   "CSPPriceInfo" : {... ์ƒ๋žต ...}
                },
                "ProductInfo" : {
                   "Description" : "productFamily= Compute Instance, version= 20250918064406",
                   "ProductId" : "SJ7S6NGHJ8HZZW7K",
                   "VMSpecInfo" : {
                      "DiskSizeGB" : "-1",
                      "MemSizeMiB" : "131072",
                      "Name" : "m7gd.8xlarge",
                      "Region" : "ap-northeast-2",
                      "VCpu" : {
                         "ClockGHz" : "-1",
                         "Count" : "32"
                      }
                   },
                   "CSPProductInfo" : {... ์ƒ๋žต ...}
                },
                "ZoneName" : "NA"
             },
             ...
    
  • simple ์˜ต์…˜์„ ์‚ฌ์šฉํ•œ ๊ฐ€๊ฒฉ ์ •๋ณด ์กฐํšŒ API ๋ฐ ์ œ๊ณต ์ •๋ณด ์˜ˆ์‹œ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
    • simple ์˜ต์…˜: VMSpec ๊ตฌ์กฐ ์ •๋ณด ๋Œ€์‹  ๊ฐ„๋‹จํžˆ VMSpecName๋งŒ ์ œ๊ณต

      [์š”์ฒญ ์˜ˆ์‹œ]

         curl -sX 'POST' 'http://localhost:1024/spider/priceinfo/vm/ap-northeast-2?simple' \
         -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" : [
              {
                 "PriceInfo" : {            
                    "OnDemand" : {
                       "Currency" : "USD",
                       "Description" : "$2.1018 per On Demand Linux m7gd.8xlarge Instance Hour",
                       "Price" : "2.1018",
                       "PricingId" : "SJ7S6NGHJ8HZZW7K.JRTCKXETXF.6YS6EN2CT7",
                       "Unit" : "Hour"
                    },
                    "CSPPriceInfo" : {... ์ƒ๋žต ...}
                 },
                 "ProductInfo" : {
                    "Description" : "productFamily= Compute Instance, version= 20250918064406",
                    "ProductId" : "SJ7S6NGHJ8HZZW7K",
                    "VMSpecName" : "m7gd.8xlarge"
                    },
                    "CSPProductInfo" : {... ์ƒ๋žต ...}
                 },
                 "ZoneName" : "NA"
              },
              ...
      

4. CB-Spider VM Price Info AdminWeb ์ œ๊ณต ์˜ˆ์‹œ

  • ๋‹ค์Œ ์ˆœ์„œ๋กœ ๋Œ€์ƒ CSP๋ฅผ ์„ ํƒํ•˜๊ณ  Price ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•œ๋‹ค.

image

  • ๋Œ€์ƒ Region ์„ ํƒ ๋ฐ VM Price ์ •๋ณด๋ฅผ ์š”์ฒญํ•œ๋‹ค. ( โ€ป ํ˜„์žฌ Filter ๊ธฐ๋Šฅ์€ ์ •์ƒ ๋™์ž‘ํ•˜์ง€ ์•Š์Œ )

image

  • AWS VM Price Info ์ œ๊ณต ์ •๋ณด ์˜ˆ์‹œ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

image