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