Spec-Zone.ru › Ansible 2.10

google.cloud.gcp_compute_backend_service – Создаёт GCP BackendService

Примечание

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

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

Для использования в playbook укажите: google.cloud.gcp_compute_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
список / элементы=словарь
Набор бэкендов, обслуживающих данный BackendService.
balancing_mode
строка
Значение по умолчанию:
"UTILIZATION"
Указывает режим балансировки для данного бэкенда.
Для глобальной HTTP(S) или TCP/SSL балансировки по умолчанию установлен UTILIZATION. Допустимые значения: UTILIZATION, RATE (для HTTP(S)) и CONNECTION (для TCP/SSL).
Некоторые допустимые варианты: "UTILIZATION", "RATE", "CONNECTION"
capacity_scaler
строка
Значение по умолчанию:
"1.0"
Множитель, применяемый к максимальной пропускной способности группы (на основе UTILIZATION, RATE или CONNECTION).
Значение по умолчанию — 1, что означает, что группа будет обслуживать до 100% своей конфигурированной пропускной способности (в зависимости от balancingMode). Значение 0 означает, что группа полностью отключена, предоставляя 0% своей доступной пропускной способности. Допустимый диапазон — [0.0, 1.0].
description
строка
Необязательное описание этого ресурса.
Укажите это свойство при создании ресурса.
group
строка / обязательно
Полный URL ресурса группы экземпляров или группы сетевых конечных точек. В случае группы экземпляров это определяет список экземпляров, которые обслуживают трафик. Виртуальные машины-члены каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Две группы бэкендов в одном бэкенд-сервисе не могут использовать один и тот же ресурс группы экземпляров.
Для групп сетевых конечных точек это определяет список конечных точек. Все конечные точки группы сетевых конечных точек должны размещаться на экземплярах, расположенных в той же зоне, что и группа сетевых конечных точек.
Бэкенд-сервисы не могут смешивать группы экземпляров и группы сетевых конечных точек.
Обратите внимание, что вы должны указать ресурс группы экземпляров или группы сетевых конечных точек с помощью полного 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. Для режима RATE необходимо установить либо maxRate, либо maxRatePerInstance или maxRatePerEndpoint в зависимости от типа группы.
max_rate_per_endpoint
строка
Максимальное количество запросов в секунду (RPS), которое может обрабатывать одна сетевая конечная точка бэкенда. Используется для расчета емкости группы. Может использоваться в любом режиме балансировки. Для режима RATE необходимо установить либо maxRate, либо maxRatePerEndpoint.
max_rate_per_instance
строка
Максимальное количество запросов в секунду (RPS), которое может обрабатывать один экземпляр бэкенда. Используется для расчета емкости группы. Может использоваться в любом режиме балансировки. Для режима RATE необходимо установить либо maxRate, либо maxRatePerInstance.
max_utilization
строка
Значение по умолчанию:
"0.8"
Используется, когда balancingMode равен UTILIZATION. Это отношение определяет целевое значение использования ЦП для группы. По умолчанию 0,8. Допустимый диапазон — [0.0, 1.0].
cdn_policy
словарь
Настройка Cloud CDN для этого BackendService.
cache_key_policy
словарь
CacheKeyPolicy для этого CdnPolicy.
include_host
булево
    Варианты:
  • no
  • yes
Если true, запросы к разным хостам будут кэшироваться отдельно.
include_protocol
булево
    Варианты:
  • no
  • yes
Если true, запросы http и https будут кэшироваться отдельно.
include_query_string
булево
    Варианты:
  • no
  • yes
