Skip to main content

Key Concepts

Instance

An instance is virtualized hardware resources, typically meaning a virtual machine that incorporates computing power, memory, storage space, networking capabilities, and more. This virtualized infrastructure allows you to scale resources up or down as needed, significantly reducing the cost and maintenance burden of physical hardware.

Virtual Machine (VM) instances are used in cloud computing services to create virtual computers, and the cost of an instance is typically billed based on usage. Cloud computing services virtualize the hardware resources of physical servers to run multiple independent virtual machines simultaneously. This allows you to operate several virtual machines on one physical server, increasing efficiency and scalability.

Each VM instance is typically allocated resources such as CPU, memory, storage, and network interfaces. These resources are crucial factors determining the performance and capacity of the virtual machine and can be adjusted according to user needs. With this, you can select the most suitable instance type and size for their applications and services.

ResourceDescription
CPUVirtual CPUs are allocated to the instance, utilizing part or all of a physical CPU.
MemoryInstances are given virtual memory, which operates using some or all of their physical memory.
StorageEach instance has virtual block storage, efficiently distributing the storage space of physical hard disk.
Network Interface   Instances are assigned virtual network interfaces, through which they perform network communication within the virtual infrastructure.

Instance type

KakaoCloud offers instance types optimized for various use cases, supporting you in selecting the instance that best fits their workload and requirements. These instance types are designed to meet the computing and storage resource requirements.

Select a specific instance type when creating an instance, and costs are billed proportionally to the resources used. This enables efficient resource management, ensuring customers only pay for the resources they actually use.

The instance types of VM include general purpose, compute optimized, memory optimized, accelerated computing, video transcoding, etc.

Instance lifecycle

The instance lifecycle includes a series of processes from creation to return, and these processes can be checked through state values. These state values serve as indicators of the instance's current situation, encompassing various states such as running, returning, deleting, and more.
Understanding the state values and lifecycle is crucial for managing the entire lifecycle of an instance. Refer to the following table to comprehend the current state of your instance and determine necessary actions.

Image. Volume Creation Instance lifecycle

Commands/Features

Feature name (CLI command)DescriptionState after execution
Start (start)Starts the instanceActive
Stop (stop)Stops the instanceStopped
Terminate (shelve)Terminates the instanceShelved_offloaded
Reboot (soft reboot)Restarts the instanceActive
Hard reboot (hard reboot)Forcefully restarts the instanceActive
Change instance type (resize)Opens a popup to change the instance type-
Delete (delete)Completely deletes the instance-

Instance state and billing

StateDescriptionBilled
ActiveRunning the instanceYes
Shelved_offloadedTerminating the instance and returning resources allocated on the hypervisorNo
StoppedStopping the instance while still allocating resources on the hypervisorYes
ErrorEncountering an error, making the instance unusableNo
BuildingAllocating resources on the hypervisor to create the instanceNo
StartingStarting the configuration of the instanceNo
SchedulingProgressing the scheduling of the instanceNo
Block_device_mappingConfiguring the instance's volumeNo
NetworkingConfiguring the instance's networkNo
SpawningCreating the instanceNo
RebootingBeginning the instance restartYes
Reboot_startedRestarting the instanceYes
Rebooting_hardForce restart of the instance has begunYes
Rebooting_started_hardForce restarting the instanceYes
ShelvingTerminating the instanceYes
UnshelvingRestarting a terminated instanceNo
Powering-offStopping the instanceYes
Powering-onRestarting a stopped instanceYes
Resize_prepPreparing to change the instance typeNo
Resize_migratingMigrating to the target instance typeNo
Resize_migratedCompleting preliminary migration to the target instance typeNo
Resize_finishedCompleting the transition to a new instance type, moving to confirmationNo
ResizedFinishing the instance type transition, deciding on completion or reversalNo
Resize_confirmFinalizing the instance type transitionNo
Resize_revertReverting to the original instance type after cancelling the transitionNo
DeletingWork in progress to completely delete the instanceNo

Configure instance

VMs are the core of cloud services, offering scalability and elasticity, making them an excellent choice for handling volatile workloads. Dynamically start, stop, and delete virtual servers according to business needs.
When using a VM, selecting the instance type is necessary, as this determines the computing resources on which the instance will run. Adjust the scale of the VM's instance. This means you can choose to scale up or scale out according to various situations.

Scale-up means enhancing the performance by increasing the resources of an existing instance. This involves allocating additional CPU, memory, or storage within a single instance to boost processing power. On the other hand, scale-out means distributing the workload by adding new instances. This method increases the number of instances to distribute the load and improve availability. As several instances process tasks in parallel, performance and scalability can be enhanced.

Moreover, VM ensures secure, isolated operation of instances and provides a range of functions and components such as images, block storage, and security groups, all accessible through network settings for availability on the network. Typically, VM instances comprise the following elements:

  • Instance type: The instance type determines the performance and size of the VM, including CPU, memory, network bandwidth, storage, etc. Each instance type is offered at different prices.
  • Operating system: VM instances can run on various operating systems. KakaoCloud primarily supports Windows and Linux operating systems, including Unix and others.
  • Storage type: VM instances can use various types of storage. Generally, they support Block Storage, Object Storage, File Storage, etc.
  • Network: VM instances can be connected to the internet or an internal corporate network. Control network connections by configuring security group, virtual network, IP addresses, etc.

