Skip to content

RestAPI Multi‐Cloud Price Information Guide

ByoungSeob Kim edited this page Mar 13, 2024 · 8 revisions

※ CB-Spider Multi-Cloud Price Information Documentation


[RestAPI Multi-Cloud Price Information Guide]

  * 본 가이드는 RestAPI 기반 멀티 클라우드 가격 정보 조회 방법을 기술 한다.
  * 용어 및 줄임말
    - Cloud: 문맥상 CSP 의미로 활용될 수 있음
    - 제품 및 가격 정보, Product and Price Information, 가격 정보, Price Info: 동일한 의미로 활용

  • 본 가이드는 다음과 같이 3가지 단계로 구성된다.
    • [선수 과목] CB-Spider가 제공하는 제품 및 가격 정보의 기능 및 규격을 이해하는 단계

    • [준비 단계] CB-Spider 설치 및 대상 CSP 연결 설정을 등록하는 단계

    • [기능 활용] Multi-Cloud Price Info 조회 기능을 활용하는 단계


[선수 과목]


[준비 단계]

  1. CB-Spider 설치 및 AdminWeb 접속
  2. AdminWeb 기반 Cloud 연결 설정 및 등록

[기능 활용]

1. CB-Spider ProductFamily 목록 조회 API 활용

  • CB-Spider ProductFamily 제공 현황 참고: CB-Spider Multi-Cloud Price Info 지원 현황

  • [AWS] us-east-2 Region 대상 조회 예시

    curl -sX GET "http://localhost:1024/spider/productfamily/us-east-2?ConnectionName=aws-config01" | json_pp
    {
       "productfamily" : [
          "CPU Credits",
          "Compute Instance (bare metal)",
          "Compute Instance",                    * v0.8.9 기준 Price Info를 지원하는 ProductFamily
          "Data Transfer",
          "Dedicated Host",
          "EBS direct API Requests",
          "Elastic Graphics",
          "Fast Snapshot Restore",
          "Fee",
          "IP Address",
          "Load Balancer-Application",
          "Load Balancer-Network",
          "Load Balancer",
          "NAT Gateway",
          "Provisioned Throughput",
          "Storage Snapshot",
          "Storage",
          "System Operation"
       ]
    }

