Yandex Cloud
Search
Contact UsGet started
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • AI for business
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
© 2025 Direct Cursus Technology L.L.C.
Yandex Compute Cloud
    • All guides
      • Creating a reserved instance pool
      • Updating a reserved instance pool
      • Deleting a reserved instance pool
      • Managing instances in a pool
    • Viewing service resource operations
    • Viewing metrics in Monitoring
    • NVIDIA driver update guide
  • Yandex Container Solution
  • Access management
  • Pricing policy
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Release notes

In this article:

  • Viewing the list of VMs attached to a pool
  • Creating a new VM attached to a pool
  • Attaching an existing VM to a pool
  • Detaching a VM from a pool
  1. Step-by-step guides
  2. Reserved instance pools
  3. Managing instances in a pool

Managing VMs in a reserved instance pool

Written by
Yandex Cloud
Improved by
Danila N.
Updated at September 8, 2025
  • Viewing the list of VMs attached to a pool
  • Creating a new VM attached to a pool
  • Attaching an existing VM to a pool
  • Detaching a VM from a pool

Warning

Reserved instance pools are billable: you pay for the whole unused volume of reserved computing resources of VMs, GPU clusters, and software accelerated networks according to the Yandex Compute Cloud pricing policy. For more information, see Using reserved instance pools.

The reserved instance pool feature is at the Preview stage.

You can attach both newly created and existing VMs to your reserved instance pools. For more information, see Reserved instance pools.

Viewing the list of VMs attached to a poolViewing the list of VMs attached to a pool

To view the list of VMs attached a reserved instance pool:

CLI
API

If you do not have the Yandex Cloud CLI installed yet, install and initialize it.

By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.

  1. See the description of the Yandex Cloud CLI command for creating a VM:

    yc compute reserved-instance-pool list --help
    
  2. Get a list of reserved instance pools in the default folder:

    yc compute reserved-instance-pool list
    

    Result:

    +----------------------+------------+---------------+------+
    |          ID          |    NAME    |    ZONE ID    | SIZE |
    +----------------------+------------+---------------+------+
    | fv48qa9iiq19******** | test-pool1 | ru-central1-a |    1 |
    | fv42fbsrso94******** | test-pool2 | ru-central1-a |    1 |
    +----------------------+------------+---------------+------+
    
  3. View the list of VMs attached to a pool by specifying its name or ID:

    yc compute reserved-instance-pool list-instances <pool_name_or_ID>
    

    Result:

    +----------------------+-------------------+---------------+---------+----------------+-------------+
    |          ID          |       NAME        |    ZONE ID    | STATUS  |  EXTERNAL IP   | INTERNAL IP |
    +----------------------+-------------------+---------------+---------+----------------+-------------+
    | fv4mkphl5q09******** | my-sample-pool-vm | ru-central1-a | RUNNING | 158.160.***.** | 192.168.3.8 |
    | fv4mfp4fj6f0******** | my-second-pool-vm | ru-central1-a | RUNNING | 158.165.***.** | 192.168.3.12 |
    +----------------------+-------------------+---------------+---------+----------------+-------------+
    

Use the ListInstances REST API method for the ReservedInstancePool resource or the ReservedInstancePoolService/ListInstances gRPC API call and provide the pool ID in the reservedInstancePoolId field (or reserved_instance_pool_id for gRPC API).

Creating a new VM attached to a poolCreating a new VM attached to a pool

To create a new VM in a reserved instance pool:

CLI
API

If you do not have the Yandex Cloud CLI installed yet, install and initialize it.

