Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex Application Load Balancer
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Целевые группы
      • Создать целевую группу
      • Изменить целевую группу
      • Удалить целевую группу
    • Группы бэкендов
      • Создать группу бэкендов
      • Изменить группу бэкендов
      • Удалить группу бэкендов
    • HTTP-роутеры
      • Создать HTTP-роутер
      • Изменить HTTP-роутер
      • Удалить HTTP-роутер
    • L7-балансировщики
      • Создать L7-балансировщик
      • Изменить L7-балансировщик
      • Посмотреть статистику L7-балансировщика
      • Посмотреть логи L7-балансировщика
      • Получить идентификатор лог-группы L7-балансировщика
      • Остановить и запустить L7-балансировщик
      • Удалить L7-балансировщик
    • Ingress-контроллер для Managed Service for Kubernetes
      • Установить Ingress-контроллер
      • Создать или изменить ресурсы по конфигурации
  • Практические руководства
    • Организация виртуального хостинга
    • Создание балансировщика с защитой от DDoS
    • Интеграция L7-балансировщика с CDN и Object Storage
    • Сине-зеленое и канареечное развертывание версий сервиса
    • Терминирование TLS-соединений
    • Запись логов балансировщика в PostgreSQL
  • Концепции
    • Обзор
    • Балансировщики нагрузки
    • HTTP-роутеры
    • Группы бэкендов
    • Целевые группы
    • Квоты и лимиты
  • Инструменты
    • Ingress Controller для Managed Service for Kubernetes
      • Обзор
      • Принципы работы
      • Группы безопасности
      • Сервисный аккаунт
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • BackendGroupService
      • HttpRouterService
      • LoadBalancerService
      • TargetGroupService
      • VirtualHostService
      • OperationService
    • REST (англ.)
      • Overview
      • BackendGroup
        • Overview
        • addBackend
        • create
        • delete
        • get
        • list
        • listOperations
        • removeBackend
        • update
        • updateBackend
      • HttpRouter
        • Overview
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • LoadBalancer
        • Overview
        • addListener
        • addSniMatch
        • create
        • delete
        • get
        • getTargetStates
        • list
        • listOperations
        • removeListener
        • removeSniMatch
        • start
        • stop
        • update
        • updateListener
        • updateSniMatch
      • TargetGroup
        • Overview
        • addTargets
        • create
        • delete
        • get
        • list
        • listOperations
        • removeTargets
        • update
      • VirtualHost
        • Overview
        • create
        • delete
        • get
        • list
        • removeRoute
        • update
        • updateRoute
  • Справочник Ingress-контроллера
    • Обзор
    • Ingress
    • HttpBackendGroup
    • Service
  • Справочник логов
  1. Справочник API
  2. REST (англ.)
  3. BackendGroup
  4. list

Method list

Статья создана
Yandex Cloud
  • HTTP request
  • Query parameters
  • Response

Lists backend groups in the specified folder.

HTTP request

GET https://alb.api.cloud.yandex.net/apploadbalancer/v1/backendGroups

Query parameters