Если true, параметры строки запроса включаются в ключ кэша в соответствии с query_string_whitelist и query_string_blacklist. Если ни то, ни другое не задано, вся строка запроса включается.
Если false, строка запроса полностью исключается из ключа кэша.
query_string_blacklist
список / элементы=строка
Имена параметров строки запроса, которые нужно исключить из ключей кэша.
Все остальные параметры будут включены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба сразу.
'&' и '=' будут закодированы в проценты и не будут обрабатываться как разделители.
query_string_whitelist
список / элементы=строка
Имена параметров строки запроса, которые нужно включить в ключи кэша.
Все остальные параметры будут исключены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба сразу.
'&' и '=' будут закодированы в проценты и не будут обрабатываться как разделители.
signed_url_cache_max_age_sec
целое число
Значение по умолчанию:
"3600"
Максимальное количество секунд, в течение которых ответ на запрос подписанного URL-адреса считается актуальным, по умолчанию 1 час (3600 с). По истечении этого срока ответ будет перепроверен перед выдачей.
При предоставлении ответов на запросы подписанных URL-адресов Cloud CDN будет внутренне действовать так, как будто все ответы от этого бэкенда имели заголовок "Cache-Control: public, max-age=[TTL]", независимо от любого существующего заголовка Cache-Control. Фактические заголовки, подаваемые в ответах, не будут изменены.
circuit_breakers
словарь
Настройки, контролирующие объем подключений к бэкенд-сервису. Это поле применимо только в том случае, если load_balancing_scheme установлено в INTERNAL_SELF_MANAGED.
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
dictionary
Хэширование на основе консистентного хэша может быть использовано для обеспечения мягкой сродности сессий на основе HTTP-заголовков, cookie или других свойств. Эта политика балансировки нагрузки применима только для HTTP-соединений. Сродство с конкретным целевым хостом будет потеряно при добавлении или удалении одного или нескольких хостов из целевой службы. Это поле указывает параметры, которые контролируют консистентное хэширование. Это поле применяется только если load_balancing_scheme установлено в INTERNAL_SELF_MANAGED. Это поле применимо только когда locality_lb_policy установлено в MAGLEV или RING_HASH.
http_cookie
dictionary
Хеширование основано на HTTP Cookie. Это поле описывает HTTP cookie, которая будет использоваться в качестве ключа хэширования для балансировщика нагрузки консистентного хэширования. Если cookie отсутствует, она будет сгенерирована.
Это поле применимо, если sessionAffinity установлено в HTTP_COOKIE.
name
string
Имя cookie.
path
string
Путь для установки cookie.
ttl
dictionary
Срок действия cookie.
nanos
integer
Продолжительность, которая представляет собой дробную долю секунды с разрешением в наносекунды. Продолжительности меньше одной секунды представлены полем 0 секунд и положительным полем nanos. Должно быть от 0 до 999 999 999 включительно.
seconds
integer / required
Продолжительность со значением в секундах.
Должно быть от 0 до 315 576 000 000 включительно.
http_header_name
string
Хеширование основано на значении указанного поля заголовка.
Это поле применимо, если sessionAffinity установлено в HEADER_FIELD.
minimum_ring_size
integer
Значение по умолчанию:
"1024"
Минимальное количество виртуальных узлов для использования в кольце хэширования.
Большие размеры кольца приводят к более гранулярному распределению нагрузки. Если количество хостов в пуле балансировки нагрузки больше размера кольца, каждому хосту будет назначен один виртуальный узел.
По умолчанию 1024.
custom_request_headers
list / elements=string
Заголовки, которые балансировщик HTTP/S-нагрузки должен добавить к проксированным запросам.
description
string
Необязательное описание этого ресурса.
enable_cdn
boolean
    Варианты:
  • no
  • yes
Если true, включить Cloud CDN для этого BackendService.
env_type
string
Указывает, в какой среде Ansible выполняется этот модуль.
Это не следует устанавливать, если вы не знаете, что делаете.
Это изменяет только строку User Agent для всех запросов к API.
health_checks
list / elements=string
Набор URL-адресов к ресурсу HttpHealthCheck или HttpsHealthCheck для проверки работоспособности этого BackendService. В настоящее время можно указать не более одного элемента проверки работоспособности.
Необходимо указать проверку работоспособности, если сервер балансировки использует интернет или серверless NEG в качестве бэкенда.
Для внутренней балансировки нагрузки вместо этого необходимо указать URL-адрес ресурса HealthCheck.
iap
dictionary
Настройки для включения Cloud Identity Aware Proxy.
enabled
boolean
    Варианты:
  • no
  • yes
