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 строка / обязательно |
| Тип используемых учетных данных. | |||
| 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 булево |
| Если true, запросы к разным хостам будут кэшироваться отдельно. | |||
| include_protocol булево |
| Если true, запросы http и https будут кэшироваться отдельно. | |||
| include_query_string булево |
| Если 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 логическое |
| Если 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 логическое |
| Включает 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 логическое |
| Включить или выключить ведение журнала трафика балансировщика нагрузки, обслуживаемого этой серверной службой. | |||
| 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 строка |
| Существование данного объекта в 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