-
Notifications
You must be signed in to change notification settings - Fork 51
features and usages
ByoungSeob Kim edited this page Mar 20, 2026
·
49 revisions

As shown in the diagram, the main steps for controlling multi-cloud using CB-Spider are:
1. Register connection configurations for the target cloud
2. Create resources required for VM creation
3. Create and control VM lifecycle using the created resources
4. Create and control Kubernetes (Provider-Managed Kubernetes) using the created resources
The main features provided by CB-Spider are as follows:
1. Multi-Cloud Connection Configuration Management
2. Multi-Cloud VM Infrastructure Resource Control
3. Multi-Cloud VM Lifecycle Control
4. Multi-Cloud Disk Control
5. Multi-Cloud Network LoadBalancer (NLB) Control
6. Multi-Cloud VM Snapshot/MyImage Control
7. Multi-Cloud Kubernetes Control
8. Multi-Cloud Region/Zone Info
9. Multi-Cloud VM Price Info
- Register and reuse cloud information and access credentials required to connect to the target cloud.
- This registration information is called the Cloud Connection Configuration.
- Connection configurations can be registered, queried, and deleted via the CB-Spider interface.
- Registering with an existing name updates the existing information.
- The connection configuration can be registered in the following order:
(1) Register and manage Cloud Driver info (2) Register and manage Cloud Credential info (3) Register and manage Cloud Region/Zone info (4) Register and manage Cloud Connection Configuration info- Steps (1), (2), and (3) can be registered in any order.
- Step (4) can only be registered after all three above are complete.
- ※ Steps (1)–(4) can be automated using the Default Connection Helper tool.
- ※ For details, refer to the Connection Management Guide.
- CB-Spider supports a dynamic plug-in based Cloud Driver architecture for extensible CSP integration.
- Register the Cloud Driver information developed for the target cloud.
- Cloud Driver information can be registered, queried, and deleted via the CB-Spider interface.
- Registering with an existing name updates the existing information.
- Key registration fields:
- Cloud Driver name: e.g.,
"aws-driver01" - Target cloud type: e.g.,
"AWS"(see supported CSPs) - Cloud Driver library name: e.g.,
"aws-driver-v1.0.so"(see CSP library names)
- Cloud Driver name: e.g.,
- API example:
- REST API: Register Cloud Driver Info
curl -sX POST http://localhost:1024/spider/driver \ -H 'Content-Type: application/json' \ -d '{ "DriverName": "aws-driver01", "ProviderName": "AWS", "DriverLibFileName": "aws-driver-v1.0.so" }'
- REST API: Register Cloud Driver Info
- Register the Cloud Credential information for the target CSP.
- Cloud Credential information can be registered, queried, and deleted via the CB-Spider interface.
- Credential values are encrypted when stored and returned.
- Registering with an existing name updates the existing information.
- Key registration fields:
- Cloud credential name: e.g.,
"aws-credential01" - Target cloud type: e.g.,
"AWS"(see supported CSPs) - Cloud credential key-value pairs (varies per CSP):
- Two types supported per cloud:
- Type-1: Spider type
- Type-2: CSP type
- AWS Type-1 example:
[{"Key":"ClientId", "Value":"AKIAR4XXXXX"}, {"Key":"ClientSecret", "Value":"QOumDIA4XXXXXXXX"}] - AWS Type-2 example:
[{"Key":"aws_access_key_id", "Value":"AKIAR4XXXXX"}, {"Key":"aws_secret_access_key", "Value":"QOumDIA4XXXXXXXX"}]
- AWS Type-1 example:
- To check credential key names per CSP (e.g.,
AWS):curl -sX GET http://localhost:1024/spider/cloudos/metainfo/AWS -H 'Content-Type: application/json' |json_pp |more { "Credential" : [ <========== Type-1 "ClientId", "ClientSecret" ], "CredentialCSP" : [ <========== Type-2 "aws_access_key_id", "aws_secret_access_key" ], ... (omitted) ...
- Two types supported per cloud:
- Cloud credential name: e.g.,
- API example (Type-2):
- REST API: Register Cloud Credential Info
curl -sX POST http://localhost:1024/spider/credential \ -H 'Content-Type: application/json' \ -d '{ "CredentialName": "aws-credential01", "ProviderName": "AWS", "KeyValueInfoList": [ { "Key": "aws_access_key_id", "Value": "AKIAR4XXXXX" }, { "Key": "aws_secret_access_key", "Value": "QOumDIA4XXXXXXXX" } ] }'
- REST API: Register Cloud Credential Info
- Register the Region and Zone information provided by the target CSP.
- Cloud Region and Zone information can be registered, queried, and deleted via the CB-Spider interface.
- Registering with an existing name updates the existing information.
- Key registration fields:
- Cloud region name: e.g.,
"aws-ohio" - Target cloud type: e.g.,
"AWS"(see supported CSPs) - Target cloud Region/Zone info: e.g.,
[{"Key":"Region", "Value":"us-east-2"}, {"Key":"Zone", "Value":"us-east-2a"}] - ※ To check available Region names, use the pre-config API in the Region/Zone Info Guide.
- Cloud region name: e.g.,
- API example:
- REST API: Register Cloud Region/Zone Info
curl -sX POST http://localhost:1024/spider/region \ -H 'Content-Type: application/json' \ -d '{ "RegionName": "aws-ohio", "ProviderName": "AWS", "KeyValueInfoList": [ { "Key": "Region", "Value": "us-east-2" }, { "Key": "Zone", "Value": "us-east-2a" } ] }'
- REST API: Register Cloud Region/Zone Info
- Register the connection configuration for the target CSP.
- Connection configuration information can be registered, queried, and deleted via the CB-Spider interface.
- Registering with an existing name updates the existing information.
- Key registration fields:
- Cloud connection config name: e.g.,
"aws-ohio-config" - Target cloud type: e.g.,
"AWS"(see supported CSPs) - Registered driver name for the target cloud: e.g.,
aws-driver01 - Registered credential name for the target cloud: e.g.,
aws-credential01 - Registered region name for the target cloud: e.g.,
aws-ohio
- Cloud connection config name: e.g.,
- API example:
- REST API: Register Cloud Connection Configuration Info
curl -sX POST http://localhost:1024/spider/connectionconfig \ -H 'Content-Type: application/json' \ -d '{ "ConfigName": "aws-ohio-config", "ProviderName": "AWS", "DriverName": "aws-driver01", "CredentialName": "aws-credential01", "RegionName": "aws-ohio" }'
- REST API: Register Cloud Connection Configuration Info
- Create and control cloud resources required for multi-cloud VM infrastructure operation.
- A pre-registered Cloud Connection Configuration is required to control multi-cloud resources.
- The multi-cloud resources provided by CB-Spider are as follows: see supported resources
(1) VM Image information (2) VM Spec information (3) VPC/Subnet creation and control (4) SecurityGroup creation and control (5) VM KeyPair creation and control
- VM Image provides a list and detailed information of images available in the target cloud (CSP Region/Zone).
- ※ For MyImage usage, refer to the VM Management Guide
- VM Image information can be listed and queried via the CB-Spider interface.
- Key information provided:
- VM image name: e.g.,
"ami-0bbe28eb2173f6167" - VM image OS (Guest OS): e.g.,
"Linux/UNIX" - VM image status:
"available" - VM image additional info (CSP-provided): e.g.,
CreationDate:2019-11-07T19:50:06.000Z, Architecture:x86_64, OwnerId:898082745236, ...
- VM image name: e.g.,
- API example:
- REST API: Get VM Image
curl -sX GET http://localhost:1024/spider/vmimage/ami-0bbe28eb2173f6167?ConnectionName=aws-ohio-config | json_pp{ "GuestOS" : "Linux/UNIX", "IId" : { "NameId" : "ami-0bbe28eb2173f6167", "SystemId" : "ami-0bbe28eb2173f6167" }, "KeyValueList" : [ { "Key" : "CreationDate", "Value" : "2020-08-10T20:29:49.000Z" }, { "Key" : "Architecture", "Value" : "x86_64" }, ... (omitted) ... - ※ For CSP-specific image names, refer to: How to get Image List
- For details, refer to the VM Image Info Guide.
- REST API: Get VM Image
- VM Spec provides a list and detailed information of VM specifications available in the target cloud (CSP Region/Zone).
- VM Spec information can be listed and queried via the CB-Spider interface.
- Key information provided:
- VM spec name: e.g.,
"p3.2xlarge" - VM CPU spec: e.g.,
"Count: 8, Clock: 2.7GHz" - VM memory spec:
"62464 MB" - VM GPU spec: e.g.,
"Mfr: NVIDIA, Model: V100, Memory: 16384 MB, Count: 1"
- VM spec name: e.g.,
- API example:
- REST API: Get VM Spec
curl -sX GET http://localhost:1024/spider/vmspec/p3.2xlarge?ConnectionName=aws-ohio-config | json_pp{ "Gpu" : [ { "Count" : "1", "Mem" : "16384", "Mfr" : "NVIDIA", "Model" : "V100" } ], "KeyValueList" : [ ... (omitted) ... ] - For details, refer to the VM Spec Info Guide.
- REST API: Get VM Spec
- VPC/Subnet resources provide a virtual network environment in the target cloud (CSP Region/Zone). ※ VPC: Virtual Private Cloud (https://en.wikipedia.org/wiki/Virtual_private_cloud)
- VPC/Subnet resources can be created, queried, and deleted via the CB-Spider interface.
- Subnets can be created along with the VPC, or added/deleted after VPC creation.
- Creating with an existing name returns an error.
- Key input fields:
- Registered cloud connection config name: e.g.,
"aws-ohio-config" - VPC name: e.g.,
"vpc-01" - VPC CIDR: e.g.,
"192.168.0.0/16" - Subnet info (one or more): e.g.,
[{"Subnet Name":"subnet-01", "Subnet CIDR":"192.168.1.0/24"}, ...]
- Registered cloud connection config name: e.g.,
- Special notes:
- See VPC notes in Supported Resources
- API example:
- REST API: Create VPC/Subnet
curl -sX POST http://localhost:1024/spider/vpc \ -H 'Content-Type: application/json' \ -d '{ "ConnectionName": "aws-ohio-config", "ReqInfo": { "Name": "vpc-01", "IPv4_CIDR": "192.168.0.0/16", "SubnetInfoList": [ { "Name": "subnet-01", "IPv4_CIDR": "192.168.1.0/24" } ] } }' - For details, refer to the VPC/Subnet Management Guide.
- REST API: Create VPC/Subnet
- SecurityGroup resources provide VM security groups (firewalls) in the target cloud (CSP Region/Zone).
- SecurityGroup resources can be created, queried, and deleted via the CB-Spider interface.
- SecurityGroups can only be created after a VPC has been created.
- Security Rules can be set during SecurityGroup creation or added/deleted afterward.
- Security Rules do not have individual IDs; they are identified by their rule values.
- For Security Rule specifications, refer to the SecurityGroup Management Guide.
- Creating with an existing name returns an error.
- Key input fields:
- Registered cloud connection config name: e.g.,
"aws-ohio-config" - Security group name: e.g.,
"sg-01" - Target VPC name: e.g.,
"vpc-01" - Security rules (one or more): e.g.,
[{"FromPort":"1", "ToPort":"65535", "IPProtocol":"tcp", "Direction":"inbound", "CIDR":"1.2.3.4/32"}]※ CIDR: Sets the IP address range allowed to access the VM ※ Omitting CIDR defaults to0.0.0.0/0
- Registered cloud connection config name: e.g.,
- API example:
- REST API: Create SecurityGroup
curl -sX POST http://localhost:1024/spider/securitygroup \ -H 'Content-Type: application/json' \ -d '{ "ConnectionName": "aws-ohio-config", "ReqInfo": { "Name": "sg-01", "VPCName": "vpc-01", "SecurityRules": [ { "FromPort": "1", "ToPort": "65535", "IPProtocol": "tcp", "Direction": "inbound", "CIDR": "1.2.3.4/32" } ] } }'
- REST API: Create SecurityGroup
- KeyPair resources provide SSH access to VMs in the target cloud (CSP Region/Zone).
- KeyPair resources can be created, queried, and deleted via the CB-Spider interface.
- Creating with an existing name returns an error.
- Key input fields:
- Registered cloud connection config name: e.g.,
"aws-ohio-config" - KeyPair name: e.g.,
"keypair-01"
- Registered cloud connection config name: e.g.,
- API example:
- REST API: Create KeyPair
curl -sX POST http://localhost:1024/spider/keypair \ -H 'Content-Type: application/json' \ -d '{ "ConnectionName": "aws-ohio-config", "ReqInfo": { "Name": "keypair-01" } }' - For details, refer to the KeyPair Management Guide.
- REST API: Create KeyPair
- Create and control the lifecycle of VMs required for multi-cloud computing infrastructure operations.
- A pre-registered Cloud Connection Configuration is required.
- VM-related features provided by CB-Spider:
(1) VM creation and lifecycle control (2) VM status list and info query (3) VM list and info query
- VMs are created and operated in the target cloud (CSP Region/Zone).
- VMs can be created, queried, deleted, and lifecycle-controlled via the CB-Spider interface.
- VM Image, VM Spec, VPC/Subnet, SecurityGroup, and VM KeyPair must be prepared before creating a VM.
- CB-Spider provides the following VM lifecycle controls:
- Start and Terminate
- Suspend and Resume
- Reboot
- CB-Spider provides the following VM states:
-
Creating: VM is being created -
Running: VM is operating normally -
Suspending: VM is transitioning from Running to Suspended -
Suspended: VM is paused (can be restarted) -
Resuming: VM is transitioning from Suspended to Running -
Rebooting: VM is rebooting -
Terminating: VM is being terminated -
Terminated: VM has been terminated (cannot be restarted) -
NotExist: VM does not exist -
Failed: An error occurred during VM creation
-
- Creating with an existing name returns an error.
- Even after VM creation is complete, SSH access may only be available after some time.
- Key input fields:
- Registered cloud connection config name: e.g.,
"aws-ohio-config" - VM name: e.g.,
"vm-01" - VM image name: e.g.,
"ami-0bbe28eb2173f6167"- ※ For CSP-specific image names: How to get Image List
- VM spec name: e.g.,
"p3.2xlarge" - VPC name: e.g.,
"vpc-01" - Subnet name: e.g.,
"subnet-01" - SecurityGroup name (one or more): e.g.,
"sg-01" - VM KeyPair name: e.g.,
"keypair-01" - RootDiskType (optional): see configuration guide
- RootDiskSize (optional): see configuration guide
- Registered cloud connection config name: e.g.,
- API example:
-
REST API: Create VM (※ For CSP-specific image names: How to get Image List)
curl -sX POST http://localhost:1024/spider/vm \ -H 'Content-Type: application/json' \ -d '{ "ConnectionName": "aws-ohio-config", "ReqInfo": { "Name": "vm-01", "ImageName": "ami-0bbe28eb2173f6167", "VMSpecName": "p3.2xlarge", "VPCName": "vpc-01", "SubnetName": "subnet-01", "SecurityGroupNames": [ "sg-01" ], "KeyPairName": "keypair-01" } }' -
For details, refer to the VM Management Guide.
-
-
Install & Start Guide
-
Usage Guide
- Usage Overview
- Connection Management
- Region/Zone Info
- Quota Info
- VM Price Info
- VM Image Info
- VM Spec Info
- VPC/Subnet Management
- Security Group Management
- KeyPair Management
- VM Management
- Disk Management
- Network Load Balancer(NLB) Management
- Kubernetes Cluster Management
- Object Storage(S3) Management
- Tag Management
- Cloud Driver Capability Info
- Function Menu
- MetaDB Auto Backup
- How to get CSP Credentials
- Tutorials
- 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
- How to ...
- How to Use AWS S3 with Credentials
- How to Use Alibaba ECS i1.* Instance Types
- How to provision GPU VMs
- 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 get Azure available Regions
- How to profile memory usage in Golang
- [For Cloud-Migrator]