By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.

  1. See the description of the Yandex Cloud CLI command for creating a VM:

    yc compute instance create --help
    
  2. Get a list of reserved instance pools in the default folder:

    yc compute reserved-instance-pool list
    

    Result:

    +----------------------+------------+---------------+------+
    |          ID          |    NAME    |    ZONE ID    | SIZE |
    +----------------------+------------+---------------+------+
    | fv48qa9iiq19******** | test-pool1 | ru-central1-a |    1 |
    | fv42fbsrso94******** | test-pool2 | ru-central1-a |    1 |
    +----------------------+------------+---------------+------+
    
  3. Create a VM in the reserved instance pool:

    yc compute instance create \
      --name <VM_name> \
      --zone <availability_zone_ID> \
      --reserved-instance-pool-id <pool_ID> \
      --network-interface subnet-name=<subnet_name>,nat-ip-version=ipv4 \
      --create-boot-disk image-folder-id=standard-images,image-id=<image_ID> \
      --ssh-key <path_to_SSH_key>
    

    Where:

    • --name: Name of the new VM. Follow these naming requirements:

      • It must be from 2 to 63 characters long.
      • It can only contain lowercase Latin letters, numbers, and hyphens.
      • It must start with a letter and cannot end with a hyphen.
    • --zone: ID of the availability zone for the new VM. The VM availability zone must be the same as the pool availability zone.

    • --reserved-instance-pool-id: ID of the pool you are creating the VM in.

      Instead of ID, you can provide the pool's name in the --reserved-instance-pool-name parameter.

    • --network-interface: VM network interface settings:

      • subnet-name: Name of the subnet in the same availability zone of the VM and the pool.
      • nat-ip-version=ipv4: Public IP address. To create a VM without a public IP address, omit this parameter.
    • --create-boot-disk: VM boot disk settings:

      • image-id: VM boot disk image ID, e.g., Ubuntu 24.04 LTS image ID.
    • --ssh-key: Path to the public SSH key file, e.g., ~/.ssh/id_ed25519.pub. The VM will automatically create a user named yc-user for this key.

      When creating a VM from a Yandex Cloud Marketplace public image, make sure to provide an SSH key, as SSH access with a username and password is disabled by default for such images.

    Result:
    done (34s)
    id: fv4fjf9qbt57********
    folder_id: b1gt6g8ht345********
    created_at: "2025-05-07T07:46:34Z"
    name: the-first-pool-vm
    zone_id: ru-central1-a
    platform_id: standard-v2
    resources:
      memory: "2147483648"
      cores: "2"
      core_fraction: "100"
    status: RUNNING
    metadata_options:
      gce_http_endpoint: ENABLED
      aws_v1_http_endpoint: ENABLED
      gce_http_token: ENABLED
      aws_v1_http_token: DISABLED
    boot_disk:
      mode: READ_WRITE
      device_name: fv4v5k7u3g3n********
      auto_delete: true
      disk_id: fv4v5k7u3g3n********
    network_interfaces:
      - index: "0"
        mac_address: d0:0d:f9:bd:3a:5f
        subnet_id: fl8dmq91iruu********
        primary_v4_address:
          address: 192.168.7.7
          one_to_one_nat:
            address: 158.160.***.**
            ip_version: IPV4
    serial_port_settings:
      ssh_authorization: OS_LOGIN
    gpu_settings: {}
    fqdn: fv4fjf9qbt57********.auto.internal
    scheduling_policy: {}
    network_settings:
      type: STANDARD
    placement_policy: {}
    hardware_generation:
      legacy_features:
        pci_topology: PCI_TOPOLOGY_V1
    reserved_instance_pool_id: fv4k96kv52t7********
    
  4. Make sure the VM was attached to the pool.

For more information about the yc compute instance create command, see the Yandex Cloud CLI reference.

Use the create REST API method for the Instance resource or the InstanceService/Create gRPC API call, with the pool ID in the reservedInstancePoolId field (for gRPC API, reserved_instance_pool_id).

Attaching an existing VM to a poolAttaching an existing VM to a pool

To attach an existing VM to a reserved instance pool:

CLI
API

If you do not have the Yandex Cloud CLI installed yet, install and initialize it.

By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.

  1. See the description of the Yandex Cloud CLI command for updating a VM:

    yc compute instance update --help
    
  2. Get a list of reserved instance pools in the default folder:

    yc compute reserved-instance-pool list
    

    Result:

    +----------------------+------------+---------------+------+
    |          ID          |    NAME    |    ZONE ID    | SIZE |
    +----------------------+------------+---------------+------+
    | fv48qa9iiq19******** | test-pool1 | ru-central1-a |    1 |
    | fv42fbsrso94******** | test-pool2 | ru-central1-a |    1 |
    +----------------------+------------+---------------+------+
    
  3. Get a list of VMs in the default folder:

    yc compute instance list
    

    Result:

    +----------------------+-----------------+---------------+---------+----------------------+
    |          ID          |       NAME      |    ZONE ID    | STATUS  |     DESCRIPTION      |
    +----------------------+-----------------+---------------+---------+----------------------+
    | fhm0b28lgfp4******** | first-instance  | ru-central1-a | RUNNING | my first vm via CLI  |
    | fhm9gk85nj7g******** | second-instance | ru-central1-a | RUNNING | my second vm via CLI |
    +----------------------+-----------------+---------------+---------+----------------------+
    
  4. Attach the VM to the reserved instance pool of your choice:

    Note

    You cannot attach a VM to a reserved instance pool if its hardware configuration (platform, vCPU, RAM) is different from that specified in the reserved instance pool settings.

    yc compute instance update \
      --id <VM_ID> \
      --reserved-instance-pool-id <pool_ID>
    

    Where:

    • --id: VM ID.

      Instead of the ID, you can specify the VM name in the --name parameter.

    • --reserved-instance-pool-id: ID of the pool you are attaching the VM to.

      Instead of ID, you can provide the pool's name in the --reserved-instance-pool-name parameter.

    Result:
    done (2s)
    id: fhm0b28lgfp4********
    folder_id: b1gt6g8ht345********
    created_at: "2025-05-07T09:46:04Z"
    name: first-instance
    zone_id: ru-central1-a
    platform_id: standard-v2
    resources:
      memory: "2147483648"
      cores: "2"
      core_fraction: "100"
    status: RUNNING
    metadata_options:
      gce_http_endpoint: ENABLED
      aws_v1_http_endpoint: ENABLED
      gce_http_token: ENABLED
      aws_v1_http_token: DISABLED
    boot_disk:
      mode: READ_WRITE
      device_name: fv45psom2l6o********
      auto_delete: true
      disk_id: fv45psom2l6o********
    network_interfaces:
      - index: "0"
        mac_address: d0:0d:cb:b5:9e:bf
        subnet_id: fl8dmq91iruu********
        primary_v4_address:
          address: 192.168.7.5
          one_to_one_nat:
            address: 158.160.***.**
            ip_version: IPV4
    serial_port_settings:
      ssh_authorization: OS_LOGIN
    gpu_settings: {}
    fqdn: fv4cndcunukt********.auto.internal
    scheduling_policy: {}
    network_settings:
      type: STANDARD
    placement_policy: {}
    hardware_generation:
      legacy_features:
        pci_topology: PCI_TOPOLOGY_V1
    reserved_instance_pool_id: fv48qa9iiq19********
    
  5. Make sure the VM was attached to the pool.

