Spec-Zone.ru › Ansible 2.10

google.cloud.gcp_compute_region_backend_service – Создаёт GCP RegionBackendService

Примечание

Этот плагин входит в коллекцию google.cloud (версия 1.0.1).

Для его установки используйте: ansible-galaxy collection install google.cloud.

Чтобы использовать его в плейбуке, укажите: google.cloud.gcp_compute_region_backend_service.

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Сервис регионального бэкэнда определяет региональную группу виртуальных машин, которые будут обрабатывать трафик для балансировки нагрузки.

Требования

Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.

  • python >= 2.6
  • requests >= 2.18.4
  • google-auth >= 1.3.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
affinity_cookie_ttl_sec
целое число
Срок жизни cookie в секундах, если session_affinity — GENERATED_COOKIE. Если установлено значение 0, cookie не сохраняется и действует только до конца сессии браузера (или эквивалента). Максимальное разрешённое значение TTL — один день.
При схеме балансировки INTERNAL это поле не используется.
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
backends
список / элементы=словарь
Набор бэкендов, которые обслуживают этот RegionBackendService.
balancing_mode
строка
Значение по умолчанию:
"CONNECTION"
Указывает режим балансировки для этого бэкенда.
Некоторые допустимые значения: "UTILIZATION", "RATE", "CONNECTION"
capacity_scaler
строка
Множитель, применяемый к максимальной пропускной способности группы (основанной на UTILIZATION, RATE или CONNECTION).
~>**ПРИМЕЧАНИЕ**: Это поле нельзя установить для внутренних бэкенд-служб региона (по умолчанию loadBalancingScheme), но оно обязательно для бэкенд-служб, не являющихся внутренними. Общий capacity_scaler для всех бэкендов должен быть отличным от нуля.
Значение 0 означает, что группа полностью отключена, предоставляя 0% своей доступной емкости. Допустимый диапазон [0,0, 1,0].
description
строка
Необязательное описание этого ресурса.
Укажите это свойство при создании ресурса.
failover
булево
    Варианты:
  • no
  • yes
