Spec-Zone.ru › Ansible 2.11

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

Примечание

Этот плагин входит в сборку google.cloud (версия 1.0.2).

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

Для использования в playbook укажите: google.cloud.gcp_compute_backend_service.

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

Описание

  • Услуга Backend Service определяет группу виртуальных машин, которые будут обслуживать трафик для балансировки нагрузки. Этот ресурс — глобальная служба Backend Service, подходящая для внешней балансировки нагрузки или собственно управляемой внутренней балансировки нагрузки.
  • Для управляемой внутренней балансировки нагрузки используйте региональную службу 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
словарь
Генерация балансировки нагрузки на основе консистентного хэширования, которая может использоваться для обеспечения мягкой привязки сеансов на основе HTTP-заголовков, куки или других свойств. Эта политика балансировки нагрузки применима только для HTTP-соединений. Привязка к конкретному хосту назначения будет потеряна при добавлении или удалении одного или нескольких хостов из службы назначения. Данное поле задаёт параметры, контролирующие консистентное хэширование. Это поле применимо только если load_balancing_scheme установлено в INTERNAL_SELF_MANAGED. Это поле применимо только когда locality_lb_policy установлено в MAGLEV или RING_HASH.
http_cookie
словарь
Хеширование основано на HTTP-куки. Это поле описывает HTTP-куки, которые будут использоваться в качестве ключа хэша для консистентного балансировщика нагрузки. Если куки отсутствует, она будет сгенерирована.
Это поле применимо, если sessionAffinity установлено в HTTP_COOKIE.
name
строка
Имя куки.
path
строка
Путь для установки куки.
ttl
словарь
Срок действия куки.
nanos
целое число
Промежуток времени, представляющий дробную часть секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены значением 0 секунд и положительным значением nanos. Должно быть в диапазоне от 0 до 999 999 999 включительно.
seconds
целое число / обязательно
Промежуток времени с разрешением в секунду.
Должно быть в диапазоне от 0 до 315 576 000 000 включительно.
http_header_name
строка
Хеширование, основанное на значении указанного поля заголовка.
Это поле применимо, если sessionAffinity установлено в HEADER_FIELD.
minimum_ring_size
целое число
По умолчанию:
"1024"
Минимальное количество виртуальных узлов для использования в кольце хэширования.
Большие размеры кольца приводят к более дробным распределениям нагрузки. Если количество хостов в пуле балансировки нагрузки больше размера кольца, каждому хосту будет назначен один виртуальный узел.
По умолчанию 1024.
custom_request_headers
список / элементы=строка
Заголовки, которые балансировщик HTTP/S-нагрузки должен добавлять к проксируемым запросам.
description
строка
Необязательное описание этого ресурса.
enable_cdn
логическое
    Варианты:
  • no
  • yes
Если true, включить Cloud CDN для данного BackendService.
env_type
строка
Указывает, в какой среде Ansible выполняется этот модуль.
Это следует устанавливать только если вы знаете, что делаете.
Это изменяет только строку User Agent для любых запросов к API.
health_checks
список / элементы=строка
Набор URL-адресов к ресурсам HttpHealthCheck или HttpsHealthCheck для проверки состояния данного BackendService. В настоящее время может быть указана только одна проверка состояния.
Проверка состояния должна быть указана, если серверная служба не использует интернет или серверный NEG в качестве бэкенда.
Для внутренней балансировки нагрузки вместо этого необходимо указать URL-адрес ресурса HealthCheck.
iap
словарь
Параметры для включения Cloud Identity Aware Proxy.
enabled
логическое
    Варианты:
  • no
  • yes