For more information about the yc compute instance update command, see the Yandex Cloud CLI reference.

Use the update REST API method for the Instance resource or the InstanceService/Update gRPC API call, with the pool ID in the reservedInstancePoolId field (for gRPC API, reserved_instance_pool_id).

Detaching a VM from a poolDetaching a VM from a pool

To detach a VM from a reserved instance pool:

CLI
API

If you do not have the Yandex Cloud CLI installed yet, install and initialize it.

By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.

  1. See the description of the Yandex Cloud CLI command for updating a VM:

    yc compute instance update --help
    
  2. Get a list of reserved instance pools in the default folder:

    yc compute reserved-instance-pool list
    

    Result:

    +----------------------+------------+---------------+------+
    |          ID          |    NAME    |    ZONE ID    | SIZE |
    +----------------------+------------+---------------+------+
    | fv48qa9iiq19******** | test-pool1 | ru-central1-a |    1 |
    | fv42fbsrso94******** | test-pool2 | ru-central1-a |    1 |
    +----------------------+------------+---------------+------+
    
  3. Get a list of VMs in the pool by specifying its name or ID:

    yc compute reserved-instance-pool list-instances <pool_name_or_ID>
    

    Result:

    +----------------------+-------------------+---------------+---------+----------------+-------------+
    |          ID          |       NAME        |    ZONE ID    | STATUS  |  EXTERNAL IP   | INTERNAL IP |
    +----------------------+-------------------+---------------+---------+----------------+-------------+
    | fv4mkphl5q09******** | my-sample-pool-vm | ru-central1-a | RUNNING | 158.160.***.** | 192.168.3.8 |
    | fv4mfp4fj6f0******** | my-second-pool-vm | ru-central1-a | RUNNING | 158.165.***.** | 192.168.3.12 |
    +----------------------+-------------------+---------------+---------+----------------+-------------+
    
  4. Detach the VM from the specified reserved instance pool:

    yc compute instance update \
      --id <VM_ID> \
      --reserved-instance-pool-id ""
    

    Where:

    • --id: VM ID.

      Instead of the ID, you can specify the VM name in the --name parameter.

    Result:
    done (5s)
    id: fv4fjf9qbt57********
    folder_id: b1gt6g8ht345********
    created_at: "2025-05-07T07:46:34Z"
    name: first-instance
    zone_id: ru-central1-a
    platform_id: standard-v2
    resources:
      memory: "2147483648"
      cores: "2"
      core_fraction: "100"
    status: RUNNING
    metadata_options:
      gce_http_endpoint: ENABLED
      aws_v1_http_endpoint: ENABLED
      gce_http_token: ENABLED
      aws_v1_http_token: DISABLED
    boot_disk:
      mode: READ_WRITE
      device_name: fv4v5k7u3g3n********
      auto_delete: true
      disk_id: fv4v5k7u3g3n********
    network_interfaces:
      - index: "0"
        mac_address: d0:0d:f9:bd:3a:5f
        subnet_id: fl8dmq91iruu********
        primary_v4_address:
          address: 192.168.7.7
          one_to_one_nat:
            address: 158.160.***.**
            ip_version: IPV4
    serial_port_settings:
      ssh_authorization: OS_LOGIN
    gpu_settings: {}
    fqdn: fv4fjf9qbt57********.auto.internal
    scheduling_policy: {}
    network_settings:
      type: STANDARD
    placement_policy: {}
    hardware_generation:
      legacy_features:
        pci_topology: PCI_TOPOLOGY_V1
    
  5. Make sure the VM was detached from the pool.

For more information about the yc compute instance update command, see the Yandex Cloud CLI reference.

Use the update REST API method for the Instance resource or the InstanceService/Update gRPC API call, with an empty string in the reservedInstancePoolId field (for gRPC API, reserved_instance_pool_id).

See alsoSee also

  • Creating a reserved instance pool
  • Updating a reserved instance pool
  • Reserved instance pools

Was the article helpful?

Previous
Deleting a reserved instance pool
Next
Creating a GPU cluster
© 2025 Direct Cursus Technology L.L.C.