Parameter Description
folderId Required. ID of the folder to list backend groups in. To get the folder ID, make a list request.
pageSize The maximum number of results per page to return. If the number of available results is larger than page_size, the service returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Default value: 100. Acceptable values are 0 to 1000, inclusive.
pageToken Page token. To get the next page of results, set page_token to the nextPageToken returned by a previous list request. The maximum string length in characters is 100.
filter A filter expression that filters backend groups listed in the response. The expression must specify: 1. The field name. Currently you can use filtering only on BackendGroup.name field. 2. An = operator. 3. The value in double quotes ("). Must be 3-63 characters long and match the regular expression [a-z][-a-z0-9]{1,61}[a-z0-9]. Example of a filter: name=my-backend-group. The maximum string length in characters is 1000.

Response

HTTP Code: 200 - OK

{
  "backendGroups": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "folderId": "string",
      "labels": "object",
      "createdAt": "string",

      // `backendGroups[]` includes only one of the fields `http`, `grpc`, `stream`
      "http": {
        "backends": [
          {
            "name": "string",
            "backendWeight": "integer",
            "loadBalancingConfig": {
              "panicThreshold": "string",
              "localityAwareRoutingPercent": "string",
              "strictLocality": true,
              "mode": "string"
            },
            "port": "string",
            "healthchecks": [
              {
                "timeout": "string",
                "interval": "string",
                "intervalJitterPercent": "number",
                "healthyThreshold": "string",
                "unhealthyThreshold": "string",
                "healthcheckPort": "string",

                // `backendGroups[].http.backends[].healthchecks[]` includes only one of the fields `plaintext`, `tls`
                "stream": {
                  "send": {
                    "text": "string"
                  },
                  "receive": {
                    "text": "string"
                  }
                },
                "http": {
                  "host": "string",
                  "path": "string",
                  "useHttp2": true
                },
                "grpc": {
                  "serviceName": "string"
                },
                // end of the list of possible fields`backendGroups[].http.backends[].healthchecks[]`

                "plaintext": {},
                "tls": {
                  "sni": "string",
                  "validationContext": {

                    // `backendGroups[].http.backends[].healthchecks[].tls.validationContext` includes only one of the fields `trustedCaId`, `trustedCaBytes`
                    "trustedCaId": "string",
                    "trustedCaBytes": "string",
                    // end of the list of possible fields`backendGroups[].http.backends[].healthchecks[].tls.validationContext`

                  }
                }
              }
            ],
            "tls": {
              "sni": "string",
              "validationContext": {

                // `backendGroups[].http.backends[].tls.validationContext` includes only one of the fields `trustedCaId`, `trustedCaBytes`
                "trustedCaId": "string",
                "trustedCaBytes": "string",
                // end of the list of possible fields`backendGroups[].http.backends[].tls.validationContext`

              }
            },
            "useHttp2": true,

            // `backendGroups[].http.backends[]` includes only one of the fields `targetGroups`, `storageBucket`
            "targetGroups": {
              "targetGroupIds": [
                "string"
              ]
            },
            "storageBucket": {
              "bucket": "string"
            },
            // end of the list of possible fields`backendGroups[].http.backends[]`

          }
        ],

        // `backendGroups[].http` includes only one of the fields `connection`, `header`, `cookie`
        "connection": {
          "sourceIp": true
        },
        "header": {
          "headerName": "string"
        },
        "cookie": {
          "name": "string",
          "ttl": "string"
        },
        // end of the list of possible fields`backendGroups[].http`

      },
      "grpc": {
        "backends": [
          {
            "name": "string",
            "backendWeight": "integer",
            "loadBalancingConfig": {
              "panicThreshold": "string",
              "localityAwareRoutingPercent": "string",
              "strictLocality": true,
              "mode": "string"
            },
            "port": "string",
            "healthchecks": [
              {
                "timeout": "string",
                "interval": "string",
                "intervalJitterPercent": "number",
                "healthyThreshold": "string",
                "unhealthyThreshold": "string",
                "healthcheckPort": "string",

                // `backendGroups[].grpc.backends[].healthchecks[]` includes only one of the fields `plaintext`, `tls`
                "stream": {
                  "send": {
                    "text": "string"
                  },
                  "receive": {
                    "text": "string"
                  }
                },
                "http": {
                  "host": "string",
                  "path": "string",
                  "useHttp2": true
                },
                "grpc": {
                  "serviceName": "string"
                },
                // end of the list of possible fields`backendGroups[].grpc.backends[].healthchecks[]`

                "plaintext": {},
                "tls": {
                  "sni": "string",
                  "validationContext": {

                    // `backendGroups[].grpc.backends[].healthchecks[].tls.validationContext` includes only one of the fields `trustedCaId`, `trustedCaBytes`
                    "trustedCaId": "string",
                    "trustedCaBytes": "string",
                    // end of the list of possible fields`backendGroups[].grpc.backends[].healthchecks[].tls.validationContext`

                  }
                }
              }
            ],
            "tls": {
              "sni": "string",
              "validationContext": {

                // `backendGroups[].grpc.backends[].tls.validationContext` includes only one of the fields `trustedCaId`, `trustedCaBytes`
                "trustedCaId": "string",
                "trustedCaBytes": "string",
                // end of the list of possible fields`backendGroups[].grpc.backends[].tls.validationContext`

              }
            },
            "targetGroups": {
              "targetGroupIds": [
                "string"
              ]
            }
          }
        ],

        // `backendGroups[].grpc` includes only one of the fields `connection`, `header`, `cookie`
        "connection": {
          "sourceIp": true
        },
        "header": {
          "headerName": "string"
        },
        "cookie": {
          "name": "string",
          "ttl": "string"
        },
        // end of the list of possible fields`backendGroups[].grpc`

      },
      "stream": {
        "backends": [
          {
            "name": "string",
            "backendWeight": "integer",
            "loadBalancingConfig": {
              "panicThreshold": "string",
              "localityAwareRoutingPercent": "string",
              "strictLocality": true,
              "mode": "string"
            },
            "port": "string",
            "healthchecks": [
              {
                "timeout": "string",
                "interval": "string",
                "intervalJitterPercent": "number",
                "healthyThreshold": "string",
                "unhealthyThreshold": "string",
                "healthcheckPort": "string",

                // `backendGroups[].stream.backends[].healthchecks[]` includes only one of the fields `plaintext`, `tls`
                "stream": {
                  "send": {
                    "text": "string"
                  },
                  "receive": {
                    "text": "string"
                  }
                },
                "http": {
                  "host": "string",
                  "path": "string",
                  "useHttp2": true
                },
                "grpc": {
                  "serviceName": "string"
                },
                // end of the list of possible fields`backendGroups[].stream.backends[].healthchecks[]`

                "plaintext": {},
                "tls": {
                  "sni": "string",
                  "validationContext": {

                    // `backendGroups[].stream.backends[].healthchecks[].tls.validationContext` includes only one of the fields `trustedCaId`, `trustedCaBytes`
                    "trustedCaId": "string",
                    "trustedCaBytes": "string",
                    // end of the list of possible fields`backendGroups[].stream.backends[].healthchecks[].tls.validationContext`

                  }
                }
              }
            ],
            "tls": {
              "sni": "string",
              "validationContext": {

                // `backendGroups[].stream.backends[].tls.validationContext` includes only one of the fields `trustedCaId`, `trustedCaBytes`
                "trustedCaId": "string",
                "trustedCaBytes": "string",
                // end of the list of possible fields`backendGroups[].stream.backends[].tls.validationContext`

              }
            },
            "enableProxyProtocol": true,
            "targetGroups": {
              "targetGroupIds": [
                "string"
              ]
            }
          }
        ],
        "connection": {
          "sourceIp": true
        }
      },
      // end of the list of possible fields`backendGroups[]`

    }
  ],
  "nextPageToken": "string"
}
Field Description
backendGroups[] object

A backend group resource. For details about the concept, see documentation.

backendGroups[].
id
string

ID of the backend group. Generated at creation time.

backendGroups[].
name
string

Name of the backend group. The name is unique within the folder. The string length in characters is 3-63.

backendGroups[].
description
string

Description of the backend group. The string is 0-256 characters long.

backendGroups[].
folderId
string

ID of the folder that the backend group belongs to.

backendGroups[].
labels
object

Backend group labels as key:value pairs. For details about the concept, see documentation. The maximum number of labels is 64.

backendGroups[].
createdAt
string (date-time)

Creation timestamp.

String in RFC3339 text format.