Это поле указывает, является ли данный бэкенд бэкендом резервного копирования. Для данного RegionBackendService можно настроить более одного бэкенда резервного копирования.
group
строка / обязательно
Полный URL ресурса группы экземпляров или группы сетевых конечных точек. В случае группы экземпляров это определяет список экземпляров, которые обслуживают трафик. Виртуальные машины-члены каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Нельзя использовать один и тот же ресурс группы экземпляров для двух бэкендов в одной бэкенд-службе.
Для групп сетевых конечных точек это определяет список конечных точек. Все конечные точки группы сетевых конечных точек должны размещаться на экземплярах, расположенных в той же зоне, что и сама группа сетевых конечных точек.
Бэкенд-службы не могут смешивать бэкенды групп экземпляров и групп сетевых конечных точек.
При `load_balancing_scheme` равном INTERNAL поддерживаются только группы экземпляров.
Обратите внимание, что вы должны указать ресурс группы экземпляров или группы сетевых конечных точек с помощью полного URL-адреса, а не частичного.
max_connections
целое число
Максимальное количество одновременных подключений для группы. Может использоваться с режимами балансировки CONNECTION или UTILIZATION.
Нельзя установить для внутренних бэкенд-служб.
Для режима CONNECTION необходимо указать либо maxConnections, либо maxConnectionsPerInstance или maxConnectionsPerEndpoint, в зависимости от типа группы.
max_connections_per_endpoint
целое число
Максимальное количество одновременных подключений, которые может обрабатывать одна сетевая конечная точка бэкенда. Нельзя установить для внутренних бэкенд-служб.
Используется для расчета емкости группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо указать либо maxConnections, либо maxConnectionsPerEndpoint.
max_connections_per_instance
целое число
Максимальное количество одновременных подключений, которые может обработать один экземпляр бэкенда. Нельзя установить для внутренних бэкенд-служб.
Используется для расчета емкости группы.
Может использоваться в режимах балансировки CONNECTION или UTILIZATION.
Для режима CONNECTION необходимо указать либо maxConnections, либо maxConnectionsPerInstance.
max_rate
целое число
Максимальное количество запросов в секунду (RPS) группы. Нельзя установить для внутренних бэкенд-служб.
Может использоваться с режимами балансировки RATE или UTILIZATION, но обязательно при режиме RATE. Необходимо указать либо maxRate, либо maxRatePerInstance или maxRatePerEndpoint, в зависимости от типа группы.
max_rate_per_endpoint
строка
Максимальное количество запросов в секунду (RPS), которые может обработать одна сетевая конечная точка бэкенда. Это используется для расчета емкости группы. Может использоваться в любом режиме балансировки. При режиме RATE необходимо указать либо maxRate, либо maxRatePerEndpoint. Нельзя установить для внутренних бэкенд-служб.
max_rate_per_instance
строка
Максимальное количество запросов в секунду (RPS), которые может обработать один экземпляр бэкенда. Это используется для расчета емкости группы. Может использоваться в любом режиме балансировки. При режиме RATE необходимо указать либо maxRate, либо maxRatePerInstance. Нельзя установить для внутренних бэкенд-служб.
max_utilization
строка
Используется при balancingMode UTILIZATION. Это отношение определяет целевую загрузку ЦП для группы. Допустимый диапазон [0,0, 1,0].
Нельзя установить для внутренних бэкенд-служб.
circuit_breakers
словарь
Настройки, контролирующие объем подключений к бэкенд-службе. Это поле применимо только в том случае, если `load_balancing_scheme` установлено в INTERNAL_MANAGED, а `protocol` — в HTTP, HTTPS или HTTP2.
max_connections
целое число
Значение по умолчанию:
"1024"
Максимальное количество подключений к кластеру бэкенда.
По умолчанию 1024.
max_pending_requests
целое число
Значение по умолчанию:
"1024"
Максимальное количество ожидающих запросов в кластер бэкенда.
По умолчанию 1024.
max_requests
целое число
Значение по умолчанию:
"1024"
Максимальное количество параллельных запросов к кластеру бэкенда.
По умолчанию 1024.
max_requests_per_connection
целое число
Максимальное количество запросов для одного подключения к бэкенду. Этот параметр учитывается как реализациями HTTP/1.1, так и HTTP/2. Если не указано, ограничений нет. Установка этого параметра в 1 фактически отключит keep-alive.
max_retries
целое число
Значение по умолчанию:
"3"
Максимальное количество параллельных попыток переподключения к кластеру бэкенда.
По умолчанию 3.
connection_draining
словарь
Настройки для отключения подключений.
draining_timeout_sec
целое число
Значение по умолчанию:
"300"
Время, в течение которого экземпляр будет отключаться (не принимать новые подключения, но продолжать работу над начатыми).
consistent_hash
словарь
Балансировка нагрузки на основе консистентного хэширования может использоваться для обеспечения мягкой сцепки сессий на основе заголовков HTTP, cookie или других свойств. Эта политика балансировки нагрузки применима только для HTTP-соединений. Связь с конкретным хостом назначения будет потеряна, когда один или несколько хостов добавлены/удалены из службы назначения. Это поле определяет параметры, которые управляют консистентным хэшированием.
Это поле применимо только при одновременном выполнении следующих условий: * `load_balancing_scheme` установлено в INTERNAL_MANAGED * `protocol` установлено в HTTP, HTTPS или HTTP2 * `locality_lb_policy` установлено в MAGLEV или RING_HASH.
http_cookie
словарь
Хэширование основано на HTTP-cookie. Это поле описывает HTTP-cookie, которая будет использоваться в качестве ключа хэширования для балансировщика консистентного хэширования. Если cookie отсутствует, она будет сгенерирована.
Это поле применимо, если sessionAffinity установлено в HTTP_COOKIE.
name
строка
Имя cookie.
path
строка
Путь для установки cookie.
ttl
словарь
Срок действия cookie.
nanos
целое число
Продолжительность времени, которая является дробной частью секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены полем 0 секунд и положительным полем nanos. Должно быть от 0 до 999 999 999 включительно.
seconds
целое число / обязательно
Продолжительность времени с разрешением в секунду.
Должно быть от 0 до 315 576 000 000 включительно.
http_header_name
string
Хэш, основанный на значении указанного поля заголовка.
Это поле применимо, если sessionAffinity задано как HEADER_FIELD.
minimum_ring_size
integer
Значение по умолчанию:
"1024"
Минимальное количество виртуальных узлов для использования в кольце хэширования.
Более крупные кольца приводят к более тонкой распределению нагрузки. Если количество хостов в пуле балансировки нагрузки больше размера кольца, каждому хосту будет назначен один виртуальный узел.
По умолчанию 1024.
description
string
Необязательное описание этого ресурса.
env_type
string
Указывает, в какой среде Ansible вы выполняете этот модуль.
Это не следует устанавливать, если вы не знаете, что делаете.
Это изменяет только строку User Agent для всех запросов API.
failover_policy
dictionary
Политика для failover.
disable_connection_drain_on_failover
boolean
    Варианты:
  • no
  • yes
При failover или failback это поле указывает, будет ли соблюдаться дренирование соединений. Установка этого значения в true имеет следующий эффект: соединения со старым активным пулом не дренажируются. Соединения с новым активным пулом используют таймаут в 10 минут (в настоящее время фиксировано). Установка в false имеет следующий эффект: как старые, так и новые соединения будут иметь таймаут дренирования 10 минут.
Это может быть установлено в true только если протокол TCP.
По умолчанию false.
drop_traffic_if_unhealthy
boolean
    Варианты:
  • no
  • yes