Включает IAP.
oauth2_client_id
string / required
Идентификатор OAuth2-клиента для IAP.
oauth2_client_secret
string / required
Секрет OAuth2-клиента для IAP.
load_balancing_scheme
string
Значение по умолчанию:
"EXTERNAL"
Указывает, будет ли бэкенд-сервис использоваться с внутренней или внешней балансировкой нагрузки. Бэкенд-сервис, созданный для одного типа балансировки нагрузки, не может использоваться с другим типом.
Некоторые допустимые значения: "EXTERNAL", "INTERNAL_SELF_MANAGED"
locality_lb_policy
string
Алгоритм балансировки нагрузки, используемый в рамках области.
Возможные значения: - 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_SELF_MANAGED.
Некоторые допустимые значения: "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])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире.
outlier_detection
dictionary
Настройки, контролирующие исключение неисправных хостов из пула балансировки нагрузки.
Это поле применимо только при load_balancing_scheme, установленном в INTERNAL_SELF_MANAGED.
base_ejection_time
dictionary
Базовое время исключения хоста. Действительное время равно базовому времени, умноженному на количество раз исключения хоста. По умолчанию 30000 мс или 30 с.
nanos
integer
Продолжительность, которая представляет собой дробную долю секунды с разрешением в наносекунды. Продолжительности меньше одной секунды представлены полем 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
целое число
Вероятность в процентах, что хост будет фактически исключён, когда статус аномалии определяется по последовательным сбоям шлюза. Этот параметр может быть использован для отключения исключения или для постепенного его включения. По умолчанию 0.
enforcing_success_rate
целое число
Значение по умолчанию:
"100"
Вероятность в процентах, что хост будет фактически исключён, когда статус аномалии определяется по статистике успеха. Этот параметр может быть использован для отключения исключения или для постепенного его включения. По умолчанию 100.
interval
словарь
Интервал времени между анализом исключений. Это может привести к как новым исключениям, так и возвращению хостов в работу. По умолчанию 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). Этот множитель делится на тысячу, чтобы получить double. То есть, если желаемый множитель равен 1,9, значение в runtime должно быть 1900. По умолчанию 1900.
port_name
строка
Имя бэкенд-порта. То же самое имя должно присутствовать в группах экземпляров, на которые ссылается этот сервис. Требуется, когда схема балансировки нагрузки — EXTERNAL.
project
строка
Проект Google Cloud Platform, который следует использовать.
protocol
строка
Протокол, используемый этим BackendService для взаимодействия с бэкендами.
По умолчанию HTTP. **ПРИМЕЧАНИЕ**: HTTP2 допустим только для типов бета-балансировщиков HTTP/2 и может привести к ошибкам, если используется с API GA.
Некоторые допустимые варианты: "HTTP", "HTTPS", "HTTP2", "TCP", "SSL", "GRPC"
scopes
список / элементы=строка
Массив используемых областей
security_policy
строка
Политика безопасности, связанная с этим бэкенд-сервисом.
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].

алиасы: timeout_seconds

Примечания

Примечание

  • API Reference: https://cloud.google.com/compute/docs/reference/v1/backendServices
  • Официальная документация: https://cloud.google.com/compute/docs/load-balancing/http/backend-service
  • для аутентификации можно установить 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 instance group
  google.cloud.gcp_compute_instance_group:
    name: instancegroup-backendservice
    zone: us-central1-a
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: instancegroup

- name: create a HTTP health check
  google.cloud.gcp_compute_http_health_check:
    name: httphealthcheck-backendservice
    healthy_threshold: 10
    port: 8080
    timeout_sec: 2
    unhealthy_threshold: 5
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: healthcheck

- name: create a backend service
  google.cloud.gcp_compute_backend_service:
    name: test_object
    backends:
    - group: "{{ instancegroup.selfLink }}"
    health_checks:
    - "{{ healthcheck.selfLink }}"
    enable_cdn: 'true'
    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
сложное
успешно
Набор бэкендов, которые обслуживают этот BackendService.

balancingMode
строка
успешно
Указывает режим балансировки для этого бэкенда.
Для глобальной HTTP(S) или TCP/SSL балансировки нагрузок по умолчанию используется UTILIZATION. Допустимые значения: UTILIZATION, RATE (для HTTP(S)) и CONNECTION (для TCP/SSL).

