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
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
  • Blog
  • Pricing
  • Documentation
Yandex project
© 2025 Yandex.Cloud LLC
Yandex Load Testing
  • Getting started
    • All guides
    • Creating a test agent
    • Configuring test agent security groups
    • Configuring test target security groups
    • Creating a test with data from a bucket
    • Exporting test reports
    • Collecting user requests using Dispatcher
    • Creating and configuring a regression dashboard
    • Checking regression metrics for exceeded thresholds
    • Saving test artifacts to Object Storage
    • Viewing operations with resources
  • Access management
  • Pricing policy
  • Terraform reference
  • Audit Trails events
  • Release notes

In this article:

  • Preparing an infrastructure
  • Creating a test agent
  1. Step-by-step guides
  2. Creating a test agent

Creating a test agent

Written by
Yandex Cloud
Updated at May 5, 2025
  • Preparing an infrastructure
  • Creating a test agent

Preparing an infrastructurePreparing an infrastructure

  1. Create a service account for test agent:

    1. Create a service account named sa-loadtest in the folder to host the agent that will generate the load.
    2. Assign the following roles to the service account:
      • loadtesting.generatorClient: Allows running the agent, performing tests on the agent, and uploading the results to storage.
      • compute.admin: Allows managing VMs in Compute Cloud.
      • vpc.user: Allows connecting to Virtual Private Cloud network resources and using them.
  2. Set up the test agent's security group.

