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. LoadBalancer
  4. update

Method update

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

Updates the specified application load balancer.

HTTP request

PATCH https://alb.api.cloud.yandex.net/apploadbalancer/v1/loadBalancers/{loadBalancerId}

Path parameters

Parameter Description
loadBalancerId Required. ID of the application load balancer to update. To get the application load balancer ID, make a list request.

Body parameters

{
  "updateMask": "string",
  "name": "string",
  "description": "string",
  "labels": "object",
  "listenerSpecs": [
    {
      "name": "string",
      "endpointSpecs": [
        {
          "addressSpecs": [
            {

              // `listenerSpecs[].endpointSpecs[].addressSpecs[]` includes only one of the fields `externalIpv4AddressSpec`, `internalIpv4AddressSpec`, `externalIpv6AddressSpec`
              "externalIpv4AddressSpec": {
                "address": "string"
              },
              "internalIpv4AddressSpec": {
                "address": "string",
                "subnetId": "string"
              },
              "externalIpv6AddressSpec": {
                "address": "string"
              },
              // end of the list of possible fields`listenerSpecs[].endpointSpecs[].addressSpecs[]`

            }
          ],
          "ports": [
            "string"
          ]
        }
      ],

      // `listenerSpecs[]` includes only one of the fields `http`, `tls`, `stream`
      "http": {
        "handler": {
          "httpRouterId": "string",

          // `listenerSpecs[].http.handler` includes only one of the fields `http2Options`, `allowHttp10`
          "http2Options": {
            "maxConcurrentStreams": "string"
          },
          "allowHttp10": true,
          // end of the list of possible fields`listenerSpecs[].http.handler`

        },
        "redirects": {
          "httpToHttps": true
        }
      },
      "tls": {
        "defaultHandler": {
          "certificateIds": [
            "string"
          ],

          // `listenerSpecs[].tls.defaultHandler` includes only one of the fields `httpHandler`, `streamHandler`
          "httpHandler": {
            "httpRouterId": "string",

            // `listenerSpecs[].tls.defaultHandler.httpHandler` includes only one of the fields `http2Options`, `allowHttp10`
            "http2Options": {
              "maxConcurrentStreams": "string"
            },
            "allowHttp10": true,
            // end of the list of possible fields`listenerSpecs[].tls.defaultHandler.httpHandler`

          },
          "streamHandler": {
            "backendGroupId": "string"
          },
          // end of the list of possible fields`listenerSpecs[].tls.defaultHandler`

        },
        "sniHandlers": [
          {
            "name": "string",
            "serverNames": [
              "string"
            ],
            "handler": {
              "certificateIds": [
                "string"
              ],

              // `listenerSpecs[].tls.sniHandlers[].handler` includes only one of the fields `httpHandler`, `streamHandler`
              "httpHandler": {
                "httpRouterId": "string",

                // `listenerSpecs[].tls.sniHandlers[].handler.httpHandler` includes only one of the fields `http2Options`, `allowHttp10`
                "http2Options": {
                  "maxConcurrentStreams": "string"
                },
                "allowHttp10": true,
                // end of the list of possible fields`listenerSpecs[].tls.sniHandlers[].handler.httpHandler`

              },
              "streamHandler": {
                "backendGroupId": "string"
              },
              // end of the list of possible fields`listenerSpecs[].tls.sniHandlers[].handler`

            }
          }
        ]
      },
      "stream": {
        "handler": {
          "backendGroupId": "string"
        }
      },
      // end of the list of possible fields`listenerSpecs[]`

    }
  ],
  "allocationPolicy": {
    "locations": [
      {
        "zoneId": "string",
        "subnetId": "string",
        "disableTraffic": true
      }
    ]
  },
  "securityGroupIds": [
    "string"
  ]
}
Field Description
updateMask string

Field mask that specifies which attributes of the application load balancer should be updated.

A comma-separated names off ALL fields to be updated. Оnly the specified fields will be changed. The others will be left untouched. If the field is specified in updateMask and no value for that field was sent in the request, the field's value will be reset to the default. The default value for most fields is null or 0.

If updateMask is not sent in the request, all fields' values will be updated. Fields specified in the request will be updated to provided values. The rest of the fields will be reset to the default.

name string

New name for the application load balancer. The name must be unique within the folder.

Value must match the regular expression ([a-z]([-a-z0-9]{0,61}[a-z0-9])?)?.

description string

New description of the application load balancer.

The maximum string length in characters is 256.

labels object