Этот параметр используется только тогда, когда в группах экземпляров первичного и резервного нет здоровых виртуальных машин. При установке в значение true трафик отбрасывается. При установке в значение false новые соединения отправляются по всем виртуальным машинам в первичной группе.
По умолчанию false.
failover_ratio
string
Значение поля должно быть в диапазоне [0, 1]. Если отношение здоровых виртуальных машин в первичном бэкенде равно или меньше этого числа, трафик, прибывающий по IP-адресу балансировки нагрузки, будет направлен в резервный бэкенд.
В случае, когда 'failoverRatio' не задан или все виртуальные машины в резервном бэкенде неисправны, трафик будет перенаправлен обратно в первичный бэкенд в режиме «force», где трафик будет распределен по здоровым виртуальным машинам с наилучшими усилиями или всем виртуальным машинам, когда ни одна виртуальная машина не здорова.
Это поле используется только для балансировки нагрузки L4.
health_checks
list / elements=string
Набор URL-адресов ресурсов HealthCheck для проверки работоспособности этого регионального бэкенд-сервиса. В настоящее время можно указать не более одного контрольного элемента. Контрольный элемент должен быть указан, если бэкенд-сервис не использует интернет-или серверный NEG в качестве бэкенда.
load_balancing_scheme
string
Значение по умолчанию:
"INTERNAL"
Указывает, для какой балансировки нагрузки будет использоваться этот региональный бэкенд-сервис. Бэкенд-сервис, созданный для одного типа балансировки нагрузки, не может использоваться с другими типами.
Некоторые допустимые значения: «INTERNAL», «INTERNAL_MANAGED»
locality_lb_policy
string
Алгоритм балансировки нагрузки, используемый в пределах области.
Возможные значения: - ROUND_ROBIN - это простая политика, в которой каждый здоровый бэкенд выбирается в порядке круговой очереди.
LEAST_REQUEST - алгоритм O(1), который выбирает две случайные здоровые хосты и выбирает хост с меньшим количеством активных запросов.
RING_HASH - балансировщик нагрузки с кольцевым/модульным хэшем использует согласованное хэширование для бэкендов. Алгоритм имеет свойство, что добавление/удаление хоста из набора из N хостов влияет только на 1/N запросов.
RANDOM - балансировщик нагрузки выбирает случайный здоровый хост.
ORIGINAL_DESTINATION - хост бэкенда выбирается на основе метаданных соединения клиента, т.е. соединения открываются по тому же адресу, что и адрес назначения входящего соединения, прежде чем соединение было перенаправлено на балансировщик нагрузки.
MAGLEV - используется как замена балансировщику нагрузки ring hash.
Maglev не такой стабильный, как ring hash, но имеет более быстрые времена построения таблиц и выбора хостов. Для получения дополнительной информации о Maglev см. https://ai.google/research/pubs/pub44824 Это поле применимо только при «load_balancing_scheme», равном «INTERNAL_MANAGED», и «protocol», равном «HTTP», «HTTPS» или «HTTP2».
Некоторые допустимые значения: «ROUND_ROBIN», «LEAST_REQUEST», «RING_HASH», «RANDOM», «ORIGINAL_DESTINATION», «MAGLEV»
log_config
dictionary
Это поле обозначает параметры ведения журнала для трафика балансировки нагрузки, обслуживаемого этим бэкенд-сервисом.
Если ведение журнала включено, логи будут экспортированы в Stackdriver.
enable
boolean
    Варианты:
  • no
  • yes
