Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
    • Yandex Cloud Partner program
  • Blog
  • Pricing
  • Documentation
© 2025 Direct Cursus Technology L.L.C.
Yandex Compute Cloud
    • All guides
      • Creating a placement group
      • Deleting a placement group
      • Creating a VM in a placement group
      • Creating an instance group in a placement group
      • Adding a VM to a placement group
      • Removing a VM from a placement group
      • Getting information about a placement group
      • Removing an instance group from a placement group
      • Configuring VM placement group access permissions
    • Viewing operations with resources
  • Yandex Container Solution
  • Access management
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Release notes
  1. Step-by-step guides
  2. Placement groups
  3. Adding a VM to a placement group

Adding a VM to a placement group

Written by
Yandex Cloud
Updated at May 5, 2025

Add an existing VM to a placement group.

You can manage placement groups with partition placement using the CLI and API.

Management console
CLI
Terraform
API
  1. In the management console, select the folder the placement group belongs to.
  2. In the list of services, select Compute Cloud.
  3. In the left-hand panel, select Placement groups.
  4. Go to the Virtual machine placement groups tab.
  5. Select the placement group to add a VM to.
  6. Go to the Virtual machines panel.
  7. In the top-right corner, click Add VM.
  8. In the window that opens, select the VM and click Add.

Note

You can only add a VM with the stopped status to a placement group.

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

The folder specified when creating the CLI profile is used by default. To change the default folder, use the yc config set folder-id <folder_ID> command. You can specify a different folder using the --folder-name or --folder-id parameter.

  1. Create a VM:

    yc compute instance create \
      --zone ru-central1-a \
      --name instance-in-group-2
    

    Where:

    • --zone: Availability zone for the VM.
    • --name: VM name.

    Result:

    id: epdlv1pp5401********
    ...
    
  2. View a list of VMs in the placement group:

    yc compute placement-group list-instances \
      --name my-group
    

    Where --name is the placement group name.

    Result:

    +----------------------+---------------------+-------------------+---------+-------------+-------------+
    |          ID          |        NAME         |      ZONE ID      | STATUS  | EXTERNAL IP | INTERNAL IP |
    +----------------------+---------------------+-------------------+---------+-------------+-------------+
    | epdep2kq6dt5******** | instance-in-group-1 |   ru-central1-a   | RUNNING |             | 10.129.0.5  |
    +----------------------+---------------------+-------------------+---------+-------------+-------------+
    
  3. Stop the VM by specifying its name in the command below:

    yc compute instance stop instance-in-group-2
    

    Result:

    id: epdlv1pp5401********
    ...
    status: STOPPED
    
  4. Add the VM to the placement group:

    yc compute instance update \
      --name instance-in-group-2 \
      --placement-group-name my-group \
      --placement-group-partition <partition_number>
    

    Where:

    • --name: VM name.

    • --placement-group-name: Placement group name.

    • --placement-group-partition: Partition number in the placement group with the partition placement strategy.

      Note

      If you do not specify the partition number when adding a VM to a partition placement group, the VM will be added to a random partition.

    Result:

    id: epdlv1pp5401********
    ...
    placement_policy:
      placement_group_id: fd83bv4rnsna********
    
  5. Check that the VM is now in the placement group:

    yc compute placement-group list-instances \
      --name my-group
    

    Where --name is the placement group name.

    Result:

    +----------------------+---------------------+-------------------+---------+-------------+-------------+
    |          ID          |        NAME         |      ZONE ID      | STATUS  | EXTERNAL IP | INTERNAL IP |
    +----------------------+---------------------+-------------------+---------+-------------+-------------+
    | epdep2kq6dt5******** | instance-in-group-1 |   ru-central1-a   | RUNNING |             | 10.129.0.5  |
    | epdlv1pp5401******** | instance-in-group-2 |   ru-central1-a   | STOPPED |             | 10.129.0.30 |
    +----------------------+---------------------+-------------------+---------+-------------+-------------+
    
  6. Start the VM by specifying its name in the command below:

    yc compute instance start instance-in-group-2
    

    Result:

    id: epdlv1pp5401********
    ...
    status: RUNNING
    

With Terraform, you can quickly create a cloud infrastructure in Yandex Cloud and manage it using configuration files. These files store the infrastructure description written in HashiCorp Configuration Language (HCL). If you change the configuration files, Terraform automatically detects which part of your configuration is already deployed, and what should be added or removed.

Terraform is distributed under the Business Source License. The Yandex Cloud provider for Terraform is distributed under the MPL-2.0 license.

For more information about the provider resources, see the documentation on the Terraform website or mirror website.

If you do not have Terraform yet, install it and configure its Yandex Cloud provider.

To add an existing VM to a placement group:

  1. To the configuration file of the existing VM, add the placement_group_id field indicating the yandex_compute_placement_group placement group resource.

    Here is an example of the configuration file structure:

    ...
    resource "yandex_compute_instance" "vm-1" {
      name        = "my-vm"
      platform_id = "standard-v3"
      placement_policy {
        placement_group_id = "${yandex_compute_placement_group.group1.id}"
      }
    }
    
    resource "yandex_compute_placement_group" "group1" {
      name = "test-pg"
    }
    ...
    

    Where placement_group_id is the placement group ID.

    Note

    If you do not specify the partition number when adding a VM to a partition placement group, the VM will be added to a random partition.

    For more information about the resources you can create with Terraform, see the relevant provider documentation.

  2. In the command line, go to the directory with the Terraform configuration file.

  3. Check the configuration using this command:

    terraform validate
    

    If the configuration is correct, you will get this message:

    Success! The configuration is valid.
    
  4. Run this command:

    terraform plan
    

    The terminal will display a list of resources with their parameters. No changes will be made at this step. If the configuration contains any errors, Terraform will point them out.

  5. Apply the configuration changes:

    terraform apply
    
  6. Confirm the changes: type yes into the terminal and press Enter.

    All the resources you need will then be created in the specified folder. You can check that the VM has been added to the placement group using the management console.

Use the update REST API method for the Instance resource or the InstanceService/Update gRPC API call.

See alsoSee also

  • How to create a VM in a placement group

Was the article helpful?

Previous
Creating an instance group in a placement group
Next
Removing a VM from a placement group
© 2025 Direct Cursus Technology L.L.C.