backendGroups[].
http
object
List of HTTP backends that the backend group consists of.
backendGroups[] includes only one of the fields http, grpc, stream

An HTTP backend group resource.

backendGroups[].
http.
backends[]
object
HTTP backend to add to the backend group.

An HTTP backend resource.

backendGroups[].
http.
backends[].
name
string

Required. Name of the backend.

Value must match the regular expression [a-z][-a-z0-9]{1,61}[a-z0-9].

backendGroups[].
http.
backends[].
backendWeight
integer (int64)

Backend weight. Traffic is distributed between backends of a backend group according to their weights.

Weights must be set either for all backends in a group or for none of them. Setting no weights is the same as setting equal non-zero weights for all backends.

If the weight is non-positive, traffic is not sent to the backend.

backendGroups[].
http.
backends[].
loadBalancingConfig
object
Load balancing configuration for the backend.

A load balancing configuration resource.

backendGroups[].
http.
backends[].
loadBalancingConfig.
panicThreshold
string (int64)

Threshold for panic mode.

If percentage of healthy backends in the group drops below threshold, panic mode will be activated and traffic will be routed to all backends, regardless of their health check status. This helps to avoid overloading healthy backends. For details about panic mode, see documentation.

If the value is 0, panic mode will never be activated and traffic is routed only to healthy backends at all times.

Default value: 0.

Acceptable values are 0 to 100, inclusive.

backendGroups[].
http.
backends[].
loadBalancingConfig.
localityAwareRoutingPercent
string (int64)

Percentage of traffic that a load balancer node sends to healthy backends in its availability zone. The rest is divided equally between other zones. For details about zone-aware routing, see documentation.

If there are no healthy backends in an availability zone, all the traffic is divided between other zones.

If strictLocality is true, the specified value is ignored. A load balancer node sends all the traffic within its availability zone, regardless of backends' health.

Default value: 0.

Acceptable values are 0 to 100, inclusive.

backendGroups[].
http.
backends[].
loadBalancingConfig.
strictLocality
boolean (boolean)

Specifies whether a load balancer node should only send traffic to backends in its availability zone, regardless of their health, and ignore backends in other zones.

If set to true and there are no healthy backends in the zone, the node in this zone will respond to incoming traffic with errors. For details about strict locality, see documentation.

If strict_locality is true, the value specified in localityAwareRoutingPercent is ignored.

Default value: false.

backendGroups[].
http.
backends[].
loadBalancingConfig.
mode
string

Load balancing mode for the backend.

For details about load balancing modes, see documentation.

A load balancing mode resource. For details about the concept, see documentation.

  • ROUND_ROBIN: Round robin load balancing mode.

All endpoints of the backend take their turns to receive requests attributed to the backend.

  • RANDOM: Random load balancing mode. Default value.

For a request attributed to the backend, an endpoint that receives it is picked at random.

  • LEAST_REQUEST: Least request load balancing mode.

To pick an endpoint that receives a request attributed to the backend, the power of two choices algorithm is used; that is, two endpoints are picked at random, and the request is sent to the one which has the fewest active requests.

  • MAGLEV_HASH: Maglev hashing load balancing mode.

Each endpoint is hashed, and a hash table with 65537 rows is filled accordingly, so that every endpoint occupies the same amount of rows. An attribute of each request is also hashed by the same function (if session affinity is enabled for the backend group, the attribute to hash is specified in session affinity configuration). The row with the same number as the resulting value is looked up in the table to determine the endpoint that receives the request.

If the backend group with session affinity enabled contains more than one backend with positive weight, endpoints for backends with MAGLEV_HASH load balancing mode are picked at RANDOM instead.

backendGroups[].
http.
backends[].
port
string (int64)

Port used by all targets to receive traffic.

Acceptable values are 0 to 65535, inclusive.

backendGroups[].
http.
backends[].
healthchecks[]
object

A health check resource. For details about the concept, see documentation.

backendGroups[].
http.
backends[].
healthchecks[].
timeout
string

Required. Health check timeout.

The timeout is the time allowed for the target to respond to a check. If the target doesn't respond in time, the check is considered failed.

backendGroups[].
http.
backends[].
healthchecks[].
interval
string

Required. Base interval between consecutive health checks.

backendGroups[].
http.
backends[].
healthchecks[].
intervalJitterPercent
number (double)
backendGroups[].
http.
backends[].
healthchecks[].
healthyThreshold
string (int64)

Number of consecutive successful health checks required to mark an unhealthy target as healthy.

Both 0 and 1 values amount to one successful check required.

The value is ignored when a load balancer is initialized; a target is marked healthy after one successful check.

Default value: 0.

backendGroups[].
http.
backends[].
healthchecks[].
unhealthyThreshold
string (int64)

Number of consecutive failed health checks required to mark a healthy target as unhealthy.

Both 0 and 1 values amount to one unsuccessful check required.

The value is ignored if a health check is failed due to an HTTP 503 Service Unavailable response from the target (not applicable to TCP stream health checks). The target is immediately marked unhealthy.

Default value: 0.

backendGroups[].
http.
backends[].
healthchecks[].
healthcheckPort
string (int64)

Port used for health checks.

If not specified, the backend port (port or port) is used for health checks.

Acceptable values are 0 to 65535, inclusive.

backendGroups[].
http.
backends[].
healthchecks[].
stream
object
TCP stream health check settings.
backendGroups[].http.backends[].healthchecks[] includes only one of the fields stream, http, grpc

A resource for TCP stream health check settings.

backendGroups[].
http.
backends[].
healthchecks[].
stream.
send
object

Message sent to targets during TCP data transfer.

If not specified, no data is sent to the target.

A health check payload resource.

backendGroups[].
http.
backends[].
healthchecks[].
stream.
send.
text
string

Payload text.