Включить ведение журнала для трафика балансировки нагрузки, обслуживаемого этим бэкенд-сервисом.
sample_rate
string
Это поле может быть указано только в том случае, если ведение журнала включено для этого бэкенд-сервиса. Значение поля должно быть в диапазоне [0, 1]. Это настраивает скорость выборки запросов к балансировщику нагрузки, где 1.0 означает, что все запросы, записанные в журнал, будут сообщаться, а 0.0 означает, что запросы, записанные в журнал, не будут сообщаться.
Значение по умолчанию 1.0.
name
string / required
Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. Точнее, имя должно быть длиной от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире.
network
dictionary
URL сети, к которой принадлежит этот бэкенд-сервис.
Это поле может быть указано только тогда, когда схема балансировки нагрузки установлена в значение INTERNAL.
Это поле представляет ссылку на ресурс Network в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. В-вторых, вы можете добавить `register: name-of-resource` к задаче gcp_compute_network, а затем установить это поле network в "{{ name-of-resource }}"
outlier_detection
dictionary
Настройки, контролирующие удаление неисправных хостов из пула балансировки.
Это поле применимо только при «load_balancing_scheme», равном «INTERNAL_MANAGED», и «protocol», равном «HTTP», «HTTPS» или «HTTP2».
base_ejection_time
dictionary
Базовое время, на которое хост удаляется. Реальное время равно базовому времени, умноженному на количество раз, когда хост был удален. По умолчанию 30000 мс или 30 с.
nanos
integer
Продолжительность времени, являющаяся дробной частью секунды с разрешением в наносекунды. Продолжительности меньше одной секунды представлены с полем `seconds`, равным 0, и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.
seconds
integer / required
Продолжительность времени с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно.
consecutive_errors
integer
Значение по умолчанию:
"5"
Количество ошибок до удаления хоста из пула соединений. Когда хост бэкенда обращается по протоколу HTTP, код ответа 5xx считается ошибкой.
По умолчанию 5.
consecutive_gateway_failure
integer
Значение по умолчанию:
"5"
Количество последовательных сбоев шлюза (статусы 502, 503, 504 или ошибки соединения, сопоставляемые с одним из этих кодов статуса) перед возникновением последовательной ошибки шлюза. По умолчанию 5.
enforcing_consecutive_errors
integer
Значение по умолчанию:
"100"
Вероятность удаления хоста при обнаружении неисправного состояния хоста через последовательные 5xx. Это значение может использоваться для отключения удаления или постепенного его включения. По умолчанию 100.
enforcing_consecutive_gateway_failure
integer
Вероятность удаления хоста при обнаружении неисправного состояния хоста через последовательные сбои шлюза. Это значение может использоваться для отключения удаления или постепенного его включения. По умолчанию 0.
enforcing_success_rate
integer
Значение по умолчанию:
"100"
Вероятность удаления хоста при обнаружении неисправного состояния хоста через статистику скорости успешного выполнения. Это значение может использоваться для отключения удаления или постепенного его включения. По умолчанию 100.
interval
dictionary
Интервал времени между анализом цикла удаления. Это может привести к новым удалениям, а также к возвращению хостов в службу. По умолчанию 10 секунд.
nanos
целое число
Промежуток времени, являющийся дробью секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены значением поля `seconds`, равным 0, и положительным значением поля `nanos`. Должно быть от 0 до 999 999 999 включительно.
seconds
целое число / обязательно
Промежуток времени с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно.
max_ejection_percent
целое число
По умолчанию:
"10"
Максимальный процент узлов в пуле балансировки нагрузки для бэкенд-службы, которые могут быть исключены. По умолчанию 10%.
success_rate_minimum_hosts
целое число
По умолчанию:
"5"
Количество узлов в кластере, у которых должен быть достаточный объем запросов для обнаружения отклонений в показателе успеха. Если количество узлов меньше этого значения, обнаружение отклонений с помощью статистики показателя успеха не выполняется для какого-либо узла в кластере. По умолчанию 5.
success_rate_request_volume
целое число
По умолчанию:
"100"
Минимальное общее количество запросов, которые должны быть собраны за один интервал (как определено выше продолжительностью интервала), чтобы включить этот узел в обнаружение отклонений на основе показателя успеха. Если объем ниже этого значения, обнаружение отклонений с помощью статистики показателя успеха не выполняется для этого узла. По умолчанию 100.
success_rate_stdev_factor
целое число
По умолчанию:
"1900"
Этот коэффициент используется для определения порога исключения отклонений показателя успеха. Порог исключения — это разница между средним показателем успеха и произведением этого коэффициента и стандартного отклонения среднего показателя успеха: среднее значение - (стандартное отклонение * success_rate_stdev_factor). Этот коэффициент делится на тысячу, чтобы получить двойное значение. То есть, если желаемый коэффициент равен 1,9, значение runtime должно быть 1900. По умолчанию 1900.
port_name
строка
Именованный порт на группе бэкенд-инстансов, представляющий порт для связи с бэкенд-виртуальными машинами в этой группе. Требуется, когда loadBalancingScheme — EXTERNAL, INTERNAL_MANAGED или INTERNAL_SELF_MANAGED, а бэкенды — группы инстансов. Имя порта должно быть определено для каждой группы бэкенд-инстансов. Этот параметр не имеет значения, если бэкенды — NEGs. API устанавливает значение по умолчанию "http", если оно не задано.
Должен быть опущен, когда loadBalancingScheme — INTERNAL (Внутренняя балансировка TCP/UDP-трафика).
project
строка
Проект Google Cloud Platform, который нужно использовать.
protocol
строка
Протокол, который использует этот региональный бэкенд-сервис для связи с бэкендами.
По умолчанию HTTP. **ПРИМЕЧАНИЕ**: HTTP2 допустим только для бета-версии балансировщиков HTTP/2 и может привести к ошибкам, если используется с API GA.
Некоторые допустимые значения: "HTTP", "HTTPS", "HTTP2", "SSL", "TCP", "UDP", "GRPC"
region
строка / обязательно
Ссылка на регион, в котором находится региональный бэкенд-сервис.
scopes
список / элементы=строка
Массив используемых областей
service_account_contents
jsonarg
Содержимое файла JSON учетной записи службы, либо в виде словаря, либо как строка JSON, которая его представляет.
service_account_email
строка
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес электронной почты по умолчанию.
service_account_file
путь
Путь к файлу JSON учетной записи службы, если serviceaccount выбран как тип.
session_affinity
строка
Тип сродства сеанса для использования. По умолчанию NONE. Сродство сеанса неприменимо, если протокол UDP.
Некоторые допустимые значения: "NONE", "CLIENT_IP", "CLIENT_IP_PORT_PROTO", "CLIENT_IP_PROTO", "GENERATED_COOKIE", "HEADER_FIELD", "HTTP_COOKIE"
state
строка
    Варианты:
  • present ←
  • absent