Image

VM uses images to create and provide instances. These images contain the necessary software components, such as operating systems and applications, required to start an instance. You can select an image containing the operating system and applications that suit your requirements and purposes to run an instance. The selected image follows the lifecycle of the instance, and costs are billed according to the instance's usage time.

When selecting an image, it is important to consider the operating system (OS) and applications. There are several image types available, so you should choose the one that best suits your needs. The images provided by KakaoCloud Virtual Machine are:

TypeDescription
Default- Images offered by KakaoCloud, including Linux and Windows images
- Able to access and create instances using these default images
- Able to easily build secure and reliable cloud instances
My Image- Customized images that users create for a specific project
- Able to create a new instance using My image.
info

Create a VM using either the default image provided by KakaoCloud or your own image.

Default images available
CategoryImage
LinuxUbuntu 20.04
Ubuntu 20.04 (GPU)
Ubuntu 22.04
Ubuntu 22.04 (GPU)
Ubuntu24.04
CentOS Stream 9
Rocky Linux 8.10
Rocky Linux 9.4
Alma Linux 8.10
Alma Linux 9.4
WindowsWindows Server 2019
Windows Server 2019 (+ MSSQL 2019)
Windows Server 2022

Volumes

VM instances use an image contained in the root device volume for booting. This root device volume is provided through the Block Storage, and a root volume is automatically created when an instance is created and its settings are completed. You can install operating systems, configure file systems, and run databases on the root volume.

Volumes are spaces where actual data is stored, and Block Storage provides volumes, block storage devices. Through Block Storage, volumes can be created and attached to VM instances, allowing for the installation of operating systems, configuration of file systems, and running databases.

Volume state

Check the following states of volumes in the volume list of Virtual Machine:

Volume stateDescription
CreatingVolume is being created.
AvailableVolume is configured and available for use.
In-useVolume is attached to an instance. (instance is in active, stopped status)
ReservedVolume is attached to an instance. (instance is in shelved_offloaded status)
Attaching / DetachingVolume is in the process of being attached/detached.
ExtendingVolume size is being increased.
Backing-UpSnapshot of the volume is being created.
UploadingSaving to volume after creating an instance as an image.
DeletingVolume is being deleted.
ErrorVolume has encountered an error and cannot be used.

Volume size limit

The volume size limit may vary depending on the image of the selected OS. That is, the image for each operating system has a maximum size that can be allocated to the volume, and this applies differently depending on the operating system. Therefore, it is important to check the volume size limit of the desired operating system in advance and set an appropriate volume size.

ItemSize (GB)
Minimum Size   1
Maximum Size5,120

Key pair

Key pair is credentials used to access VM instances, playing a crucial role in enhancing the access security of instances. A key pair consists of a public key and a private key. Manage the maintenance of key pairs and keep the public and private keys securely.

Typically, the public key is stored and maintained on the cloud platform. Then, whenever a user connects to a specific instance, they undergo an authentication process using the private key. In this way, key pair can restrict access to instances and enhance security. Once a key pair is registered, only that public key can be used. When creating an instance or connecting to an already created instance, a key pair can be created or an existing key pair can be linked.

Manage the private key to minimize issues that may arise from its exposure or loss. That is, the private key should be encrypted rigorously, and it should not be shared or copied for use with others. Moreover, losing or deleting the private key will result in the inability to access the instance.

Network and security

All instances of VM are provided in a VPC. Virtual Private Cloud (VPC) allows the configuration of a virtual private network in the cloud infrastructure, enabling detailed management of instance networking settings and enhanced security. When creating an instance, select a VPC and subnet, and associate a public IP to the instance.

Public IP

A public IP in a cloud infrastructure indicates a public IP address through which an instance or VM can communicate with the internet. You can control whether a specific instance receives a public IP address from the public IP address pool.

The public IP address of an instance is connected to the instance until it is stopped or terminated. If a permanent public IP address is required, a public IP address can be allocated and connected to an instance or network interface. The public IP address remains connected to the account until it is released, and charges continue to apply. Additionally, the assigned public IP address can be changed from one instance to another. In this case, please detach the instance and then attach to a new instance.

IAM-based role management

IAM (Identity and Access Management) provides Role-Based Access Control (RBAC), managing users and groups effectively. This allows for defining roles within a project and assigning access permissions to those roles, enabling efficient management of access to instances.

All VM resources are created and managed as subordinates to a project. Users with project-level permissions (Project Admin and Project Member) can perform creation, modification, deletion, etc., of all resources created within a project. However, only the key pair owner can delete his/her key pair.

IAM helps efficiently manage and secure access to your instances, and ensure the security and stability of your instances through appropriate authorization and control.

PermissionsProject AdminProject MemberProject Reader
Manage project members  ✓              
Associate public IP
Manage instance△(View only)
Manage volume△(View only)
Manage image△(View only)
Manage key pair△(View only)