New application load balancer labels as key:value pairs. For details about the concept, see documentation.

Existing set of labels is completely replaced by the provided set, so if you just want to add or remove a label:

  1. Get the current set of labels with a get request.
  2. Add or remove a label in this set.
  3. Send the new set in this field.

No more than 64 per resource. The string length in characters for each key must be 1-63. Each key must match the regular expression [a-z][-_./\@0-9a-z]*. The maximum string length in characters for each value is 63. Each value must match the regular expression [-_./\@0-9a-z]*.

listenerSpecs[] object

New listeners for the application load balancer.

For details about the concept, see documentation.

Existing list of listeners is completely replaced by the specified list, so if you just want to add, update, or remove a listener, make a addListener request, a updateListener request, or a removeListener request.

listenerSpecs[].
name
string

Required. Name of the listener. The name is unique within the application load balancer.

Value must match the regular expression [a-z]([-a-z0-9]{0,61}[a-z0-9])?.

listenerSpecs[].
endpointSpecs[]
object

Required. Endpoints of the listener.

Endpoints are defined by their IP addresses and ports.

Must contain at least one element.

listenerSpecs[].
endpointSpecs[].
addressSpecs[]
object

Required. Endpoint public (external) and internal addresses.

Must contain at least one element.

listenerSpecs[].
endpointSpecs[].
addressSpecs[].
externalIpv4AddressSpec
object
Public IPv4 endpoint address.
listenerSpecs[].endpointSpecs[].addressSpecs[] includes only one of the fields externalIpv4AddressSpec, internalIpv4AddressSpec, externalIpv6AddressSpec

listenerSpecs[].
endpointSpecs[].
addressSpecs[].
externalIpv4AddressSpec.
address
string

IPv4 address.

listenerSpecs[].
endpointSpecs[].
addressSpecs[].
internalIpv4AddressSpec
object
Internal IPv4 endpoint address. To enable the use of listeners with internal addresses, contact support.
listenerSpecs[].endpointSpecs[].addressSpecs[] includes only one of the fields externalIpv4AddressSpec, internalIpv4AddressSpec, externalIpv6AddressSpec

listenerSpecs[].
endpointSpecs[].
addressSpecs[].
internalIpv4AddressSpec.
address
string

IPv4 address.

listenerSpecs[].
endpointSpecs[].
addressSpecs[].
internalIpv4AddressSpec.
subnetId
string

ID of the subnet that the address belongs to.

listenerSpecs[].
endpointSpecs[].
addressSpecs[].
externalIpv6AddressSpec
object
Public IPv6 endpoint address.
listenerSpecs[].endpointSpecs[].addressSpecs[] includes only one of the fields externalIpv4AddressSpec, internalIpv4AddressSpec, externalIpv6AddressSpec

listenerSpecs[].
endpointSpecs[].
addressSpecs[].
externalIpv6AddressSpec.
address
string

IPv6 address.

listenerSpecs[].
endpointSpecs[].
ports[]
string (int64)

Required. Endpoint ports.

Must contain at least one element. Acceptable values are 1 to 65535, inclusive.

listenerSpecs[].
http
object
Unencrypted HTTP listener settings.
listenerSpecs[] includes only one of the fields http, tls, stream

An HTTP listener resource.

listenerSpecs[].
http.
handler
object

Settings for handling HTTP requests.

Only one of handler and redirects can be specified.

An HTTP handler resource.

listenerSpecs[].
http.
handler.
httpRouterId
string

ID of the HTTP router processing requests. For details about the concept, see documentation.

To get the list of all available HTTP routers, make a list request.

listenerSpecs[].
http.
handler.
http2Options
object
HTTP/2 settings. If specified, incoming HTTP/2 requests are supported by the listener.
listenerSpecs[].http.handler includes only one of the fields http2Options, allowHttp10

An HTTP/2 options resource.

listenerSpecs[].
http.
handler.
http2Options.
maxConcurrentStreams
string (int64)

Maximum number of concurrent HTTP/2 streams in a connection.

listenerSpecs[].
http.
handler.
allowHttp10
boolean (boolean)
listenerSpecs[].http.handler includes only one of the fields http2Options, allowHttp10

Enables support for incoming HTTP/1.0 and HTTP/1.1 requests and disables it for HTTP/2 requests.

listenerSpecs[].
http.
redirects
object

Redirects settings.

Only one of redirects and handler can be specified.

A listener redirects resource.

listenerSpecs[].
http.
redirects.
httpToHttps
boolean (boolean)