Указывает, должен ли данный объект существовать в GCP
timeout_sec
целое число
Количество секунд ожидания бэкенда перед рассмотрением запроса как неудачного. По умолчанию 30 секунд. Допустимый диапазон [1, 86400].

Примечания

Примечание

  • API Reference: https://cloud.google.com/compute/docs/reference/latest/regionBackendServices
  • Внутренняя балансировка TCP/UDP-трафика: https://cloud.google.com/compute/docs/load-balancing/internal/
  • для аутентификации можно установить service_account_file, используя переменную среды gcp_service_account_file.
  • для аутентификации можно установить service_account_contents, используя переменную среды GCP_SERVICE_ACCOUNT_CONTENTS.
  • Для аутентификации можно установить service_account_email, используя переменную среды GCP_SERVICE_ACCOUNT_EMAIL.
  • Для аутентификации можно установить auth_kind, используя переменную среды GCP_AUTH_KIND.
  • Для аутентификации можно установить scopes, используя переменную среды GCP_SCOPES.
  • Значения переменных среды будут использоваться только в том случае, если значения в playbook не заданы.
  • Параметры service_account_email и service_account_file взаимоисключающие.

Примеры

- name: create a health check
  google.cloud.gcp_compute_health_check:
    name: "{{ resource_name }}"
    type: TCP
    tcp_health_check:
      port: 80
    check_interval_sec: 1
    timeout_sec: 1
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: healthcheck

- name: create a region backend service
  google.cloud.gcp_compute_region_backend_service:
    name: test_object
    region: us-central1
    health_checks:
    - "{{ healthcheck.selfLink }}"
    connection_draining:
      draining_timeout_sec: 10
    session_affinity: CLIENT_IP
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Значения возврата

Общие значения возврата описаны здесь, следующие — поля, уникальные для этого модуля:

Ключ Возвращённое значение Описание
affinityCookieTtlSec
целое число
успех
Срок жизни cookie в секундах, если session_affinity равен GENERATED_COOKIE. Если значение равно 0, cookie не сохраняется и действует только до конца сессии браузера (или эквивалента). Максимально допустимое значение для TTL — один день.
Если схема балансировки — INTERNAL, это поле не используется.

backends
сложный тип
успех
Набор бэкендов, обслуживающих этот RegionBackendService.

balancingMode
строка
успех
Указывает режим балансировки для этого бэкенда.

capacityScaler
строка
успех
Множитель, применяемый к максимальной пропускной способности группы (на основе UTILIZATION, RATE или CONNECTION).
~>**ПРИМЕЧАНИЕ**: Это поле нельзя задать для бэкенд-сервисов региона INTERNAL (по умолчанию loadBalancingScheme), но оно требуется для бэкенд-сервисов, отличных от INTERNAL. Общий capacity_scaler для всех бэкендов должен быть отличным от нуля.
Значение 0 означает, что группа полностью выключена, предоставляя 0% своей доступной пропускной способности. Допустимый диапазон: [0.0, 1.0].

description
строка
успех
Необязательное описание этого ресурса.
Укажите это свойство при создании ресурса.

failover
логическое значение
успех
Это поле указывает, является ли этот бэкенд бэкендом резервного копирования. Для данного RegionBackendService можно настроить более одного бэкенда резервного копирования.

group
строка
успех
Полный URL ресурса группы экземпляров или группы сетевых конечных точек. В случае группы экземпляров это определяет список экземпляров, обслуживающих трафик. Виртуальные машины-члены из каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Два бэкенда в одном бэкенд-сервисе не могут использовать один и тот же ресурс группы экземпляров.
Для групп сетевых конечных точек это определяет список конечных точек. Все конечные точки группы сетевых конечных точек должны размещаться на экземплярах, находящихся в той же зоне, что и сама группа сетевых конечных точек.
Бэкенд-сервисы не могут смешивать группы экземпляров и группы сетевых конечных точек.
Когда `load_balancing_scheme` — INTERNAL, поддерживаются только группы экземпляров.
Обратите внимание, что вы должны указать ресурс группы экземпляров или группы сетевых конечных точек с помощью полного URL-адреса, а не частичного.

maxConnections
целое число
успех
Максимальное количество одновременных подключений для группы. Может использоваться с режимами балансировки CONNECTION или UTILIZATION.
Не может быть задано для бэкенд-сервисов INTERNAL.
В режиме CONNECTION необходимо задать либо maxConnections, либо maxConnectionsPerInstance или maxConnectionsPerEndpoint, в зависимости от типа группы.

maxConnectionsPerEndpoint
целое число
успех
Максимальное количество одновременных подключений, которые может обрабатывать одна сетевая конечная точка бэкенда. Не может быть задано для бэкенд-сервисов INTERNAL.
Это используется для расчета пропускной способности группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо задать либо maxConnections, либо maxConnectionsPerEndpoint.