The string length in characters must be greater than 0.

backendGroups[].
http.
backends[].
healthchecks[].
stream.
receive
object

Data that must be contained in the messages received from targets for a successful health check.

If not specified, no messages are expected from targets, and those that are received are not checked.

A health check payload resource.

backendGroups[].
http.
backends[].
healthchecks[].
stream.
receive.
text
string

Payload text.

The string length in characters must be greater than 0.

backendGroups[].
http.
backends[].
healthchecks[].
http
object
HTTP health check settings.
backendGroups[].http.backends[].healthchecks[] includes only one of the fields stream, http, grpc

A resource for HTTP health check settings.

backendGroups[].
http.
backends[].
healthchecks[].
http.
host
string

Value for the HTTP/1.1 Host header or the HTTP/2 :authority pseudo-header used in requests to targets.

backendGroups[].
http.
backends[].
healthchecks[].
http.
path
string

Required. HTTP path used in requests to targets: request URI for HTTP/1.1 request line or value for the HTTP/2 :path pseudo-header.

backendGroups[].
http.
backends[].
healthchecks[].
http.
useHttp2
boolean (boolean)

Enables HTTP/2 usage in health checks.

Default value: false, HTTP/1.1 is used.

backendGroups[].
http.
backends[].
healthchecks[].
grpc
object
gRPC health check settings.
backendGroups[].http.backends[].healthchecks[] includes only one of the fields stream, http, grpc

A resource for gRPC health check settings.

backendGroups[].
http.
backends[].
healthchecks[].
grpc.
serviceName
string

Name of the gRPC service to be checked.

If not specified, overall health is checked.

For details about the concept, see GRPC Health Checking Protocol.

backendGroups[].
http.
backends[].
healthchecks[].
plaintext
object
backendGroups[].http.backends[].healthchecks[] includes only one of the fields plaintext, tls

Transport settings to be used instead of the settings configured per-cluster

backendGroups[].
http.
backends[].
healthchecks[].
tls
object
backendGroups[].http.backends[].healthchecks[] includes only one of the fields plaintext, tls

Transport settings to be used instead of the settings configured per-cluster

backendGroups[].
http.
backends[].
healthchecks[].
tls.
sni
string

SNI string for TLS connections.

backendGroups[].
http.
backends[].
healthchecks[].
tls.
validationContext
object

Validation context for backend TLS connections.

A TLS validation context resource.

backendGroups[].
http.
backends[].
healthchecks[].
tls.
validationContext.
trustedCaId
string
backendGroups[].http.backends[].healthchecks[].tls.validationContext includes only one of the fields trustedCaId, trustedCaBytes

backendGroups[].
http.
backends[].
healthchecks[].
tls.
validationContext.
trustedCaBytes
string
backendGroups[].http.backends[].healthchecks[].tls.validationContext includes only one of the fields trustedCaId, trustedCaBytes

X.509 certificate contents in PEM format.

backendGroups[].
http.
backends[].
tls
object
Settings for TLS connections between load balancer nodes and backend targets. If specified, the load balancer establishes TLS-encrypted TCP connections with targets and compares received certificates with the one specified in validationContext. If not specified, the load balancer establishes unencrypted TCP connections with targets.

A resource for backend TLS settings.

backendGroups[].
http.
backends[].
tls.
sni
string

Server Name Indication (SNI) string for TLS connections.

backendGroups[].
http.
backends[].
tls.
validationContext
object

Validation context for TLS connections.

A TLS validation context resource.

backendGroups[].
http.
backends[].
tls.
validationContext.
trustedCaId
string
backendGroups[].http.backends[].tls.validationContext includes only one of the fields trustedCaId, trustedCaBytes

backendGroups[].
http.
backends[].
tls.
validationContext.
trustedCaBytes
string
backendGroups[].http.backends[].tls.validationContext includes only one of the fields trustedCaId, trustedCaBytes

X.509 certificate contents in PEM format.

backendGroups[].
http.
backends[].
useHttp2
boolean (boolean)

Enables HTTP/2 usage in connections between load balancer nodes and backend targets.

Default value: false, HTTP/1.1 is used.

backendGroups[].
http.
backends[].
targetGroups
object
Target groups that belong to the backend. For details about target groups, see documentation.
backendGroups[].http.backends[] includes only one of the fields targetGroups, storageBucket

A resource for target groups that belong to the backend.

backendGroups[].
http.
backends[].
targetGroups.
targetGroupIds[]
string

Required. List of ID's of target groups that belong to the backend.

To get the ID's of all available target groups, make a list request.

Must contain at least one element.

backendGroups[].
http.
backends[].
storageBucket
object
Object Storage bucket to use as the backend. For details about buckets, see documentation. If a bucket is used as a backend, the list of bucket objects and the objects themselves must be publicly accessible. For instructions, see documentation.
backendGroups[].http.backends[] includes only one of the fields targetGroups, storageBucket

A resource for Object Storage bucket used as a backend. For details about the concept, see documentation.

backendGroups[].
http.
backends[].
storageBucket.
bucket
string

Required. Name of the bucket.

backendGroups[].
http.
connection
object
Connection-based session affinity configuration. For now, a connection is defined only by an IP address of the client.
backendGroups[].http includes only one of the fields connection, header, cookie

A resource for connection-based session affinity configuration.

backendGroups[].
http.
connection.
sourceIp
boolean (boolean)

Specifies whether an IP address of the client is used to define a connection for session affinity.

backendGroups[].
http.
header
object
HTTP-header-field-based session affinity configuration.
backendGroups[].http includes only one of the fields connection, header, cookie

A resource for HTTP-header-field-based session affinity configuration.

backendGroups[].
http.
header.
headerName
string

Name of the HTTP header field that is used for session affinity.

The string length in characters must be 1-256.