Включает IAP.
oauth2_client_id
строка / обязательно
Идентификатор OAuth2-клиента для IAP.
oauth2_client_secret
строка / обязательно
Секрет OAuth2-клиента для IAP.
load_balancing_scheme
строка
По умолчанию:
"EXTERNAL"
Указывает, будет ли серверная служба использоваться с внутренней или внешней балансировкой нагрузки. Серверная служба, созданная для одного типа балансировки, не может использоваться с другим.
Некоторые допустимые значения: "EXTERNAL", "INTERNAL_SELF_MANAGED"
locality_lb_policy
строка
Алгоритм балансировки нагрузки, используемый в рамках области.
Возможные значения:
* 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_SELF_MANAGED.
Некоторые допустимые значения: "ROUND_ROBIN", "LEAST_REQUEST", "RING_HASH", "RANDOM", "ORIGINAL_DESTINATION", "MAGLEV"
log_config
словарь
Это поле обозначает параметры ведения журнала для трафика балансировщика нагрузки, обслуживаемого этой серверной службой.
Если ведение журнала включено, журналы будут экспортированы в Stackdriver.
enable
логическое
    Варианты:
  • no
  • yes
Включить или выключить ведение журнала трафика балансировщика нагрузки, обслуживаемого этой серверной службой.
sample_rate
строка
Это поле можно указать только если ведение журнала включено для этой серверной службы. Значение поля должно быть в диапазоне [0, 1]. Этот параметр настраивает коэффициент выборки запросов к балансировщику нагрузки, где 1.0 означает, что все запросы, которые должны быть залогированы, будут зарегистрированы, а 0.0 означает, что ни один запрос не будет залогирован.
Значение по умолчанию 1.0.
name
строка / обязательно
Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. Точнее, имя должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы — тире, строчные буквы или цифры, за исключением последнего символа, который не может быть тире.
outlier_detection
словарь
Настройки, контролирующие исключение неисправных хостов из пула балансировки.
Это поле применимо только когда load_balancing_scheme установлено в INTERNAL_SELF_MANAGED.
base_ejection_time
словарь
Базовое время исключения хоста. Фактическое время равно базовому времени, умноженному на количество раз, когда хост был исключен. По умолчанию 30 000 мс или 30 с.
nanos
целое число
Промежуток времени, представляющий дробную часть секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены значением 0 секунд и положительным значением nanos. Должно быть в диапазоне от 0 до 999 999 999 включительно.
seconds
целое число / обязательно
Промежуток времени с разрешением в секунду. Должно быть в диапазоне от 0 до 315 576 000 000 включительно.
consecutive_errors
целое число
По умолчанию:
"5"
Количество ошибок перед исключением хоста из пула соединений. Когда хост бэкенда обращается по протоколу HTTP, код возврата 5xx считается ошибкой.
По умолчанию 5.
consecutive_gateway_failure
целое число
По умолчанию:
"5"
Количество последовательных сбоев шлюза (статусы 502, 503, 504 или ошибки соединения, которые отображаются в одном из этих кодов статуса) перед исключением из-за последовательной ошибки шлюза. По умолчанию 5.
enforcing_consecutive_errors
целое число
По умолчанию:
"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
сложный
success
Хэш основан на HTTP-cookie. Это поле описывает HTTP-cookie, которая будет использоваться в качестве ключа хэша для балансировщика нагрузки с согласованным хэшированием. Если cookie отсутствует, она будет сгенерирована.
Это поле применимо, если sessionAffinity установлено в HTTP_COOKIE.

name
строка
success
Имя cookie.

path
строка
success
Путь для установки cookie.

ttl
сложный
success
Срок действия cookie.

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

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

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

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

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

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

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

enableCDN
булево
success
Если true, включить Cloud CDN для этого BackendService.

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

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

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

enabled
булево
success
Включает IAP.

oauth2ClientId
строка
success
OAuth2 Client ID для IAP.

oauth2ClientSecret
строка
success
OAuth2 Client Secret для IAP.

oauth2ClientSecretSha256
строка
success
OAuth2 Client Secret SHA-256 для IAP.

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

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

localityLbPolicy
строка
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_SELF_MANAGED.

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

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

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

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

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

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

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

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

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

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

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

enforcingConsecutiveGatewayFailure
целое число
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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/google/cloud/gcp_compute_backend_service_module.html

Spec-Zone.ru

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