2. CB-Spider Price Info 조회 API 활용

  • [AWS] ap-northeast-2 Region 대상, ComputeInstance(or Compute Instance) ProductFamily의 Price Info 조회 예시

    curl -sX GET http://localhost:1024/spider/priceinfo/ComputeInstance/ap-northeast-2?ConnectionName=aws-config01 | json_pp |more
    {
       "cloudPriceList" : [
          {
             "cloudName" : "AWS",
             "priceList" : [
                {
                   "priceInfo" : {
                      "cspPriceInfo" : {
                         "product" : {
                            "attributes" : {
                               "availabilityzone" : "NA",
                               "capacitystatus" : "UnusedCapacityReservation",
                               "classicnetworkingsupport" : "false",
                               "clockSpeed" : "2.5 GHz",
                               "currentGeneration" : "Yes",
                               "dedicatedEbsThroughput" : "10000 Mbps",
                               "ecu" : "NA",
                               "enhancedNetworkingSupported" : "Yes",
                               "gpuMemory" : "NA",
                               "instanceFamily" : "General purpose",
                               "instanceType" : "m5ad.24xlarge",
                               "instancesku" : "H89T86TNVP4J4RGU",
                               "intelAvx2Available" : "No",
                               "intelAvxAvailable" : "No",
                               "intelTurboAvailable" : "No",
                               "licenseModel" : "No License required",
                               "location" : "Asia Pacific (Seoul)",
                               "locationType" : "AWS Region",
                               "marketoption" : "OnDemand",
                               "memory" : "384 GiB",
                               "networkPerformance" : "20 Gigabit",
                               "normalizationSizeFactor" : "192",
                               "operatingSystem" : "Windows",
    --More--
    

  • [Tencent] ap-beijing Region 대상, ComputeInstance(or cvm) ProductFamily의 Price Info 조회 예시
    curl -sX GET http://localhost:1024/spider/priceinfo/ComputeInstance/ap-beijing?ConnectionName=tencent-beijing3-config | json_pp | more
    {
       "cloudPriceList" : [
          {
             "cloudName" : "TENCENT",
             "priceList" : [
                {
                   "priceInfo" : {
                      "cspPriceInfo" : null,
                      "pricingPolicies" : [
                         {
                            "currency" : "USD",
                            "description" : "NA",
                            "price" : "0.46",
                            "pricingId" : "NA",
                            "pricingPolicy" : "POSTPAID_BY_HOUR",
                            "pricingPolicyInfo" : {
                               "LeaseContractLength" : "NA",
                               "OfferingClass" : "NA",
                               "PurchaseOption" : "NA"
                            },
                            "unit" : "HOUR"
                         },
                         {
                            "currency" : "USD",
                            "description" : "NA",
                            "price" : "0.46",
                            "pricingId" : "NA",
                            "pricingPolicy" : "SPOTPAID",
                            "pricingPolicyInfo" : {
                               "LeaseContractLength" : "NA",
                               "OfferingClass" : "NA",
                               "PurchaseOption" : "NA"
                            },
    --More--

[참고]

  • CSP별 CB-Spider ProductFamily 목록 조회 API 활용 예시
[AWS]
curl -sX GET "http://localhost:1024/spider/productfamily/us-east-2?ConnectionName=aws-config01" | json_pp
{
   "productfamily" : [
      "CPU Credits",
      "Compute Instance (bare metal)",
      "Compute Instance",                    * v0.8.9 기준 Price Info를 지원하는 ProductFamily
      "Data Transfer",
      "Dedicated Host",
      "EBS direct API Requests",
      "Elastic Graphics",
      "Fast Snapshot Restore",
      "Fee",
      "IP Address",
      "Load Balancer-Application",
      "Load Balancer-Network",
      "Load Balancer",
      "NAT Gateway",
      "Provisioned Throughput",
      "Storage Snapshot",
      "Storage",
      "System Operation"
   ]
}

[Azure]
curl -sX GET "http://localhost:1024/spider/productfamily/northeurope?ConnectionName=azure-northeu-config" | json_pp
{
   "productfamily" : [
      "AI + Machine Learning",
      "Analytics",
      "Azure Communication Services",
      "Compute",                    * v0.8.9 기준 Price Info를 지원하는 ProductFamily
      "Data",
      "Databases",
      "Developer Tools",
      "Integration",
      "Internet of Things",
      "Management and Governance",
      "Microsoft Syntex",
      "Networking",
      "Other",
      "Quantum Computing",
      "Security",
      "Storage",
      "Web"
   ]
}

[GCP]
curl -sX GET "http://localhost:1024/spider/productfamily/us-central1?ConnectionName=gcp-iowa-config" | json_pp
{
   "productfamily" : [
      "Compute"                    * v0.8.9 기준 Price Info를 지원하는 ProductFamily
   ]
}

[Alibaba]
curl -sX GET "http://localhost:1024/spider/productfamily/cn-beijing?ConnectionName=alibaba-beijing-config" | json_pp
{
   "productfamily" : [
      "ecs"                    * v0.8.9 기준 Price Info를 지원하는 ProductFamily
   ]
}

[Tencent]
curl -sX GET "http://localhost:1024/spider/productfamily/ap-guangzhou?ConnectionName=tencent-guangzhou3-config" | json_pp
{
   "productfamily" : [
      "cvm"                    * v0.8.9 기준 Price Info를 지원하는 ProductFamily
   ]
}

[IBM VPC]
curl -sX GET "http://localhost:1024/spider/productfamily/us-south?ConnectionName=ibmvpc-us-south-1-config" | json_pp
{
   "productfamily" : [
      "is.backup-policy",
      "is.bare-metal-server",
      "is.dedicated-host",
      "is.endpoint-gateway",
      "is.floating-ip",
      "is.flow-log-collector",
      "is.image",
      "is.instance",                    * v0.8.9 기준 Price Info를 지원하는 ProductFamily
      "is.instance-group",
      "is.key",
      "is.load-balancer",
      "is.network-acl",
      "is.placement-group",
      "is.public-gateway",
      "is.reservation",
      "is.security-group",
      "is.share",
      "is.snapshot",
      "is.snapshot-consistency-group",
      "is.subnet",
      "is.virtual-network-interface",
      "is.volume",
      "is.vpc",
      "is.vpn",
      "is.vpn-server"
   ]
}

[NCP]
curl -sX GET "http://localhost:1024/spider/productfamily/KR?ConnectionName=ncp-korea1-config" | json_pp
{
   "productfamily" : [
      "5GCON",
      "ACEYE",
      "AICCN",
      "APIWF",
      "ARCST",
      "BAKUP",
      "BKUP",
      "BLCHN",
      "BST",
      "CAREC",
      "CCAI",
      "CDN3",
      "CF",
      "CGRNE",
      "CHADP",
      "CHTBT",
      "CLA",
      "CLCON",
      "CLDUB",
      "CLFCS",
      "CLOCR",
      "CLSPH",
      "CLSTD",
      "CMS",
      "COLOC",
      "CSWAT",
      "CTNRR",
      "DAS",
      "DATFW",
      "DBOX",
      "DBXFM",
      "DFPRQ",
      "DFRCM",
      "DFRNT",
      "DFRPB",
      "DFRPR",
      "DT",
      "DTCTL",
      "DV",
      "ELSTS",
      "EMAIL",
      "GEOLC",
      "GMCHT",
      "GMPOT",
      "GMRPT",
      "HENHA",
      "HENPI",
      "IMGOP",
      "IOTDV",
      "IPSEC",
      "LOADB",
      "LVSTN",
      "MCC",
      "MIPSC",
      "MONTR",
      "MSSQL",
      "MTDRM",
      "MYSQL",
      "NAS",
      "NATGW",
      "NCCHT",
      "NCLOS",
      "NET",
      "NKS",
      "NKSFM",
      "NKSWK",
      "NOTIF",
      "NWRPL",
      "OBJST",
      "PBLIP",
      "PKMRR",
      "PRLVS",
      "PRSBN",
      "REDIS",
      "RPASV",
      "SCBLD",
      "SCBND",
      "SCCOM",
      "SCDEP",
      "SCMGR",
      "SCMTR",
      "SCPIP",
      "SECZF",
      "SLVPN",
      "SST",
      "SVR",                    * v0.8.9 기준 Price Info를 지원하는 ProductFamily
      "SW",
      "VCDSS",
      "VCHDP",
      "VCNSL",
      "VELST",
      "VIPSE",
      "VLB",
      "VMGDB",
      "VMSSL",
      "VMYSL",
      "VNKS",
      "VODSN",
      "VPC",
      "VPCPR",
      "VPGSL",
      "VRDS"
   ]
}

[NCP VPC]
curl -sX GET "http://localhost:1024/spider/productfamily/KR?ConnectionName=ncpvpc-korea1-config" | json_pp
{
   "productfamily" : [
      "5GCON",
      "ACEYE",
      "AICCN",
      "APIWF",
      "ARCST",
      "BAKUP",
      "BKUP",
      "BLCHN",
      "BST",
      "CAREC",
      "CCAI",
      "CDN3",
      "CF",
      "CGRNE",
      "CHADP",
      "CHTBT",
      "CLA",
      "CLCON",
      "CLDUB",
      "CLFCS",
      "CLOCR",
      "CLSPH",
      "CLSTD",
      "CMS",
      "COLOC",
      "CSWAT",
      "CTNRR",
      "DAS",
      "DATFW",
      "DBOX",
      "DBXFM",
      "DFPRQ",
      "DFRCM",
      "DFRNT",
      "DFRPB",
      "DFRPR",
      "DT",
      "DTCTL",
      "DV",
      "ELSTS",
      "EMAIL",
      "GEOLC",
      "GMCHT",
      "GMPOT",
      "GMRPT",
      "HENHA",
      "HENPI",
      "IMGOP",
      "IOTDV",
      "IPSEC",
      "LOADB",
      "LVSTN",
      "MCC",
      "MIPSC",
      "MONTR",
      "MSSQL",
      "MTDRM",
      "MYSQL",
      "NAS",
      "NATGW",
      "NCCHT",
      "NCLOS",
      "NET",
      "NKS",
      "NKSFM",
      "NKSWK",
      "NOTIF",
      "NWRPL",
      "OBJST",
      "PBLIP",
      "PKMRR",
      "PRLVS",
      "PRSBN",
      "REDIS",
      "RPASV",
      "SCBLD",
      "SCBND",
      "SCCOM",
      "SCDEP",
      "SCMGR",
      "SCMTR",
      "SCPIP",
      "SECZF",
      "SLVPN",
      "SST",
      "SVR",                    * v0.8.9 기준 Price Info를 지원하는 ProductFamily
      "SW",
      "VCDSS",
      "VCHDP",
      "VCNSL",
      "VELST",
      "VIPSE",
      "VLB",
      "VMGDB",
      "VMSSL",
      "VMYSL",
      "VNKS",
      "VODSN",
      "VPC",
      "VPCPR",
      "VPGSL",
      "VRDS"
   ]
}

Table of contents



Clone this wiki locally