backendGroups[].
http.
cookie
object
Cookie-based session affinity configuration.
backendGroups[].http includes only one of the fields connection, header, cookie

A resource for cookie-based session affinity configuration.

backendGroups[].
http.
cookie.
name
string

Name of the cookie that is used for session affinity.

The string length in characters must be 1-256.

backendGroups[].
http.
cookie.
ttl
string

Maximum age of cookies that are generated for sessions.

If set to 0, session cookies are used, which are stored by clients in temporary memory and are deleted on client restarts.

If not set, the balancer does not generate cookies and only uses incoming ones for establishing session affinity.

backendGroups[].
grpc
object
List of gRPC backends that the backend group consists of.
backendGroups[] includes only one of the fields http, grpc, stream

A gRPC backend group resource.

backendGroups[].
grpc.
backends[]
object
gRPC backend to add to the backend group.

A gRPC backend resource.

backendGroups[].
grpc.
backends[].
name
string

Required. Name of the backend.

Value must match the regular expression [a-z][-a-z0-9]{1,61}[a-z0-9].

backendGroups[].
grpc.
backends[].
backendWeight
integer (int64)

Backend weight. Traffic is distributed between backends of a backend group according to their weights.

Weights must be set either for all backends of a group or for none of them. Setting no weights is the same as setting equal non-zero weights for all backends.

If the weight is non-positive, traffic is not sent to the backend.

backendGroups[].
grpc.
backends[].
loadBalancingConfig
object
Load balancing configuration for the backend.

A load balancing configuration resource.

backendGroups[].
grpc.
backends[].
loadBalancingConfig.
panicThreshold
string (int64)

Threshold for panic mode.

If percentage of healthy backends in the group drops below threshold, panic mode will be activated and traffic will be routed to all backends, regardless of their health check status. This helps to avoid overloading healthy backends. For details about panic mode, see documentation.

If the value is 0, panic mode will never be activated and traffic is routed only to healthy backends at all times.

Default value: 0.

Acceptable values are 0 to 100, inclusive.

backendGroups[].
grpc.
backends[].
loadBalancingConfig.
localityAwareRoutingPercent
string (int64)

Percentage of traffic that a load balancer node sends to healthy backends in its availability zone. The rest is divided equally between other zones. For details about zone-aware routing, see documentation.

If there are no healthy backends in an availability zone, all the traffic is divided between other zones.

If strictLocality is true, the specified value is ignored. A load balancer node sends all the traffic within its availability zone, regardless of backends' health.

Default value: 0.

Acceptable values are 0 to 100, inclusive.

backendGroups[].
grpc.
backends[].
loadBalancingConfig.
strictLocality
boolean (boolean)

Specifies whether a load balancer node should only send traffic to backends in its availability zone, regardless of their health, and ignore backends in other zones.

If set to true and there are no healthy backends in the zone, the node in this zone will respond to incoming traffic with errors. For details about strict locality, see documentation.

If strict_locality is true, the value specified in localityAwareRoutingPercent is ignored.

Default value: false.

backendGroups[].
grpc.
backends[].
loadBalancingConfig.
mode
string

Load balancing mode for the backend.

For details about load balancing modes, see documentation.

A load balancing mode resource. For details about the concept, see documentation.

  • ROUND_ROBIN: Round robin load balancing mode.

All endpoints of the backend take their turns to receive requests attributed to the backend.

  • RANDOM: Random load balancing mode. Default value.

For a request attributed to the backend, an endpoint that receives it is picked at random.

  • LEAST_REQUEST: Least request load balancing mode.

To pick an endpoint that receives a request attributed to the backend, the power of two choices algorithm is used; that is, two endpoints are picked at random, and the request is sent to the one which has the fewest active requests.

  • MAGLEV_HASH: Maglev hashing load balancing mode.

Each endpoint is hashed, and a hash table with 65537 rows is filled accordingly, so that every endpoint occupies the same amount of rows. An attribute of each request is also hashed by the same function (if session affinity is enabled for the backend group, the attribute to hash is specified in session affinity configuration). The row with the same number as the resulting value is looked up in the table to determine the endpoint that receives the request.

If the backend group with session affinity enabled contains more than one backend with positive weight, endpoints for backends with MAGLEV_HASH load balancing mode are picked at RANDOM instead.

backendGroups[].
grpc.
backends[].
port
string (int64)

Port used by all targets to receive traffic.

Acceptable values are 0 to 65535, inclusive.

backendGroups[].
grpc.
backends[].
healthchecks[]
object

A health check resource. For details about the concept, see documentation.

backendGroups[].
grpc.
backends[].
healthchecks[].
timeout
string

Required. Health check timeout.

The timeout is the time allowed for the target to respond to a check. If the target doesn't respond in time, the check is considered failed.

backendGroups[].
grpc.
backends[].
healthchecks[].
interval
string

Required. Base interval between consecutive health checks.

backendGroups[].
grpc.
backends[].
healthchecks[].
intervalJitterPercent
number (double)
backendGroups[].
grpc.
backends[].
healthchecks[].
healthyThreshold
string (int64)

Number of consecutive successful health checks required to mark an unhealthy target as healthy.

Both 0 and 1 values amount to one successful check required.

The value is ignored when a load balancer is initialized; a target is marked healthy after one successful check.

Default value: 0.

backendGroups[].
grpc.
backends[].
healthchecks[].
unhealthyThreshold
string (int64)

Number of consecutive failed health checks required to mark a healthy target as unhealthy.

Both 0 and 1 values amount to one unsuccessful check required.

The value is ignored if a health check is failed due to an HTTP 503 Service Unavailable response from the target (not applicable to TCP stream health checks). The target is immediately marked unhealthy.

Default value: 0.

backendGroups[].
grpc.
backends[].
healthchecks[].
healthcheckPort
string (int64)

