Configuring Private Locations

Private Locations on your AWS account

A location describes where to start load generators:

  • Public locations are available by default, and listed by regions.
  • Private locations must be configured, and allow you to deploy load generators on your own infrastructure.

Introduction

To configure private locations, you must configure an agent in your infrastructure, called a Control Plane.

This control plane will be in charge of spawning load generators in different locations, based on the configuration you’ll provide.

Infrastructure schema

The control plane will periodically poll our API gateway to find out if a new simulation run has been started using locations handled by this control plane.

If so, it will start new instances (based on the locations configurations) and start the simulation run on them. Those instances will send stats through the API gateway as well.

Control plane configuration

Control plane token

Access the private locations section by clicking on the Private locations in the navigation bar (only visible if the feature is activated on your organization).

Click on create control plane, and fill a unique identifier. (only lowercase, separated by underscores)

Create control plane

On the next modal, make sure to copy the control plane token, you’ll need it later.

Copy control plane token

You can see the control plane you just created under the Control planes tab.

Control Planes table

It’s defined by a unique identifier, a description (provided later on by its configuration) and a status.

The status has three possible values:

  • Uninitialized: the control plane has never contacted the application
  • Up: the control plane is properly configured, has uploaded the names of its configured private locations, and periodically calls the application to fetch new runs.
  • Down: the control plane has been up, but hasn’t called the application for a while.

Control plane deployment

The control plane agent is distributed as a docker image: gatlingcorp/control-plane. It is configured by a file mounted at /app/conf/control-plane.conf.

Example with an AWS location (only supported type at the moment):

control-plane {
  # Control plane token
  token = "cpt_example_c7oze5djp3u14a5xqjanh..."
  # Control plane description (optional)
  description = "my control plane description"
  # Locations configurations
  locations = [
    {
      # Private location ID, must be prefixed by prl_, only lower alpha,
      # numeric, underscores and with a max length of 30 characters
      id = "prl_private_location_example"
      # Private location description (optional)
      description = "Private Location on AWS"
      # Private location type (we only support AWS at the moment)
      type = "aws"
      # Configuration specific to AWS type configuration
      region = "eu-west-1"
      # Certified AMI configuration
      ami = {
        type = "certified"
        java = "17" # Possible values : "8", "11" or 17"
      }
      # Custom AMI configuration (alternative to certified AMI)
      # ami = {
      #   type = "custom"
      #   id = "ami-00000000000000000"
      # }
      # Security groups
      security-groups = ["sg-mysecuritygroup"]
      # Instance type
      instance-type = "c5.xlarge"
      # VPC
      vpc = "vpc-a"
      # Subnets
      subnets = ["subnet-a", "subnet-b"]
      # Profile name (optional)
      # profile-name = ""
      # IAM Instance profile (optional)
      # iam-instance-profile = ""
      # Custom tags
      tags {
       # ExampleKey = ExampleValue
      }
    }
  ]
}

Only control plane and locations ID, description and type are transferred to Gatling Enterprise Cloud.

Managing Control Planes on Gatling Enterprise Cloud

Once configured and running, your control plane status should go Up within a few seconds, details are available by clicking on the button. Tokens can be refreshed by clicking on the button.

Control Planes details

Private locations can be seen in the Locations tab. You can see their relations to their control plane and simulations.

Locations table

They can be deleted if they are neither linked to a control plane that is currently Up nor to any simulation.

Simulation configuration

When configuring a simulation, on the locations step, click on private.

Simulation configuration of private locations

Credit consumption

Private locations consume credits like public locations: one credit, per load generator, per minute.

Edit this page on GitHub