maxConnectionsPerInstance
целое число
успех
Максимальное количество одновременных подключений, которые может обрабатывать один экземпляр бэкенда. Не может быть задано для бэкенд-сервисов INTERNAL.
Это используется для расчета пропускной способности группы.
Может использоваться в режимах балансировки CONNECTION или UTILIZATION.
В режиме CONNECTION необходимо задать либо maxConnections, либо maxConnectionsPerInstance.

maxRate
целое число
успех
Максимальное количество запросов в секунду (RPS) для группы. Не может быть задано для бэкенд-сервисов INTERNAL.
Может использоваться с режимами балансировки RATE или UTILIZATION, но требуется в режиме RATE. Необходимо задать либо maxRate, либо maxRatePerInstance или maxRatePerEndpoint, в зависимости от типа группы.

maxRatePerEndpoint
строка
успех
Максимальное количество запросов в секунду (RPS), которое может обрабатывать одна сетевая конечная точка бэкенда. Это используется для расчета пропускной способности группы. Может использоваться в любом режиме балансировки. В режиме RATE необходимо задать либо maxRate, либо maxRatePerEndpoint. Не может быть задано для бэкенд-сервисов INTERNAL.

maxRatePerInstance
строка
успех
Максимальное количество запросов в секунду (RPS), которое может обрабатывать один экземпляр бэкенда. Это используется для расчета пропускной способности группы. Может использоваться в любом режиме балансировки. В режиме RATE необходимо задать либо maxRate, либо maxRatePerInstance. Не может быть задано для бэкенд-сервисов INTERNAL.

maxUtilization
строка
успех
Используется, когда balancingMode — UTILIZATION. Это отношение определяет целевое значение использования ЦП для группы. Допустимый диапазон: [0.0, 1.0].
Не может быть задано для бэкенд-сервисов INTERNAL.

circuitBreakers
сложный тип
успех
Настройки, контролирующие объём подключений к бэкенд-сервису. Это поле применимо только тогда, когда `load_balancing_scheme` задано как INTERNAL_MANAGED, а `protocol` задано как HTTP, HTTPS или HTTP2.

maxConnections
целое число
успех
Максимальное количество подключений к кластеру бэкенда.
По умолчанию 1024.

maxPendingRequests
целое число
успех
Максимальное количество ожидающих запросов к кластеру бэкенда.
По умолчанию 1024.

maxRequests
целое число
успех
Максимальное количество параллельных запросов к кластеру бэкенда.
По умолчанию 1024.

maxRequestsPerConnection
целое число
успех
Максимальное количество запросов на одно подключение к бэкенду. Этот параметр учитывается как реализациями HTTP/1.1, так и HTTP/2. Если не указано, ограничений нет. Установка этого параметра в 1 фактически отключит keep-alive.

maxRetries
целое число
успех
Максимальное количество параллельных повторных попыток подключения к кластеру бэкенда.
По умолчанию 3.

connectionDraining
сложный тип
успех
Настройки для отключения подключений.

drainingTimeoutSec
целое число
успех
Время, в течение которого экземпляр будет отключаться (не принимать новые подключения, но всё ещё работать над завершением начатых).

consistentHash
сложный тип
успех
Балансировка нагрузки на основе консистентного хэширования может использоваться для обеспечения мягкой сцепки сессий на основе заголовков HTTP, cookie или других свойств. Этот метод балансировки нагрузки применим только для HTTP-соединений. Сцепка с конкретным хостом назначения будет потеряна, когда один или несколько хостов добавляются/удаляются из службы назначения. Это поле определяет параметры, которые управляют консистентным хэшированием.
Это поле применяется только в том случае, если все из перечисленного верно — * `load_balancing_scheme` установлено как INTERNAL_MANAGED * `protocol` установлено как HTTP, HTTPS или HTTP2 * `locality_lb_policy` установлено как MAGLEV или RING_HASH .

httpCookie
сложный тип
успех
Хэш основан на HTTP-cookie. Это поле описывает HTTP-cookie, которая будет использоваться в качестве ключа хэширования для консистентного балансировщика нагрузки. Если cookie отсутствует, она будет сгенерирована.
Это поле применимо, если sessionAffinity установлено как HTTP_COOKIE.

name
строка
успех
Имя cookie.

path
строка
успех
Путь для cookie.

ttl
сложный тип
успех
Срок жизни cookie.

nanos
целое число
успех
Продолжительность, которая представляет собой дробь секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены с полем 0 секунд и положительным полем nanos. Должно быть от 0 до 999 999 999 включительно.

seconds
целое число
успех
Продолжительность с разрешением в секунду.
Должно быть от 0 до 315 576 000 000 включительно.

httpHeaderName
строка
успех
Хэш, основанный на значении указанного поля заголовка.
Это поле применимо, если sessionAffinity установлено как HEADER_FIELD.

minimumRingSize
integer
success
Минимальное количество виртуальных узлов для использования в кольце хеширования.
Более крупные кольца приводят к более тонкой распределению нагрузки. Если количество хостов в пуле балансировки нагрузки больше размера кольца, каждому хосту будет назначен один виртуальный узел.
По умолчанию 1024.