Port used for health checks.

If not specified, the backend port (port or port) is used for health checks.

Acceptable values are 0 to 65535, inclusive.

backendGroups[].
grpc.
backends[].
healthchecks[].
stream
object
TCP stream health check settings.
backendGroups[].grpc.backends[].healthchecks[] includes only one of the fields stream, http, grpc

A resource for TCP stream health check settings.

backendGroups[].
grpc.
backends[].
healthchecks[].
stream.
send
object

Message sent to targets during TCP data transfer.

If not specified, no data is sent to the target.

A health check payload resource.

backendGroups[].
grpc.
backends[].
healthchecks[].
stream.
send.
text
string

Payload text.

The string length in characters must be greater than 0.

backendGroups[].
grpc.
backends[].
healthchecks[].
stream.
receive
object

Data that must be contained in the messages received from targets for a successful health check.

If not specified, no messages are expected from targets, and those that are received are not checked.

A health check payload resource.

backendGroups[].
grpc.
backends[].
healthchecks[].
stream.
receive.
text
string

Payload text.

The string length in characters must be greater than 0.

backendGroups[].
grpc.
backends[].
healthchecks[].
http
object
HTTP health check settings.
backendGroups[].grpc.backends[].healthchecks[] includes only one of the fields stream, http, grpc

A resource for HTTP health check settings.

backendGroups[].
grpc.
backends[].
healthchecks[].
http.
host
string

Value for the HTTP/1.1 Host header or the HTTP/2 :authority pseudo-header used in requests to targets.

backendGroups[].
grpc.
backends[].
healthchecks[].
http.
path
string

Required. HTTP path used in requests to targets: request URI for HTTP/1.1 request line or value for the HTTP/2 :path pseudo-header.

backendGroups[].
grpc.
backends[].
healthchecks[].
http.
useHttp2
boolean (boolean)

Enables HTTP/2 usage in health checks.

Default value: false, HTTP/1.1 is used.

backendGroups[].
grpc.
backends[].
healthchecks[].
grpc
object
gRPC health check settings.
backendGroups[].grpc.backends[].healthchecks[] includes only one of the fields stream, http, grpc

A resource for gRPC health check settings.

backendGroups[].
grpc.
backends[].
healthchecks[].
grpc.
serviceName
string

Name of the gRPC service to be checked.

If not specified, overall health is checked.

For details about the concept, see GRPC Health Checking Protocol.

backendGroups[].
grpc.
backends[].
healthchecks[].
plaintext
object
backendGroups[].grpc.backends[].healthchecks[] includes only one of the fields plaintext, tls

Transport settings to be used instead of the settings configured per-cluster

backendGroups[].
grpc.
backends[].
healthchecks[].
tls
object
backendGroups[].grpc.backends[].healthchecks[] includes only one of the fields plaintext, tls

Transport settings to be used instead of the settings configured per-cluster

backendGroups[].
grpc.
backends[].
healthchecks[].
tls.
sni
string

SNI string for TLS connections.

backendGroups[].
grpc.
backends[].
healthchecks[].
tls.
validationContext
object

Validation context for backend TLS connections.

A TLS validation context resource.

backendGroups[].
grpc.
backends[].
healthchecks[].
tls.
validationContext.
trustedCaId
string
backendGroups[].grpc.backends[].healthchecks[].tls.validationContext includes only one of the fields trustedCaId, trustedCaBytes

backendGroups[].
grpc.
backends[].
healthchecks[].
tls.
validationContext.
trustedCaBytes
string
backendGroups[].grpc.backends[].healthchecks[].tls.validationContext includes only one of the fields trustedCaId, trustedCaBytes

X.509 certificate contents in PEM format.

backendGroups[].
grpc.
backends[].
tls
object
Settings for TLS connections between load balancer nodes and backend targets. If specified, the load balancer establishes HTTPS (HTTP over TLS) connections with targets and compares received certificates with the one specified in validationContext. If not specified, the load balancer establishes unencrypted HTTP connections with targets.

A resource for backend TLS settings.

backendGroups[].
grpc.
backends[].
tls.
sni
string

Server Name Indication (SNI) string for TLS connections.

backendGroups[].
grpc.
backends[].
tls.
validationContext
object

Validation context for TLS connections.

A TLS validation context resource.

backendGroups[].
grpc.
backends[].
tls.
validationContext.
trustedCaId
string
backendGroups[].grpc.backends[].tls.validationContext includes only one of the fields trustedCaId, trustedCaBytes

backendGroups[].
grpc.
backends[].
tls.
validationContext.
trustedCaBytes
string
backendGroups[].grpc.backends[].tls.validationContext includes only one of the fields trustedCaId, trustedCaBytes

X.509 certificate contents in PEM format.

backendGroups[].
grpc.
backends[].
targetGroups
object
Target groups that belong to the backend. For details about target groups, see documentation.

A resource for target groups that belong to the backend.

backendGroups[].
grpc.
backends[].
targetGroups.
targetGroupIds[]
string

Required. List of ID's of target groups that belong to the backend.

To get the ID's of all available target groups, make a list request.

Must contain at least one element.

backendGroups[].
grpc.
connection
object
Connection-based session affinity configuration. For now, a connection is defined only by an IP address of the client.
backendGroups[].grpc includes only one of the fields connection, header, cookie

A resource for connection-based session affinity configuration.

backendGroups[].
grpc.
connection.
sourceIp
boolean (boolean)

Specifies whether an IP address of the client is used to define a connection for session affinity.

backendGroups[].
grpc.
header
object
HTTP-header-field-based session affinity configuration.
backendGroups[].grpc includes only one of the fields connection, header, cookie

A resource for HTTP-header-field-based session affinity configuration.

backendGroups[].
grpc.
header.
headerName
string

Name of the HTTP header field that is used for session affinity.