Creating a test agentCreating a test agent

  1. If you do not have an SSH key pair yet, create one.

  2. Create an agent.

    Management console
    CLI
    1. In the management console, select the folder where you want to create the agent.

    2. From the list of services, select Load Testing.

    3. In the Agents tab, click Create agent.

    4. Enter a name for the agent, e.g., agent-008.

    5. Specify the same availability zone where the test target is located.

    6. Under Agent:

      • Select the appropriate agent type. For more information, see Agent performance.
      • Specify the subnet where the test target is located. Make sure you created and set up a NAT gateway in the subnet.
      • If security groups are available to you, select a security group preset for the agent.
    7. Under Access, specify the information required to access the agent:

      • Select the sa-loadtest service account.

      • Under Login, enter a username.

        Alert

        Do not use root or other reserved usernames. To perform operations requiring root privileges, use the sudo command.

      • In the SSH key field, paste the contents of the public key file.

    8. Click Create.

    9. Wait for the VM instance to create. Make sure the agent status has changed to Ready for test.

      Note

      If the agent creation process has stopped at Initializing connection, make sure the following conditions are met:

      • The agent has a public IP address and access to loadtesting.api.cloud.yandex.net:443.
      • A NAT gateway is set up in the target subnet.
      • The service account assigned to the agent has the required roles.

    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. See the description of the CLI command for creating an agent:

      yc loadtesting agent create --help
      
    2. Select the same availability zone where the test target is located.

    3. Select the subnet where the test target is located. Make sure you created and set up a NAT gateway in the subnet.

      To get a list of available subnets using the CLI, run this command:

      yc vpc subnet list
      

      Result:

      +----------------------+---------------------------+----------------------+----------------+-------------------+-----------------+
      |          ID          |           NAME            |      NETWORK ID      | ROUTE TABLE ID |       ZONE        |      RANGE      |
      +----------------------+---------------------------+----------------------+----------------+-------------------+-----------------+
      | e2lfkhps7bol******** |   default-ru-central1-b   | enpnf7hajqmd******** |                |   ru-central1-b   | [10.129.0.0/24] |
      | e9bgnq1bggfa******** |   default-ru-central1-a   | enpnf7hajqmd******** |                |   ru-central1-a   | [10.128.0.0/24] |
      | fl841n5ilklr******** |   default-ru-central1-d   | enpnf7hajqmd******** |                |   ru-central1-d   | [10.130.0.0/24] |
      +----------------------+---------------------------+----------------------+----------------+-------------------+-----------------+
      
    4. Select the security group. Make sure to configure the security group in advance.

      To get a list of available security groups using the CLI, run this command:

      yc vpc security-group list
      

      Result:

      +----------------------+---------------------------------+--------------------------------+----------------------+
      |          ID          |              NAME               |          DESCRIPTION           |      NETWORK-ID      |
      +----------------------+---------------------------------+--------------------------------+----------------------+
      | enp414a2tnnp******** | default-sg-enpnf7hajqmd******** | Default security group for     | enpnf7hajqmd******** |
      |                      |                                 | network                        |                      |
      | enpctpve7951******** | sg-load-testing-agents          |                                | enpnf7hajqmd******** |
      | enpufo9ms0gi******** | sg-load-testing-targets         |                                | enpnf7hajqmd******** |
      +----------------------+---------------------------------+--------------------------------+----------------------+
      
    5. Find out the sa-loadtest service account ID using its name:

      yc iam service-account get sa-loadtest
      

      Result:

      id: ajespasg04oc********
      folder_id: b1g85uk96h3f********
      created_at: "2024-12-04T17:38:57Z"
      name: sa-loadtest
      last_authenticated_at: "2024-12-12T19:10:00Z"
      
    6. Create an agent in the default folder:

      yc loadtesting agent create \
        --name agent-008 \
        --labels origin=default,label-key=label-value \
        --zone default-ru-central1-a \
        --network-interface subnet-id=e9bgnq1bggfa********,security-group-ids=enpctpve7951******** \
        --cores 2 \
        --memory 2G \
        --service-account-id ajespasg04oc********
        --metadata-from-file user-data=metadata.yaml
      

      Where:

      • --name: Agent name.
      • --labels: Agent labels.
      • --zone: Availability zone to host the agent.
      • --network-interface: Agent network interface settings:
        • subnet-name: ID of the selected subnet.
        • security-group-ids: Security group IDs.
      • --cores: Number of CPU cores the agent can use.
      • --memory: Amount of RAM allocated to the agent.
      • --service-account-id: Service account ID.
      • --metadata-from-file: <key>=<value> pair with the name of the file containing the public SSH key path. For an example of the metadata.yaml configuration file, see VM metadata.

      For more information on how to create an agent with CLI, see the Yandex Cloud Examples repository.

  3. Assign a public IP to the agent to enable access over SSH:

    Management console
    CLI
    1. In the management console, select the folder where the agent is located.
    2. Select Compute Cloud.
    3. Select the VM named agent-008.
    4. Under Network interface, in the top-right corner, click and select Add public IP address.
    5. In the window that opens:
      • In the Public address field, select obtaining a Auto address.
      • Click Add.

    To assign a public IP address to an agent, run the following CLI command:

    yc compute instance add-one-to-one-nat \
      --id=<VM_ID> \
      --network-interface-index=<VM_network_interface_number> \
      --nat-address=<IP_address>
    

    Where:

    • --id: VM ID. You can get a list of available VM IDs in a folder using the yc compute instance list CLI command.

    • --network-interface-index: VM network interface number. The default value is 0. To get a list of VM network interfaces and their numbers, run the following command: yc compute instance get <VM_ID>.

    • --nat-address: Public IP address to assign to the VM. This is an optional parameter. If you omit it, a public IP address will be assigned to the VM automatically.

      You can get a list of reserved public IP addresses available in a folder using the yc vpc address list CLI command. The IP address and the VM must be in the same availability zone.

    Usage example:

    yc compute instance add-one-to-one-nat \
      --id=fhmsbag62taf******** \
      --network-interface-index=0 \
      --nat-address=51.250.*.***
    

    Result:

    id: fhmsbag62taf********
    folder_id: b1gv87ssvu49********
    created_at: "2022-05-06T10:41:56Z"
    ...
    network_settings:
      type: STANDARD
    placement_policy: {}
    

    For more information about the yc compute instance add-one-to-one-nat command, see the CLI reference.

Was the article helpful?

Previous
All guides
Next
Configuring test agent security groups
Yandex project
© 2025 Yandex.Cloud LLC