google.cloud.gcp_compute_region_backend_service – Создаёт GCP RegionBackendService
Примечание
Этот плагин входит в коллекцию google.cloud (версия 1.0.1).
Для его установки используйте: ansible-galaxy collection install google.cloud.
Чтобы использовать его в плейбуке, укажите: google.cloud.gcp_compute_region_backend_service.
Обзор
- Сервис регионального бэкэнда определяет региональную группу виртуальных машин, которые будут обрабатывать трафик для балансировки нагрузки.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |||
|---|---|---|---|---|---|
| affinity_cookie_ttl_sec целое число | Срок жизни cookie в секундах, если session_affinity — GENERATED_COOKIE. Если установлено значение 0, cookie не сохраняется и действует только до конца сессии браузера (или эквивалента). Максимальное разрешённое значение TTL — один день. При схеме балансировки INTERNAL это поле не используется. | ||||
| auth_kind строка / обязательно |
| Тип используемых учетных данных. | |||
| backends список / элементы=словарь | Набор бэкендов, которые обслуживают этот RegionBackendService. | ||||
| balancing_mode строка | Значение по умолчанию: "CONNECTION" | Указывает режим балансировки для этого бэкенда. Некоторые допустимые значения: "UTILIZATION", "RATE", "CONNECTION" | |||
| capacity_scaler строка | Множитель, применяемый к максимальной пропускной способности группы (основанной на UTILIZATION, RATE или CONNECTION). ~>**ПРИМЕЧАНИЕ**: Это поле нельзя установить для внутренних бэкенд-служб региона (по умолчанию loadBalancingScheme), но оно обязательно для бэкенд-служб, не являющихся внутренними. Общий capacity_scaler для всех бэкендов должен быть отличным от нуля. Значение 0 означает, что группа полностью отключена, предоставляя 0% своей доступной емкости. Допустимый диапазон [0,0, 1,0]. | ||||
| description строка | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | ||||
| failover булево |
| Это поле указывает, является ли данный бэкенд бэкендом резервного копирования. Для данного RegionBackendService можно настроить более одного бэкенда резервного копирования. | |||
| group строка / обязательно | Полный URL ресурса группы экземпляров или группы сетевых конечных точек. В случае группы экземпляров это определяет список экземпляров, которые обслуживают трафик. Виртуальные машины-члены каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Нельзя использовать один и тот же ресурс группы экземпляров для двух бэкендов в одной бэкенд-службе. Для групп сетевых конечных точек это определяет список конечных точек. Все конечные точки группы сетевых конечных точек должны размещаться на экземплярах, расположенных в той же зоне, что и сама группа сетевых конечных точек. Бэкенд-службы не могут смешивать бэкенды групп экземпляров и групп сетевых конечных точек. При `load_balancing_scheme` равном INTERNAL поддерживаются только группы экземпляров. Обратите внимание, что вы должны указать ресурс группы экземпляров или группы сетевых конечных точек с помощью полного URL-адреса, а не частичного. | ||||
| max_connections целое число | Максимальное количество одновременных подключений для группы. Может использоваться с режимами балансировки CONNECTION или UTILIZATION. Нельзя установить для внутренних бэкенд-служб. Для режима CONNECTION необходимо указать либо maxConnections, либо maxConnectionsPerInstance или maxConnectionsPerEndpoint, в зависимости от типа группы. | ||||
| max_connections_per_endpoint целое число | Максимальное количество одновременных подключений, которые может обрабатывать одна сетевая конечная точка бэкенда. Нельзя установить для внутренних бэкенд-служб. Используется для расчета емкости группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо указать либо maxConnections, либо maxConnectionsPerEndpoint. | ||||
| max_connections_per_instance целое число | Максимальное количество одновременных подключений, которые может обработать один экземпляр бэкенда. Нельзя установить для внутренних бэкенд-служб. Используется для расчета емкости группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо указать либо maxConnections, либо maxConnectionsPerInstance. | ||||
| max_rate целое число | Максимальное количество запросов в секунду (RPS) группы. Нельзя установить для внутренних бэкенд-служб. Может использоваться с режимами балансировки RATE или UTILIZATION, но обязательно при режиме RATE. Необходимо указать либо maxRate, либо maxRatePerInstance или maxRatePerEndpoint, в зависимости от типа группы. | ||||
| max_rate_per_endpoint строка | Максимальное количество запросов в секунду (RPS), которые может обработать одна сетевая конечная точка бэкенда. Это используется для расчета емкости группы. Может использоваться в любом режиме балансировки. При режиме RATE необходимо указать либо maxRate, либо maxRatePerEndpoint. Нельзя установить для внутренних бэкенд-служб. | ||||
| max_rate_per_instance строка | Максимальное количество запросов в секунду (RPS), которые может обработать один экземпляр бэкенда. Это используется для расчета емкости группы. Может использоваться в любом режиме балансировки. При режиме RATE необходимо указать либо maxRate, либо maxRatePerInstance. Нельзя установить для внутренних бэкенд-служб. | ||||
| max_utilization строка | Используется при balancingMode UTILIZATION. Это отношение определяет целевую загрузку ЦП для группы. Допустимый диапазон [0,0, 1,0]. Нельзя установить для внутренних бэкенд-служб. | ||||
| circuit_breakers словарь | Настройки, контролирующие объем подключений к бэкенд-службе. Это поле применимо только в том случае, если `load_balancing_scheme` установлено в INTERNAL_MANAGED, а `protocol` — в HTTP, HTTPS или HTTP2. | ||||
| max_connections целое число | Значение по умолчанию: "1024" | Максимальное количество подключений к кластеру бэкенда. По умолчанию 1024. | |||
| max_pending_requests целое число | Значение по умолчанию: "1024" | Максимальное количество ожидающих запросов в кластер бэкенда. По умолчанию 1024. | |||
| max_requests целое число | Значение по умолчанию: "1024" | Максимальное количество параллельных запросов к кластеру бэкенда. По умолчанию 1024. | |||
| max_requests_per_connection целое число | Максимальное количество запросов для одного подключения к бэкенду. Этот параметр учитывается как реализациями HTTP/1.1, так и HTTP/2. Если не указано, ограничений нет. Установка этого параметра в 1 фактически отключит keep-alive. | ||||
| max_retries целое число | Значение по умолчанию: "3" | Максимальное количество параллельных попыток переподключения к кластеру бэкенда. По умолчанию 3. | |||
| connection_draining словарь | Настройки для отключения подключений. | ||||
| draining_timeout_sec целое число | Значение по умолчанию: "300" | Время, в течение которого экземпляр будет отключаться (не принимать новые подключения, но продолжать работу над начатыми). | |||
| consistent_hash словарь | Балансировка нагрузки на основе консистентного хэширования может использоваться для обеспечения мягкой сцепки сессий на основе заголовков HTTP, cookie или других свойств. Эта политика балансировки нагрузки применима только для HTTP-соединений. Связь с конкретным хостом назначения будет потеряна, когда один или несколько хостов добавлены/удалены из службы назначения. Это поле определяет параметры, которые управляют консистентным хэшированием. Это поле применимо только при одновременном выполнении следующих условий: * `load_balancing_scheme` установлено в INTERNAL_MANAGED * `protocol` установлено в HTTP, HTTPS или HTTP2 * `locality_lb_policy` установлено в MAGLEV или RING_HASH. | ||||
| http_cookie словарь | Хэширование основано на HTTP-cookie. Это поле описывает HTTP-cookie, которая будет использоваться в качестве ключа хэширования для балансировщика консистентного хэширования. Если cookie отсутствует, она будет сгенерирована. Это поле применимо, если sessionAffinity установлено в HTTP_COOKIE. | ||||
| name строка | Имя cookie. | ||||
| path строка | Путь для установки cookie. | ||||
| ttl словарь | Срок действия cookie. | ||||
| nanos целое число | Продолжительность времени, которая является дробной частью секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены полем 0 секунд и положительным полем nanos. Должно быть от 0 до 999 999 999 включительно. | ||||
| seconds целое число / обязательно | Продолжительность времени с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно. | ||||
| http_header_name string | Хэш, основанный на значении указанного поля заголовка. Это поле применимо, если sessionAffinity задано как HEADER_FIELD. | ||||
| minimum_ring_size integer | Значение по умолчанию: "1024" | Минимальное количество виртуальных узлов для использования в кольце хэширования. Более крупные кольца приводят к более тонкой распределению нагрузки. Если количество хостов в пуле балансировки нагрузки больше размера кольца, каждому хосту будет назначен один виртуальный узел. По умолчанию 1024. | |||
| description string | Необязательное описание этого ресурса. | ||||
| env_type string | Указывает, в какой среде Ansible вы выполняете этот модуль. Это не следует устанавливать, если вы не знаете, что делаете. Это изменяет только строку User Agent для всех запросов API. | ||||
| failover_policy dictionary | Политика для failover. | ||||
| disable_connection_drain_on_failover boolean |
| При failover или failback это поле указывает, будет ли соблюдаться дренирование соединений. Установка этого значения в true имеет следующий эффект: соединения со старым активным пулом не дренажируются. Соединения с новым активным пулом используют таймаут в 10 минут (в настоящее время фиксировано). Установка в false имеет следующий эффект: как старые, так и новые соединения будут иметь таймаут дренирования 10 минут. Это может быть установлено в true только если протокол TCP. По умолчанию false. | |||
| drop_traffic_if_unhealthy boolean |
| Этот параметр используется только тогда, когда в группах экземпляров первичного и резервного нет здоровых виртуальных машин. При установке в значение true трафик отбрасывается. При установке в значение false новые соединения отправляются по всем виртуальным машинам в первичной группе. По умолчанию false. | |||
| failover_ratio string | Значение поля должно быть в диапазоне [0, 1]. Если отношение здоровых виртуальных машин в первичном бэкенде равно или меньше этого числа, трафик, прибывающий по IP-адресу балансировки нагрузки, будет направлен в резервный бэкенд. В случае, когда 'failoverRatio' не задан или все виртуальные машины в резервном бэкенде неисправны, трафик будет перенаправлен обратно в первичный бэкенд в режиме «force», где трафик будет распределен по здоровым виртуальным машинам с наилучшими усилиями или всем виртуальным машинам, когда ни одна виртуальная машина не здорова. Это поле используется только для балансировки нагрузки L4. | ||||
| health_checks list / elements=string | Набор URL-адресов ресурсов HealthCheck для проверки работоспособности этого регионального бэкенд-сервиса. В настоящее время можно указать не более одного контрольного элемента. Контрольный элемент должен быть указан, если бэкенд-сервис не использует интернет-или серверный NEG в качестве бэкенда. | ||||
| load_balancing_scheme string | Значение по умолчанию: "INTERNAL" | Указывает, для какой балансировки нагрузки будет использоваться этот региональный бэкенд-сервис. Бэкенд-сервис, созданный для одного типа балансировки нагрузки, не может использоваться с другими типами. Некоторые допустимые значения: «INTERNAL», «INTERNAL_MANAGED» | |||
| locality_lb_policy string | Алгоритм балансировки нагрузки, используемый в пределах области. Возможные значения: - ROUND_ROBIN - это простая политика, в которой каждый здоровый бэкенд выбирается в порядке круговой очереди. LEAST_REQUEST - алгоритм O(1), который выбирает две случайные здоровые хосты и выбирает хост с меньшим количеством активных запросов. RING_HASH - балансировщик нагрузки с кольцевым/модульным хэшем использует согласованное хэширование для бэкендов. Алгоритм имеет свойство, что добавление/удаление хоста из набора из N хостов влияет только на 1/N запросов. RANDOM - балансировщик нагрузки выбирает случайный здоровый хост. ORIGINAL_DESTINATION - хост бэкенда выбирается на основе метаданных соединения клиента, т.е. соединения открываются по тому же адресу, что и адрес назначения входящего соединения, прежде чем соединение было перенаправлено на балансировщик нагрузки. MAGLEV - используется как замена балансировщику нагрузки ring hash. Maglev не такой стабильный, как ring hash, но имеет более быстрые времена построения таблиц и выбора хостов. Для получения дополнительной информации о Maglev см. https://ai.google/research/pubs/pub44824 Это поле применимо только при «load_balancing_scheme», равном «INTERNAL_MANAGED», и «protocol», равном «HTTP», «HTTPS» или «HTTP2». Некоторые допустимые значения: «ROUND_ROBIN», «LEAST_REQUEST», «RING_HASH», «RANDOM», «ORIGINAL_DESTINATION», «MAGLEV» | ||||
| log_config dictionary | Это поле обозначает параметры ведения журнала для трафика балансировки нагрузки, обслуживаемого этим бэкенд-сервисом. Если ведение журнала включено, логи будут экспортированы в Stackdriver. | ||||
| enable boolean |
| Включить ведение журнала для трафика балансировки нагрузки, обслуживаемого этим бэкенд-сервисом. | |||
| sample_rate string | Это поле может быть указано только в том случае, если ведение журнала включено для этого бэкенд-сервиса. Значение поля должно быть в диапазоне [0, 1]. Это настраивает скорость выборки запросов к балансировщику нагрузки, где 1.0 означает, что все запросы, записанные в журнал, будут сообщаться, а 0.0 означает, что запросы, записанные в журнал, не будут сообщаться. Значение по умолчанию 1.0. | ||||
| name string / required | Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. Точнее, имя должно быть длиной от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. | ||||
| network dictionary | URL сети, к которой принадлежит этот бэкенд-сервис. Это поле может быть указано только тогда, когда схема балансировки нагрузки установлена в значение INTERNAL. Это поле представляет ссылку на ресурс Network в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. В-вторых, вы можете добавить `register: name-of-resource` к задаче gcp_compute_network, а затем установить это поле network в "{{ name-of-resource }}" | ||||
| outlier_detection dictionary | Настройки, контролирующие удаление неисправных хостов из пула балансировки. Это поле применимо только при «load_balancing_scheme», равном «INTERNAL_MANAGED», и «protocol», равном «HTTP», «HTTPS» или «HTTP2». | ||||
| base_ejection_time dictionary | Базовое время, на которое хост удаляется. Реальное время равно базовому времени, умноженному на количество раз, когда хост был удален. По умолчанию 30000 мс или 30 с. | ||||
| nanos integer | Продолжительность времени, являющаяся дробной частью секунды с разрешением в наносекунды. Продолжительности меньше одной секунды представлены с полем `seconds`, равным 0, и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно. | ||||
| seconds integer / required | Продолжительность времени с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно. | ||||
| consecutive_errors integer | Значение по умолчанию: "5" | Количество ошибок до удаления хоста из пула соединений. Когда хост бэкенда обращается по протоколу HTTP, код ответа 5xx считается ошибкой. По умолчанию 5. | |||
| consecutive_gateway_failure integer | Значение по умолчанию: "5" | Количество последовательных сбоев шлюза (статусы 502, 503, 504 или ошибки соединения, сопоставляемые с одним из этих кодов статуса) перед возникновением последовательной ошибки шлюза. По умолчанию 5. | |||
| enforcing_consecutive_errors integer | Значение по умолчанию: "100" | Вероятность удаления хоста при обнаружении неисправного состояния хоста через последовательные 5xx. Это значение может использоваться для отключения удаления или постепенного его включения. По умолчанию 100. | |||
| enforcing_consecutive_gateway_failure integer | Вероятность удаления хоста при обнаружении неисправного состояния хоста через последовательные сбои шлюза. Это значение может использоваться для отключения удаления или постепенного его включения. По умолчанию 0. | ||||
| enforcing_success_rate integer | Значение по умолчанию: "100" | Вероятность удаления хоста при обнаружении неисправного состояния хоста через статистику скорости успешного выполнения. Это значение может использоваться для отключения удаления или постепенного его включения. По умолчанию 100. | |||
| interval dictionary | Интервал времени между анализом цикла удаления. Это может привести к новым удалениям, а также к возвращению хостов в службу. По умолчанию 10 секунд. | ||||
| nanos целое число | Промежуток времени, являющийся дробью секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены значением поля `seconds`, равным 0, и положительным значением поля `nanos`. Должно быть от 0 до 999 999 999 включительно. | ||||
| seconds целое число / обязательно | Промежуток времени с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно. | ||||
| max_ejection_percent целое число | По умолчанию: "10" | Максимальный процент узлов в пуле балансировки нагрузки для бэкенд-службы, которые могут быть исключены. По умолчанию 10%. | |||
| success_rate_minimum_hosts целое число | По умолчанию: "5" | Количество узлов в кластере, у которых должен быть достаточный объем запросов для обнаружения отклонений в показателе успеха. Если количество узлов меньше этого значения, обнаружение отклонений с помощью статистики показателя успеха не выполняется для какого-либо узла в кластере. По умолчанию 5. | |||
| success_rate_request_volume целое число | По умолчанию: "100" | Минимальное общее количество запросов, которые должны быть собраны за один интервал (как определено выше продолжительностью интервала), чтобы включить этот узел в обнаружение отклонений на основе показателя успеха. Если объем ниже этого значения, обнаружение отклонений с помощью статистики показателя успеха не выполняется для этого узла. По умолчанию 100. | |||
| success_rate_stdev_factor целое число | По умолчанию: "1900" | Этот коэффициент используется для определения порога исключения отклонений показателя успеха. Порог исключения — это разница между средним показателем успеха и произведением этого коэффициента и стандартного отклонения среднего показателя успеха: среднее значение - (стандартное отклонение * success_rate_stdev_factor). Этот коэффициент делится на тысячу, чтобы получить двойное значение. То есть, если желаемый коэффициент равен 1,9, значение runtime должно быть 1900. По умолчанию 1900. | |||
| port_name строка | Именованный порт на группе бэкенд-инстансов, представляющий порт для связи с бэкенд-виртуальными машинами в этой группе. Требуется, когда loadBalancingScheme — EXTERNAL, INTERNAL_MANAGED или INTERNAL_SELF_MANAGED, а бэкенды — группы инстансов. Имя порта должно быть определено для каждой группы бэкенд-инстансов. Этот параметр не имеет значения, если бэкенды — NEGs. API устанавливает значение по умолчанию "http", если оно не задано. Должен быть опущен, когда loadBalancingScheme — INTERNAL (Внутренняя балансировка TCP/UDP-трафика). | ||||
| project строка | Проект Google Cloud Platform, который нужно использовать. | ||||
| protocol строка | Протокол, который использует этот региональный бэкенд-сервис для связи с бэкендами. По умолчанию HTTP. **ПРИМЕЧАНИЕ**: HTTP2 допустим только для бета-версии балансировщиков HTTP/2 и может привести к ошибкам, если используется с API GA. Некоторые допустимые значения: "HTTP", "HTTPS", "HTTP2", "SSL", "TCP", "UDP", "GRPC" | ||||
| region строка / обязательно | Ссылка на регион, в котором находится региональный бэкенд-сервис. | ||||
| scopes список / элементы=строка | Массив используемых областей | ||||
| service_account_contents jsonarg | Содержимое файла JSON учетной записи службы, либо в виде словаря, либо как строка JSON, которая его представляет. | ||||
| service_account_email строка | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес электронной почты по умолчанию. | ||||
| service_account_file путь | Путь к файлу JSON учетной записи службы, если serviceaccount выбран как тип. | ||||
| session_affinity строка | Тип сродства сеанса для использования. По умолчанию NONE. Сродство сеанса неприменимо, если протокол UDP. Некоторые допустимые значения: "NONE", "CLIENT_IP", "CLIENT_IP_PORT_PROTO", "CLIENT_IP_PROTO", "GENERATED_COOKIE", "HEADER_FIELD", "HTTP_COOKIE" | ||||
| state строка |
| Указывает, должен ли данный объект существовать в GCP | |||
| timeout_sec целое число | Количество секунд ожидания бэкенда перед рассмотрением запроса как неудачного. По умолчанию 30 секунд. Допустимый диапазон [1, 86400]. | ||||
Примечания
Примечание
- API Reference: https://cloud.google.com/compute/docs/reference/latest/regionBackendServices
- Внутренняя балансировка TCP/UDP-трафика: https://cloud.google.com/compute/docs/load-balancing/internal/
- для аутентификации можно установить service_account_file, используя переменную среды
gcp_service_account_file. - для аутентификации можно установить service_account_contents, используя переменную среды
GCP_SERVICE_ACCOUNT_CONTENTS. - Для аутентификации можно установить service_account_email, используя переменную среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно установить auth_kind, используя переменную среды
GCP_AUTH_KIND. - Для аутентификации можно установить scopes, используя переменную среды
GCP_SCOPES. - Значения переменных среды будут использоваться только в том случае, если значения в playbook не заданы.
- Параметры service_account_email и service_account_file взаимоисключающие.
Примеры
- name: create a health check
google.cloud.gcp_compute_health_check:
name: "{{ resource_name }}"
type: TCP
tcp_health_check:
port: 80
check_interval_sec: 1
timeout_sec: 1
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: healthcheck
- name: create a region backend service
google.cloud.gcp_compute_region_backend_service:
name: test_object
region: us-central1
health_checks:
- "{{ healthcheck.selfLink }}"
connection_draining:
draining_timeout_sec: 10
session_affinity: CLIENT_IP
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Значения возврата
Общие значения возврата описаны здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращённое значение | Описание | |||
|---|---|---|---|---|---|
| affinityCookieTtlSec целое число | успех | Срок жизни cookie в секундах, если session_affinity равен GENERATED_COOKIE. Если значение равно 0, cookie не сохраняется и действует только до конца сессии браузера (или эквивалента). Максимально допустимое значение для TTL — один день. Если схема балансировки — INTERNAL, это поле не используется. | |||
| backends сложный тип | успех | Набор бэкендов, обслуживающих этот RegionBackendService. | |||
| balancingMode строка | успех | Указывает режим балансировки для этого бэкенда. | |||
| capacityScaler строка | успех | Множитель, применяемый к максимальной пропускной способности группы (на основе UTILIZATION, RATE или CONNECTION). ~>**ПРИМЕЧАНИЕ**: Это поле нельзя задать для бэкенд-сервисов региона INTERNAL (по умолчанию loadBalancingScheme), но оно требуется для бэкенд-сервисов, отличных от INTERNAL. Общий capacity_scaler для всех бэкендов должен быть отличным от нуля. Значение 0 означает, что группа полностью выключена, предоставляя 0% своей доступной пропускной способности. Допустимый диапазон: [0.0, 1.0]. | |||
| description строка | успех | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | |||
| failover логическое значение | успех | Это поле указывает, является ли этот бэкенд бэкендом резервного копирования. Для данного RegionBackendService можно настроить более одного бэкенда резервного копирования. | |||
| group строка | успех | Полный URL ресурса группы экземпляров или группы сетевых конечных точек. В случае группы экземпляров это определяет список экземпляров, обслуживающих трафик. Виртуальные машины-члены из каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Два бэкенда в одном бэкенд-сервисе не могут использовать один и тот же ресурс группы экземпляров. Для групп сетевых конечных точек это определяет список конечных точек. Все конечные точки группы сетевых конечных точек должны размещаться на экземплярах, находящихся в той же зоне, что и сама группа сетевых конечных точек. Бэкенд-сервисы не могут смешивать группы экземпляров и группы сетевых конечных точек. Когда `load_balancing_scheme` — INTERNAL, поддерживаются только группы экземпляров. Обратите внимание, что вы должны указать ресурс группы экземпляров или группы сетевых конечных точек с помощью полного URL-адреса, а не частичного. | |||
| maxConnections целое число | успех | Максимальное количество одновременных подключений для группы. Может использоваться с режимами балансировки CONNECTION или UTILIZATION. Не может быть задано для бэкенд-сервисов INTERNAL. В режиме CONNECTION необходимо задать либо maxConnections, либо maxConnectionsPerInstance или maxConnectionsPerEndpoint, в зависимости от типа группы. | |||
| maxConnectionsPerEndpoint целое число | успех | Максимальное количество одновременных подключений, которые может обрабатывать одна сетевая конечная точка бэкенда. Не может быть задано для бэкенд-сервисов INTERNAL. Это используется для расчета пропускной способности группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо задать либо maxConnections, либо maxConnectionsPerEndpoint. | |||
| maxConnectionsPerInstance целое число | успех | Максимальное количество одновременных подключений, которые может обрабатывать один экземпляр бэкенда. Не может быть задано для бэкенд-сервисов INTERNAL. Это используется для расчета пропускной способности группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION. В режиме CONNECTION необходимо задать либо maxConnections, либо maxConnectionsPerInstance. | |||
| maxRate целое число | успех | Максимальное количество запросов в секунду (RPS) для группы. Не может быть задано для бэкенд-сервисов INTERNAL. Может использоваться с режимами балансировки RATE или UTILIZATION, но требуется в режиме RATE. Необходимо задать либо maxRate, либо maxRatePerInstance или maxRatePerEndpoint, в зависимости от типа группы. | |||
| maxRatePerEndpoint строка | успех | Максимальное количество запросов в секунду (RPS), которое может обрабатывать одна сетевая конечная точка бэкенда. Это используется для расчета пропускной способности группы. Может использоваться в любом режиме балансировки. В режиме RATE необходимо задать либо maxRate, либо maxRatePerEndpoint. Не может быть задано для бэкенд-сервисов INTERNAL. | |||
| maxRatePerInstance строка | успех | Максимальное количество запросов в секунду (RPS), которое может обрабатывать один экземпляр бэкенда. Это используется для расчета пропускной способности группы. Может использоваться в любом режиме балансировки. В режиме RATE необходимо задать либо maxRate, либо maxRatePerInstance. Не может быть задано для бэкенд-сервисов INTERNAL. | |||
| maxUtilization строка | успех | Используется, когда balancingMode — UTILIZATION. Это отношение определяет целевое значение использования ЦП для группы. Допустимый диапазон: [0.0, 1.0]. Не может быть задано для бэкенд-сервисов INTERNAL. | |||
| circuitBreakers сложный тип | успех | Настройки, контролирующие объём подключений к бэкенд-сервису. Это поле применимо только тогда, когда `load_balancing_scheme` задано как INTERNAL_MANAGED, а `protocol` задано как HTTP, HTTPS или HTTP2. | |||
| maxConnections целое число | успех | Максимальное количество подключений к кластеру бэкенда. По умолчанию 1024. | |||
| maxPendingRequests целое число | успех | Максимальное количество ожидающих запросов к кластеру бэкенда. По умолчанию 1024. | |||
| maxRequests целое число | успех | Максимальное количество параллельных запросов к кластеру бэкенда. По умолчанию 1024. | |||
| maxRequestsPerConnection целое число | успех | Максимальное количество запросов на одно подключение к бэкенду. Этот параметр учитывается как реализациями HTTP/1.1, так и HTTP/2. Если не указано, ограничений нет. Установка этого параметра в 1 фактически отключит keep-alive. | |||
| maxRetries целое число | успех | Максимальное количество параллельных повторных попыток подключения к кластеру бэкенда. По умолчанию 3. | |||
| connectionDraining сложный тип | успех | Настройки для отключения подключений. | |||
| drainingTimeoutSec целое число | успех | Время, в течение которого экземпляр будет отключаться (не принимать новые подключения, но всё ещё работать над завершением начатых). | |||
| consistentHash сложный тип | успех | Балансировка нагрузки на основе консистентного хэширования может использоваться для обеспечения мягкой сцепки сессий на основе заголовков HTTP, cookie или других свойств. Этот метод балансировки нагрузки применим только для HTTP-соединений. Сцепка с конкретным хостом назначения будет потеряна, когда один или несколько хостов добавляются/удаляются из службы назначения. Это поле определяет параметры, которые управляют консистентным хэшированием. Это поле применяется только в том случае, если все из перечисленного верно — * `load_balancing_scheme` установлено как INTERNAL_MANAGED * `protocol` установлено как HTTP, HTTPS или HTTP2 * `locality_lb_policy` установлено как MAGLEV или RING_HASH . | |||
| httpCookie сложный тип | успех | Хэш основан на HTTP-cookie. Это поле описывает HTTP-cookie, которая будет использоваться в качестве ключа хэширования для консистентного балансировщика нагрузки. Если cookie отсутствует, она будет сгенерирована. Это поле применимо, если sessionAffinity установлено как HTTP_COOKIE. | |||
| name строка | успех | Имя cookie. | |||
| path строка | успех | Путь для cookie. | |||
| ttl сложный тип | успех | Срок жизни cookie. | |||
| nanos целое число | успех | Продолжительность, которая представляет собой дробь секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены с полем 0 секунд и положительным полем nanos. Должно быть от 0 до 999 999 999 включительно. | |||
| seconds целое число | успех | Продолжительность с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно. | |||
| httpHeaderName строка | успех | Хэш, основанный на значении указанного поля заголовка. Это поле применимо, если sessionAffinity установлено как HEADER_FIELD. | |||
| minimumRingSize integer | success | Минимальное количество виртуальных узлов для использования в кольце хеширования. Более крупные кольца приводят к более тонкой распределению нагрузки. Если количество хостов в пуле балансировки нагрузки больше размера кольца, каждому хосту будет назначен один виртуальный узел. По умолчанию 1024. | |||
| creationTimestamp string | success | Маркер времени создания в формате RFC3339. | |||
| description string | success | Необязательное описание этого ресурса. | |||
| failoverPolicy complex | success | Политика для переключений. | |||
| disableConnectionDrainOnFailover boolean | success | При переключении или возврате этого поля указывается, будет ли учитываться сброс соединений. Установка в значение true имеет следующий эффект: соединения со старым активным пулом не сбрасываются. Соединения с новым активным пулом используют таймаут 10 минут (в настоящее время фиксировано). Установка в значение false имеет следующий эффект: и старые, и новые соединения будут иметь таймаут сброса 10 минут. Это можно установить в значение true только если протокол TCP. По умолчанию false. | |||
| dropTrafficIfUnhealthy boolean | success | Этот параметр используется только в том случае, если в первичных и резервных группах экземпляров не обнаружены здоровые виртуальные машины. При установке в значение true трафик отбрасывается. При установке в значение false новые соединения отправляются через все виртуальные машины в первичной группе. По умолчанию false. | |||
| failoverRatio string | success | Значение поля должно быть в диапазоне [0, 1]. Если соотношение здоровых виртуальных машин в первичном бэкенде равно или меньше этого числа, трафик, поступающий на IP-адрес балансировки нагрузки, будет направлен на резервный бэкенд. В случае, когда «failoverRatio» не задан или все виртуальные машины в резервном бэкенде неисправны, трафик будет направлен обратно в первичный бэкенд в режиме «force», где трафик будет распределен по здоровым виртуальным машинам с наилучшим усилием или по всем виртуальным машинам, когда ни одна виртуальная машина не здорова. Это поле используется только с балансировкой нагрузки l4. | |||
| fingerprint string | success | Отпечаток пальца этого ресурса. Хеш содержимого, хранящегося в этом объекте. Это поле используется при оптимистической блокировке. | |||
| healthChecks list / elements=string | success | Набор URL-адресов ресурсов HealthCheck для проверки работоспособности данного RegionBackendService. В настоящее время может быть указана не более одной проверки работоспособности. Проверка работоспособности должна быть указана, если бэкенд-сервис не использует интернет или серверный NEG в качестве бэкенда. | |||
| id integer | success | Уникальный идентификатор ресурса. | |||
| loadBalancingScheme string | success | Указывает, для какого типа балансировки нагрузки будет использоваться этот региональный бэкенд-сервис. Бэкенд-сервис, созданный для одного типа балансировки нагрузки, не может быть использован с другими. | |||
| localityLbPolicy string | success | Алгоритм балансировки нагрузки, используемый в рамках области. Возможные значения: - ROUND_ROBIN - Простая политика, в которой каждый здоровый бэкенд выбирается в циклическом порядке. - LEAST_REQUEST - Алгоритм O(1), который выбирает две случайные здоровые хосты и выбирает хосту с меньшим количеством активных запросов. - RING_HASH - Балансировщик кольца/модульного хеширования реализует согласованное хеширование для бэкендов. Алгоритм обладает свойством, что добавление/удаление хоста из набора из N хостов влияет только на 1/N запросов. - RANDOM - Балансировщик выбирает случайную здоровую хосту. - ORIGINAL_DESTINATION - Хост бэкенда выбирается на основе метаданных подключения клиента, т.е. соединения открываются к тому же адресу, что и адрес назначения входящего соединения, прежде чем соединение перенаправляется балансировщику нагрузки. - MAGLEV - используется как замена балансировщика кольца хешей. Maglev не такой стабильный, как ring hash, но имеет более быстрые времена построения таблицы и времена выбора хостов. Для получения дополнительной информации о Maglev обратитесь к https://ai.google/research/pubs/pub44824. Это поле применимо только тогда, когда `load_balancing_scheme` установлено в `INTERNAL_MANAGED`, а `protocol` установлено в `HTTP`, `HTTPS` или `HTTP2`. | |||
| logConfig complex | success | Это поле обозначает параметры ведения журнала для трафика балансировки нагрузки, обслуживаемого этим бэкенд-сервисом. Если ведение журнала включено, журналы будут экспортированы в Stackdriver. | |||
| enable boolean | success | Включить ли ведение журнала для трафика балансировки нагрузки, обслуживаемого этим бэкенд-сервисом. | |||
| sampleRate string | success | Это поле может быть указано только в том случае, если ведение журнала включено для этого бэкенд-сервиса. Значение поля должно быть в диапазоне [0, 1]. Это настраивает коэффициент выборки запросов балансировщиком нагрузки, где 1.0 означает, что все зарегистрированные запросы сообщаются, а 0.0 означает, что зарегистрированные запросы не сообщаются. Значение по умолчанию 1.0. | |||
| name string | success | Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. То есть имя должно быть длиной от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. | |||
| network dictionary | success | URL сети, к которой принадлежит этот бэкенд-сервис. Это поле может быть указано только при установке схемы балансировки нагрузки в INTERNAL. | |||
| outlierDetection complex | success | Параметры, контролирующие исключение неисправных хостов из пула балансировки нагрузки. Это поле применимо только тогда, когда `load_balancing_scheme` установлено в `INTERNAL_MANAGED`, а `protocol` установлено в `HTTP`, `HTTPS` или `HTTP2`. | |||
| baseEjectionTime complex | success | Базовое время выброса хоста. Действительное время равно базовому времени, умноженному на количество раз, когда хост был выброшен. По умолчанию 30000 мс или 30 с. | |||
| nanos integer | success | Продолжительность, являющаяся дробью секунды с разрешением наносекунды. Продолжительности менее одной секунды представлены полем `seconds` со значением 0 и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно. | |||
| seconds integer | success | Продолжительность с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно. | |||
| consecutiveErrors integer | success | Количество ошибок до выброса хоста из пула соединений. Когда хост бэкенда обращается по протоколу HTTP, код ответа 5xx считается ошибкой. По умолчанию 5. | |||
| consecutiveGatewayFailure integer | success | Количество последовательных отказов шлюза (статус 502, 503, 504 или ошибки соединения, которые отображаются одним из этих кодов состояния) перед произойдет выброс из-за последовательных отказов шлюза. По умолчанию 5. | |||
| enforcingConsecutiveErrors integer | success | Вероятность того, что хост будет фактически выброшен, когда статус аутсайдера обнаружен путем последовательных 5xx. Этот параметр может использоваться для отключения выброса или постепенного его повышения. По умолчанию 100. | |||
| enforcingConsecutiveGatewayFailure integer | success | Вероятность того, что хост будет фактически выброшен, когда статус аутсайдера обнаружен путем последовательных отказов шлюза. Этот параметр может использоваться для отключения выброса или постепенного его повышения. По умолчанию 0. | |||
| enforcingSuccessRate integer | success | Вероятность того, что хост будет фактически выброшен, когда статус аутсайдера обнаружен по статистике показателя успешности. Этот параметр может использоваться для отключения выброса или постепенного его повышения. По умолчанию 100. | |||
| interval complex | success | Интервал времени между анализом выброса. Это может привести как к новым выбросам, так и к возвращению хостов в службу. По умолчанию 10 секунд. | |||
| nanos integer | success | Продолжительность, являющаяся дробью секунды с разрешением наносекунды. Продолжительности менее одной секунды представлены полем `seconds` со значением 0 и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно. | |||
| seconds integer | success | Продолжительность с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно. | |||
| maxEjectionPercent integer | success | Максимальный процент хостов в пуле балансировки нагрузки для бэкенд-сервиса, которые могут быть выброшены. По умолчанию 10%. | |||
| successRateMinimumHosts integer | success | Количество узлов в кластере, которые должны иметь достаточный объём запросов для обнаружения отклонений в показателе успешности. Если количество узлов меньше этого значения, обнаружение выбросов на основе статистики успешности не выполняется для любого узла в кластере. По умолчанию 5. | |||
| successRateRequestVolume integer | success | Минимальное количество общих запросов, которые должны быть собраны за один интервал (как определено выше длительностью интервала), чтобы включить этот узел в обнаружение выбросов на основе показателя успешности. Если объём ниже этого значения, обнаружение выбросов на основе статистики успешности не выполняется для этого узла. По умолчанию 100. | |||
| successRateStdevFactor integer | success | Этот множитель используется для определения порога исключения выбросов по показателю успешности. Порог исключения — это разность между средним показателем успешности и произведением этого множителя и стандартного отклонения среднего показателя успешности: среднее - (стандартное отклонение * success_rate_stdev_factor). Этот множитель делится на тысячу, чтобы получить число с плавающей точкой. То есть, если желаемый множитель равен 1,9, значение во время выполнения должно быть 1900. По умолчанию 1900. | |||
| portName string | success | Именованный порт на группе экземпляров бэкенда, представляющий порт для связи с виртуальными машинами бэкенда в этой группе. Требуется, когда loadBalancingScheme — EXTERNAL, INTERNAL_MANAGED или INTERNAL_SELF_MANAGED, а бэкенды — группы экземпляров. Имя порта должно быть определено на каждой группе экземпляров бэкенда. Этот параметр не имеет значения, если бэкенды — NEGs. API устанавливает значение по умолчанию "http", если оно не задано. Должен быть опущен, когда loadBalancingScheme — INTERNAL (Внутренний балансировщик TCP/UDP). | |||
| protocol string | success | Протокол, который использует RegionBackendService для связи с бэкендами. По умолчанию HTTP. **ПРИМЕЧАНИЕ**: HTTP2 допустим только для типов бета-балансировщиков HTTP/2 и может привести к ошибкам, если используется с API GA. | |||
| region string | success | Ссылка на регион, в котором находится региональная служба бэкенда. | |||
| sessionAffinity string | success | Тип сродства сессий для использования. По умолчанию NONE. Сродство сессий неприменимо, если протокол UDP. | |||
| timeoutSec integer | success | Сколько секунд ждать бэкенда, прежде чем считать запрос неудачным. По умолчанию 30 секунд. Допустимый диапазон [1, 86400]. | |||
Авторы
- Google Inc. (@googlecloudplatform)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/google/cloud/gcp_compute_region_backend_service_module.html