The string length in characters must be 1-256.

backendGroups[].
grpc.
cookie
object
Cookie-based session affinity configuration.
backendGroups[].grpc includes only one of the fields connection, header, cookie

A resource for cookie-based session affinity configuration.

backendGroups[].
grpc.
cookie.
name
string

Name of the cookie that is used for session affinity.

The string length in characters must be 1-256.

backendGroups[].
grpc.
cookie.
ttl
string

Maximum age of cookies that are generated for sessions.

If set to 0, session cookies are used, which are stored by clients in temporary memory and are deleted on client restarts.

If not set, the balancer does not generate cookies and only uses incoming ones for establishing session affinity.

backendGroups[].
stream
object
List of stream (TCP) backends that the backend group consists of.
backendGroups[] includes only one of the fields http, grpc, stream

A stream (TCP) backend group resource.

backendGroups[].
stream.
backends[]
object
New settings for the Stream backend.

A stream (TCP) backend resource.

backendGroups[].
stream.
backends[].
name
string

Name of the backend.

Value must match the regular expression [a-z][-a-z0-9]{1,61}[a-z0-9].

backendGroups[].
stream.
backends[].
backendWeight
integer (int64)

Backend weight. Traffic is distributed between backends of a backend group according to their weights.

Weights must be set either for all backends in a group or for none of them. Setting no weights is the same as setting equal non-zero weights for all backends.

If the weight is non-positive, traffic is not sent to the backend.

backendGroups[].
stream.
backends[].
loadBalancingConfig
object
Load balancing configuration for the backend.

A load balancing configuration resource.

backendGroups[].
stream.
backends[].
loadBalancingConfig.
panicThreshold
string (int64)

Threshold for panic mode.

If percentage of healthy backends in the group drops below threshold, panic mode will be activated and traffic will be routed to all backends, regardless of their health check status. This helps to avoid overloading healthy backends. For details about panic mode, see documentation.

If the value is 0, panic mode will never be activated and traffic is routed only to healthy backends at all times.

Default value: 0.

Acceptable values are 0 to 100, inclusive.

backendGroups[].
stream.
backends[].
loadBalancingConfig.
localityAwareRoutingPercent
string (int64)

Percentage of traffic that a load balancer node sends to healthy backends in its availability zone. The rest is divided equally between other zones. For details about zone-aware routing, see documentation.

If there are no healthy backends in an availability zone, all the traffic is divided between other zones.

If strictLocality is true, the specified value is ignored. A load balancer node sends all the traffic within its availability zone, regardless of backends' health.

Default value: 0.

Acceptable values are 0 to 100, inclusive.

backendGroups[].
stream.
backends[].
loadBalancingConfig.
strictLocality
boolean (boolean)

Specifies whether a load balancer node should only send traffic to backends in its availability zone, regardless of their health, and ignore backends in other zones.

If set to true and there are no healthy backends in the zone, the node in this zone will respond to incoming traffic with errors. For details about strict locality, see documentation.

If strict_locality is true, the value specified in localityAwareRoutingPercent is ignored.

Default value: false.

backendGroups[].
stream.
backends[].
loadBalancingConfig.
mode
string

Load balancing mode for the backend.

For details about load balancing modes, see documentation.

A load balancing mode resource. For details about the concept, see documentation.

  • ROUND_ROBIN: Round robin load balancing mode.

All endpoints of the backend take their turns to receive requests attributed to the backend.

  • RANDOM: Random load balancing mode. Default value.

For a request attributed to the backend, an endpoint that receives it is picked at random.

  • LEAST_REQUEST: Least request load balancing mode.

To pick an endpoint that receives a request attributed to the backend, the power of two choices algorithm is used; that is, two endpoints are picked at random, and the request is sent to the one which has the fewest active requests.

  • MAGLEV_HASH: Maglev hashing load balancing mode.

Each endpoint is hashed, and a hash table with 65537 rows is filled accordingly, so that every endpoint occupies the same amount of rows. An attribute of each request is also hashed by the same function (if session affinity is enabled for the backend group, the attribute to hash is specified in session affinity configuration). The row with the same number as the resulting value is looked up in the table to determine the endpoint that receives the request.

If the backend group with session affinity enabled contains more than one backend with positive weight, endpoints for backends with MAGLEV_HASH load balancing mode are picked at RANDOM instead.

backendGroups[].
stream.
backends[].
port
string (int64)

Port used by all targets to receive traffic.

Acceptable values are 0 to 65535, inclusive.

backendGroups[].
stream.
backends[].
healthchecks[]
object

A health check resource. For details about the concept, see documentation.

backendGroups[].
stream.
backends[].
healthchecks[].
timeout
string

Required. Health check timeout.

The timeout is the time allowed for the target to respond to a check. If the target doesn't respond in time, the check is considered failed.

backendGroups[].
stream.
backends[].
healthchecks[].
interval
string

Required. Base interval between consecutive health checks.

backendGroups[].
stream.
backends[].
healthchecks[].
intervalJitterPercent
number (double)
backendGroups[].
stream.
backends[].
healthchecks[].
healthyThreshold
string (int64)

Number of consecutive successful health checks required to mark an unhealthy target as healthy.

Both 0 and 1 values amount to one successful check required.

The value is ignored when a load balancer is initialized; a target is marked healthy after one successful check.

Default value: 0.

backendGroups[].
stream.
backends[].
healthchecks[].
unhealthyThreshold
string (int64)

Number of consecutive failed health checks required to mark a healthy target as unhealthy.

Both 0 and 1 values amount to one unsuccessful check required.

The value is ignored if a health check is failed due to an HTTP 503 Service Unavailable response from the target (not applicable to TCP stream health checks). The target is immediately marked unhealthy.

Default value: 0.