Redirects all unencrypted HTTP requests to the same URI with scheme changed to https.

The setting has the same effect as a single, catch-all HttpRoute with replaceScheme set to https.

listenerSpecs[].
tls
object
TLS-encrypted HTTP or TCP stream listener settings. All handlers within a listener (defaultHandler and sniHandlers) must be of one type, HttpHandler or StreamHandler. Mixing HTTP and TCP stream traffic in a TLS-encrypted listener is not supported.
listenerSpecs[] includes only one of the fields http, tls, stream

TLS-encrypted (HTTP or TCP stream) listener resource.

listenerSpecs[].
tls.
defaultHandler
object

Required. Settings for handling requests by default, with Server Name Indication (SNI) not matching any of the sniHandlers.

A TLS-encrypted (HTTP or TCP stream) handler resource.

listenerSpecs[].
tls.
defaultHandler.
certificateIds[]
string

Required. ID's of the TLS server certificates from Certificate Manager.

RSA and ECDSA certificates are supported, and only the first certificate of each type is used.

Must contain at least one element.

listenerSpecs[].
tls.
defaultHandler.
httpHandler
object
HTTP handler.
listenerSpecs[].tls.defaultHandler includes only one of the fields httpHandler, streamHandler

An HTTP handler resource.

listenerSpecs[].
tls.
defaultHandler.
httpHandler.
httpRouterId
string

ID of the HTTP router processing requests. For details about the concept, see documentation.

To get the list of all available HTTP routers, make a list request.

listenerSpecs[].
tls.
defaultHandler.
httpHandler.
http2Options
object
HTTP/2 settings. If specified, incoming HTTP/2 requests are supported by the listener.
listenerSpecs[].tls.defaultHandler.httpHandler includes only one of the fields http2Options, allowHttp10

An HTTP/2 options resource.

listenerSpecs[].
tls.
defaultHandler.
httpHandler.
http2Options.
maxConcurrentStreams
string (int64)

Maximum number of concurrent HTTP/2 streams in a connection.

listenerSpecs[].
tls.
defaultHandler.
httpHandler.
allowHttp10
boolean (boolean)
listenerSpecs[].tls.defaultHandler.httpHandler includes only one of the fields http2Options, allowHttp10

Enables support for incoming HTTP/1.0 and HTTP/1.1 requests and disables it for HTTP/2 requests.

listenerSpecs[].
tls.
defaultHandler.
streamHandler
object
Stream (TCP) handler.
listenerSpecs[].tls.defaultHandler includes only one of the fields httpHandler, streamHandler

A stream (TCP) handler resource.

listenerSpecs[].
tls.
defaultHandler.
streamHandler.
backendGroupId
string

Required. ID of the backend group processing requests. For details about the concept, see documentation.

The backend group type, specified via [BackendGroup.backend], must be stream.

To get the list of all available backend groups, make a list request.

listenerSpecs[].
tls.
sniHandlers[]
object

A SNI handler resource.

listenerSpecs[].
tls.
sniHandlers[].
name
string

Required. Name of the SNI handler.

listenerSpecs[].
tls.
sniHandlers[].
serverNames[]
string

Required. Server names that are matched by the SNI handler.

Must contain at least one element.

listenerSpecs[].
tls.
sniHandlers[].
handler
object

Required. Settings for handling requests with Server Name Indication (SNI) matching one of serverNames values.

A TLS-encrypted (HTTP or TCP stream) handler resource.

listenerSpecs[].
tls.
sniHandlers[].
handler.
certificateIds[]
string

Required. ID's of the TLS server certificates from Certificate Manager.

RSA and ECDSA certificates are supported, and only the first certificate of each type is used.

Must contain at least one element.

listenerSpecs[].
tls.
sniHandlers[].
handler.
httpHandler
object
HTTP handler.
listenerSpecs[].tls.sniHandlers[].handler includes only one of the fields httpHandler, streamHandler

An HTTP handler resource.

listenerSpecs[].
tls.
sniHandlers[].
handler.
httpHandler.
httpRouterId
string

ID of the HTTP router processing requests. For details about the concept, see documentation.

To get the list of all available HTTP routers, make a list request.

listenerSpecs[].
tls.
sniHandlers[].
handler.
httpHandler.
http2Options
object
HTTP/2 settings. If specified, incoming HTTP/2 requests are supported by the listener.
listenerSpecs[].tls.sniHandlers[].handler.httpHandler includes only one of the fields http2Options, allowHttp10

An HTTP/2 options resource.