creationTimestamp
string
success
Маркер времени создания в формате RFC3339.

description
string
success
Необязательное описание этого ресурса.

failoverPolicy
complex
success
Политика для переключений.

disableConnectionDrainOnFailover
boolean
success
При переключении или возврате этого поля указывается, будет ли учитываться сброс соединений. Установка в значение true имеет следующий эффект: соединения со старым активным пулом не сбрасываются. Соединения с новым активным пулом используют таймаут 10 минут (в настоящее время фиксировано). Установка в значение false имеет следующий эффект: и старые, и новые соединения будут иметь таймаут сброса 10 минут.
Это можно установить в значение true только если протокол TCP.
По умолчанию false.

dropTrafficIfUnhealthy
boolean
success
Этот параметр используется только в том случае, если в первичных и резервных группах экземпляров не обнаружены здоровые виртуальные машины. При установке в значение true трафик отбрасывается. При установке в значение false новые соединения отправляются через все виртуальные машины в первичной группе.
По умолчанию false.

failoverRatio
string
success
Значение поля должно быть в диапазоне [0, 1]. Если соотношение здоровых виртуальных машин в первичном бэкенде равно или меньше этого числа, трафик, поступающий на IP-адрес балансировки нагрузки, будет направлен на резервный бэкенд.
В случае, когда «failoverRatio» не задан или все виртуальные машины в резервном бэкенде неисправны, трафик будет направлен обратно в первичный бэкенд в режиме «force», где трафик будет распределен по здоровым виртуальным машинам с наилучшим усилием или по всем виртуальным машинам, когда ни одна виртуальная машина не здорова.
Это поле используется только с балансировкой нагрузки l4.

fingerprint
string
success
Отпечаток пальца этого ресурса. Хеш содержимого, хранящегося в этом объекте. Это поле используется при оптимистической блокировке.

healthChecks
list / elements=string
success
Набор URL-адресов ресурсов HealthCheck для проверки работоспособности данного RegionBackendService. В настоящее время может быть указана не более одной проверки работоспособности. Проверка работоспособности должна быть указана, если бэкенд-сервис не использует интернет или серверный NEG в качестве бэкенда.

id
integer
success
Уникальный идентификатор ресурса.

loadBalancingScheme
string
success
Указывает, для какого типа балансировки нагрузки будет использоваться этот региональный бэкенд-сервис. Бэкенд-сервис, созданный для одного типа балансировки нагрузки, не может быть использован с другими.

localityLbPolicy
string
success
Алгоритм балансировки нагрузки, используемый в рамках области.
Возможные значения:
- ROUND_ROBIN - Простая политика, в которой каждый здоровый бэкенд выбирается в циклическом порядке.
- LEAST_REQUEST - Алгоритм O(1), который выбирает две случайные здоровые хосты и выбирает хосту с меньшим количеством активных запросов.
- RING_HASH - Балансировщик кольца/модульного хеширования реализует согласованное хеширование для бэкендов. Алгоритм обладает свойством, что добавление/удаление хоста из набора из N хостов влияет только на 1/N запросов.
- RANDOM - Балансировщик выбирает случайную здоровую хосту.
- ORIGINAL_DESTINATION - Хост бэкенда выбирается на основе метаданных подключения клиента, т.е. соединения открываются к тому же адресу, что и адрес назначения входящего соединения, прежде чем соединение перенаправляется балансировщику нагрузки.
- MAGLEV - используется как замена балансировщика кольца хешей.
Maglev не такой стабильный, как ring hash, но имеет более быстрые времена построения таблицы и времена выбора хостов. Для получения дополнительной информации о Maglev обратитесь к https://ai.google/research/pubs/pub44824. Это поле применимо только тогда, когда `load_balancing_scheme` установлено в `INTERNAL_MANAGED`, а `protocol` установлено в `HTTP`, `HTTPS` или `HTTP2`.

logConfig
complex
success
Это поле обозначает параметры ведения журнала для трафика балансировки нагрузки, обслуживаемого этим бэкенд-сервисом.
Если ведение журнала включено, журналы будут экспортированы в Stackdriver.

enable
boolean
success
Включить ли ведение журнала для трафика балансировки нагрузки, обслуживаемого этим бэкенд-сервисом.

sampleRate
string
success
Это поле может быть указано только в том случае, если ведение журнала включено для этого бэкенд-сервиса. Значение поля должно быть в диапазоне [0, 1]. Это настраивает коэффициент выборки запросов балансировщиком нагрузки, где 1.0 означает, что все зарегистрированные запросы сообщаются, а 0.0 означает, что зарегистрированные запросы не сообщаются.
Значение по умолчанию 1.0.

name
string
success
Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. То есть имя должно быть длиной от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.

network
dictionary
success
URL сети, к которой принадлежит этот бэкенд-сервис.
Это поле может быть указано только при установке схемы балансировки нагрузки в INTERNAL.