backendGroups[].
stream.
backends[].
healthchecks[].
healthcheckPort
string (int64)

Port used for health checks.

If not specified, the backend port (port or port) is used for health checks.

Acceptable values are 0 to 65535, inclusive.

backendGroups[].
stream.
backends[].
healthchecks[].
stream
object
TCP stream health check settings.
backendGroups[].stream.backends[].healthchecks[] includes only one of the fields stream, http, grpc

A resource for TCP stream health check settings.

backendGroups[].
stream.
backends[].
healthchecks[].
stream.
send
object

Message sent to targets during TCP data transfer.

If not specified, no data is sent to the target.

A health check payload resource.

backendGroups[].
stream.
backends[].
healthchecks[].
stream.
send.
text
string

Payload text.

The string length in characters must be greater than 0.

backendGroups[].
stream.
backends[].
healthchecks[].
stream.
receive
object

Data that must be contained in the messages received from targets for a successful health check.

If not specified, no messages are expected from targets, and those that are received are not checked.

A health check payload resource.

backendGroups[].
stream.
backends[].
healthchecks[].
stream.
receive.
text
string

Payload text.

The string length in characters must be greater than 0.

backendGroups[].
stream.
backends[].
healthchecks[].
http
object
HTTP health check settings.
backendGroups[].stream.backends[].healthchecks[] includes only one of the fields stream, http, grpc

A resource for HTTP health check settings.

backendGroups[].
stream.
backends[].
healthchecks[].
http.
host
string

Value for the HTTP/1.1 Host header or the HTTP/2 :authority pseudo-header used in requests to targets.

backendGroups[].
stream.
backends[].
healthchecks[].
http.
path
string

Required. HTTP path used in requests to targets: request URI for HTTP/1.1 request line or value for the HTTP/2 :path pseudo-header.

backendGroups[].
stream.
backends[].
healthchecks[].
http.
useHttp2
boolean (boolean)

Enables HTTP/2 usage in health checks.

Default value: false, HTTP/1.1 is used.

backendGroups[].
stream.
backends[].
healthchecks[].
grpc
object
gRPC health check settings.
backendGroups[].stream.backends[].healthchecks[] includes only one of the fields stream, http, grpc

A resource for gRPC health check settings.

backendGroups[].
stream.
backends[].
healthchecks[].
grpc.
serviceName
string

Name of the gRPC service to be checked.

If not specified, overall health is checked.

For details about the concept, see GRPC Health Checking Protocol.

backendGroups[].
stream.
backends[].
healthchecks[].
plaintext
object
backendGroups[].stream.backends[].healthchecks[] includes only one of the fields plaintext, tls

Transport settings to be used instead of the settings configured per-cluster

backendGroups[].
stream.
backends[].
healthchecks[].
tls
object
backendGroups[].stream.backends[].healthchecks[] includes only one of the fields plaintext, tls

Transport settings to be used instead of the settings configured per-cluster

backendGroups[].
stream.
backends[].
healthchecks[].
tls.
sni
string

SNI string for TLS connections.

backendGroups[].
stream.
backends[].
healthchecks[].
tls.
validationContext
object

Validation context for backend TLS connections.

A TLS validation context resource.

backendGroups[].
stream.
backends[].
healthchecks[].
tls.
validationContext.
trustedCaId
string
backendGroups[].stream.backends[].healthchecks[].tls.validationContext includes only one of the fields trustedCaId, trustedCaBytes

backendGroups[].
stream.
backends[].
healthchecks[].
tls.
validationContext.
trustedCaBytes
string
backendGroups[].stream.backends[].healthchecks[].tls.validationContext includes only one of the fields trustedCaId, trustedCaBytes

X.509 certificate contents in PEM format.

backendGroups[].
stream.
backends[].
tls
object
Settings for TLS connections between load balancer nodes and backend targets. If specified, the load balancer establishes HTTPS (HTTP over TLS) connections with targets and compares received certificates with the one specified in validationContext. If not specified, the load balancer establishes unencrypted HTTP connections with targets.

A resource for backend TLS settings.

backendGroups[].
stream.
backends[].
tls.
sni
string

Server Name Indication (SNI) string for TLS connections.

backendGroups[].
stream.
backends[].
tls.
validationContext
object

Validation context for TLS connections.

A TLS validation context resource.

backendGroups[].
stream.
backends[].
tls.
validationContext.
trustedCaId
string
backendGroups[].stream.backends[].tls.validationContext includes only one of the fields trustedCaId, trustedCaBytes

backendGroups[].
stream.
backends[].
tls.
validationContext.
trustedCaBytes
string
backendGroups[].stream.backends[].tls.validationContext includes only one of the fields trustedCaId, trustedCaBytes

X.509 certificate contents in PEM format.

backendGroups[].
stream.
backends[].
enableProxyProtocol
boolean (boolean)

If set, proxy protocol will be enabled for this backend.

backendGroups[].
stream.
backends[].
targetGroups
object
Target groups that belong to the backend.

A resource for target groups that belong to the backend.

backendGroups[].
stream.
backends[].
targetGroups.
targetGroupIds[]
string

Required. List of ID's of target groups that belong to the backend.

To get the ID's of all available target groups, make a list request.

Must contain at least one element.

backendGroups[].
stream.
connection
object
Connection-based session affinity configuration. For now, a connection is defined only by an IP address of the client.

A resource for connection-based session affinity configuration.

backendGroups[].
stream.
connection.
sourceIp
boolean (boolean)

Specifies whether an IP address of the client is used to define a connection for session affinity.

nextPageToken string

Token for getting the next page of the list. If the number of results is greater than the specified pageSize, use next_page_token as the value for the pageToken parameter in the next list request.

Each subsequent page will have its own next_page_token to continue paging through the results.

Была ли статья полезна?

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • HTTP request
  • Query parameters
  • Response