listenerSpecs[].
tls.
sniHandlers[].
handler.
httpHandler.
http2Options.
maxConcurrentStreams
string (int64)

Maximum number of concurrent HTTP/2 streams in a connection.

listenerSpecs[].
tls.
sniHandlers[].
handler.
httpHandler.
allowHttp10
boolean (boolean)
listenerSpecs[].tls.sniHandlers[].handler.httpHandler includes only one of the fields http2Options, allowHttp10

Enables support for incoming HTTP/1.0 and HTTP/1.1 requests and disables it for HTTP/2 requests.

listenerSpecs[].
tls.
sniHandlers[].
handler.
streamHandler
object
Stream (TCP) handler.
listenerSpecs[].tls.sniHandlers[].handler includes only one of the fields httpHandler, streamHandler

A stream (TCP) handler resource.

listenerSpecs[].
tls.
sniHandlers[].
handler.
streamHandler.
backendGroupId
string

Required. ID of the backend group processing requests. For details about the concept, see documentation.

The backend group type, specified via [BackendGroup.backend], must be stream.

To get the list of all available backend groups, make a list request.

listenerSpecs[].
stream
object
Unencrypted stream (TCP) listener settings.
listenerSpecs[] includes only one of the fields http, tls, stream

A stream (TCP) listener resource.

listenerSpecs[].
stream.
handler
object

Required. Settings for handling stream (TCP) requests.

A stream (TCP) handler resource.

listenerSpecs[].
stream.
handler.
backendGroupId
string

Required. ID of the backend group processing requests. For details about the concept, see documentation.

The backend group type, specified via [BackendGroup.backend], must be stream.

To get the list of all available backend groups, make a list request.

allocationPolicy object

New locality settings of the application load balancer.

For details about the concept, see documentation.

Existing locality settings are completely replaced by the specified settings, so if you just want to add or remove an allocation policy:

  1. Get the current settings with a get request.
  2. Add or remove a policy in this set.
  3. Send the new set in this field.

A locality settings (allocation policy) resource.

allocationPolicy.
locations[]
object

An application load balancer location resource.

For details about the concept, see documentation.

allocationPolicy.
locations[].
zoneId
string

Required. ID of the availability zone where the application load balancer resides.

Each availability zone can only be specified once.

allocationPolicy.
locations[].
subnetId
string

ID of the subnet that the application load balancer belongs to.

allocationPolicy.
locations[].
disableTraffic
boolean (boolean)

Disables the load balancer node in the specified availability zone.

Backends in the availability zone are not directly affected by this setting. They still may receive traffic from the load balancer nodes in other availability zones, subject to localityAwareRoutingPercent and strictLocality settings.

securityGroupIds[] string

ID's of new security groups attributed to the application load balancer.

For details about the concept, see documentation.

Existing list of security groups is completely replaced by the specified list, so if you just want to add or remove an allocation policy:

  1. Get the current set of security groups with a get request.
  2. Add or remove a group in this set.
  3. Send the new set in this field.

Response

HTTP Code: 200 - OK

{
  "id": "string",
  "description": "string",
  "createdAt": "string",
  "createdBy": "string",
  "modifiedAt": "string",
  "done": true,
  "metadata": "object",

  //  includes only one of the fields `error`, `response`
  "error": {
    "code": "integer",
    "message": "string",
    "details": [
      "object"
    ]
  },
  "response": "object",
  // end of the list of possible fields

}

An Operation resource. For more information, see Operation.

Field Description
id string

ID of the operation.

description string

Description of the operation. 0-256 characters long.

createdAt string (date-time)

Creation timestamp.

String in RFC3339 text format.

createdBy string

ID of the user or service account who initiated the operation.

modifiedAt string (date-time)

The time when the Operation resource was last modified.

String in RFC3339 text format.

done boolean (boolean)

If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.

metadata object

Service-specific metadata associated with the operation. It typically contains the ID of the target resource that the operation is performed on. Any method that returns a long-running operation should document the metadata type, if any.

error object
The error result of the operation in case of failure or cancellation.
includes only one of the fields error, response

The error result of the operation in case of failure or cancellation.

error.
code
integer (int32)

Error code. An enum value of google.rpc.Code.

error.
message
string

An error message.

error.
details[]
object

A list of messages that carry the error details.

response object
includes only one of the fields error, response

The normal response of the operation in case of success. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is the standard Create/Update, the response should be the target resource of the operation. Any method that returns a long-running operation should document the response type, if any.

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

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