outlierDetection
complex
success
Параметры, контролирующие исключение неисправных хостов из пула балансировки нагрузки.
Это поле применимо только тогда, когда `load_balancing_scheme` установлено в `INTERNAL_MANAGED`, а `protocol` установлено в `HTTP`, `HTTPS` или `HTTP2`.

baseEjectionTime
complex
success
Базовое время выброса хоста. Действительное время равно базовому времени, умноженному на количество раз, когда хост был выброшен. По умолчанию 30000 мс или 30 с.

nanos
integer
success
Продолжительность, являющаяся дробью секунды с разрешением наносекунды. Продолжительности менее одной секунды представлены полем `seconds` со значением 0 и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.

seconds
integer
success
Продолжительность с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно.

consecutiveErrors
integer
success
Количество ошибок до выброса хоста из пула соединений. Когда хост бэкенда обращается по протоколу HTTP, код ответа 5xx считается ошибкой.
По умолчанию 5.

consecutiveGatewayFailure
integer
success
Количество последовательных отказов шлюза (статус 502, 503, 504 или ошибки соединения, которые отображаются одним из этих кодов состояния) перед произойдет выброс из-за последовательных отказов шлюза. По умолчанию 5.

enforcingConsecutiveErrors
integer
success
Вероятность того, что хост будет фактически выброшен, когда статус аутсайдера обнаружен путем последовательных 5xx. Этот параметр может использоваться для отключения выброса или постепенного его повышения. По умолчанию 100.

enforcingConsecutiveGatewayFailure
integer
success
Вероятность того, что хост будет фактически выброшен, когда статус аутсайдера обнаружен путем последовательных отказов шлюза. Этот параметр может использоваться для отключения выброса или постепенного его повышения. По умолчанию 0.

enforcingSuccessRate
integer
success
Вероятность того, что хост будет фактически выброшен, когда статус аутсайдера обнаружен по статистике показателя успешности. Этот параметр может использоваться для отключения выброса или постепенного его повышения. По умолчанию 100.

interval
complex
success
Интервал времени между анализом выброса. Это может привести как к новым выбросам, так и к возвращению хостов в службу. По умолчанию 10 секунд.

nanos
integer
success
Продолжительность, являющаяся дробью секунды с разрешением наносекунды. Продолжительности менее одной секунды представлены полем `seconds` со значением 0 и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.

seconds
integer
success
Продолжительность с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно.

maxEjectionPercent
integer
success
Максимальный процент хостов в пуле балансировки нагрузки для бэкенд-сервиса, которые могут быть выброшены. По умолчанию 10%.

successRateMinimumHosts
integer
success
Количество узлов в кластере, которые должны иметь достаточный объём запросов для обнаружения отклонений в показателе успешности. Если количество узлов меньше этого значения, обнаружение выбросов на основе статистики успешности не выполняется для любого узла в кластере. По умолчанию 5.

successRateRequestVolume
integer
success
Минимальное количество общих запросов, которые должны быть собраны за один интервал (как определено выше длительностью интервала), чтобы включить этот узел в обнаружение выбросов на основе показателя успешности. Если объём ниже этого значения, обнаружение выбросов на основе статистики успешности не выполняется для этого узла. По умолчанию 100.

successRateStdevFactor
integer
success
Этот множитель используется для определения порога исключения выбросов по показателю успешности. Порог исключения — это разность между средним показателем успешности и произведением этого множителя и стандартного отклонения среднего показателя успешности: среднее - (стандартное отклонение * success_rate_stdev_factor). Этот множитель делится на тысячу, чтобы получить число с плавающей точкой. То есть, если желаемый множитель равен 1,9, значение во время выполнения должно быть 1900. По умолчанию 1900.

portName
string
success
Именованный порт на группе экземпляров бэкенда, представляющий порт для связи с виртуальными машинами бэкенда в этой группе. Требуется, когда loadBalancingScheme — EXTERNAL, INTERNAL_MANAGED или INTERNAL_SELF_MANAGED, а бэкенды — группы экземпляров. Имя порта должно быть определено на каждой группе экземпляров бэкенда. Этот параметр не имеет значения, если бэкенды — NEGs. API устанавливает значение по умолчанию "http", если оно не задано.
Должен быть опущен, когда loadBalancingScheme — INTERNAL (Внутренний балансировщик TCP/UDP).

protocol
string
success
Протокол, который использует RegionBackendService для связи с бэкендами.
По умолчанию HTTP. **ПРИМЕЧАНИЕ**: HTTP2 допустим только для типов бета-балансировщиков HTTP/2 и может привести к ошибкам, если используется с API GA.

region
string
success
Ссылка на регион, в котором находится региональная служба бэкенда.

sessionAffinity
string
success
Тип сродства сессий для использования. По умолчанию NONE. Сродство сессий неприменимо, если протокол UDP.

timeoutSec
integer
success
Сколько секунд ждать бэкенда, прежде чем считать запрос неудачным. По умолчанию 30 секунд. Допустимый диапазон [1, 86400].



Авторы

  • Google Inc. (@googlecloudplatform)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/google/cloud/gcp_compute_region_backend_service_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API