capacityScaler
строка
успешно
Множитель, применяемый к максимальной обрабатывающей способности группы (на основе UTILIZATION, RATE или CONNECTION).
Значение по умолчанию — 1, что означает, что группа будет обрабатывать до 100% своей конфигурированной способности (в зависимости от balancingMode). Значение 0 означает полную остановку группы, что обеспечивает 0% доступной способности. Допустимый диапазон — [0.0,1.0].

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

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

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

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

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

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

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

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

maxUtilization
строка
успешно
Используется, когда balancingMode равен UTILIZATION. Это отношение определяет целевое значение использования ЦП для группы. Значение по умолчанию — 0.8. Допустимый диапазон — [0.0, 1.0].

cdnPolicy
сложное
успешно
Настройка Cloud CDN для этого BackendService.

cacheKeyPolicy
сложное
успешно
CacheKeyPolicy для этого CdnPolicy.

includeHost
булево
успешно
Если true, запросы к разным хостам будут кэшироваться отдельно.

includeProtocol
булево
успешно
Если true, запросы http и https будут кэшироваться отдельно.

includeQueryString
булево
успешно
Если true, параметры строки запроса включаются в ключ кэша в соответствии с query_string_whitelist и query_string_blacklist. Если ни один из них не задан, вся строка запроса будет включена.
Если false, строка запроса полностью исключается из ключа кэша.

queryStringBlacklist
список / элементы=строка
успешно
Имена параметров строки запроса, которые нужно исключить из ключей кэша.
Все остальные параметры будут включены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба.
'&' и '=' будут закодированы в проценты и не будут рассматриваться как разделители.

queryStringWhitelist
список / элементы=строка
успешно
Имена параметров строки запроса, которые нужно включить в ключи кэша.
Все остальные параметры будут исключены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба.
'&' и '=' будут закодированы в проценты и не будут рассматриваться как разделители.

signedUrlCacheMaxAgeSec
целое число
успешно
Максимальное количество секунд, в течение которых ответ на запрос подписанного URL будет считаться свежим, по умолчанию 1 час (3600 сек). По истечении этого периода ответ будет перепроверен перед предоставлением.
При предоставлении ответов на запросы подписанного URL Cloud CDN будет вести себя так, как будто все ответы с этого бэкенда имели заголовок «Cache-Control: public, max-age=[TTL]», независимо от любого существующего заголовка Cache-Control. Фактические заголовки, предоставляемые в ответах, не будут изменены.

circuitBreakers
сложное
успешно
Настройки, контролирующие объём подключений к службе бэкенда. Это поле применимо только тогда, когда load_balancing_scheme установлено в INTERNAL_SELF_MANAGED.

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_SELF_MANAGED. Это поле применимо только если locality_lb_policy установлено в MAGLEV или RING_HASH.

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

name
string
success
Имя cookie.

path
string
success
Путь для cookie.

ttl
complex
success
Срок действия cookie.

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

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

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

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

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

customRequestHeaders
list / elements=string
success
Заголовки, которые балансировщик HTTP/S должен добавить к запросам с проксированием.

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

enableCDN
boolean
success
Если true, включить Cloud CDN для данного BackendService.

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

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

iap
complex
success
Настройки для включения Cloud Identity Aware Proxy.

enabled
boolean
success
Включает IAP.

oauth2ClientId
string
success
OAuth2 идентификатор клиента для IAP.

oauth2ClientSecret
string
success
OAuth2 секрет клиента для IAP.

oauth2ClientSecretSha256
string
success
OAuth2 секрет клиента SHA-256 для IAP.

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

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

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

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])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.

outlierDetection
complex
success
Настройки, контролирующие исключение неисправных хостов из пула балансировки.
Это поле применимо только в том случае, если load_balancing_scheme установлено в INTERNAL_SELF_MANAGED.

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

nanos
integer
success
Промежуток времени, представляющий дробь секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены полем 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
Продолжительность времени, являющаяся долей секунды с разрешением в наносекунды. Продолжительности меньше секунды представлены значением 0 в поле `seconds` и положительным значением в поле `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
Имя бэкенд-порта. То же имя должно быть указано в группах экземпляров, на которые ссылается эта служба. Требуется, когда схема балансировки нагрузки — EXTERNAL.

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

securityPolicy
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_backend_service_module.html

Spec-Zone.ru

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