Spec-Zone.ru › Ansible 2.11

google.cloud.gcp_compute_region_backend_service – Создаёт GCP RegionBackendService

Примечание

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

Для установки используйте: 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 не сохраняется и действует только до конца сессии браузера (или эквивалента). Максимальное разрешенное значение для срока действия — один день.
Когда схема балансировки — INTERNAL, это поле не используется.
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
backends
список / элементы=словарь
Набор бэкэндов, обслуживающих этот RegionBackendService.
balancing_mode
строка
Значение по умолчанию:
"CONNECTION"
Указывает режим балансировки для этого бэкэнда.
Некоторые допустимые значения: "UTILIZATION", "RATE", "CONNECTION"
capacity_scaler
строка
Множитель, применяемый к максимальной пропускной способности группы (на основе UTILIZATION, RATE или CONNECTION).
~>**ПРИМЕЧАНИЕ**: Это поле не может быть установлено для внутренних бэкэндов региона (loadBalancingScheme по умолчанию), но обязательно для бэкэндов, не являющихся внутренними. Общий capacity_scaler для всех бэкэндов должен быть отличным от нуля.
Значение 0 означает, что группа полностью отключена, предлагая 0% своей доступной пропускной способности. Допустимый диапазон: [0.0, 1.0].
description
строка
Необязательное описание этого ресурса.
Укажите это свойство при создании ресурса.
failover
булево
    Варианты:
  • no
  • yes
Это поле указывает, является ли этот бэкэнд бэкэндом резервного копирования. Для данного RegionBackendService можно настроить несколько бэкэндов резервного копирования.
group
строка / обязательно
Полный URL ресурса группы экземпляров (Instance Group) или группы сетевых конечных точек (Network Endpoint Group). В случае с группой экземпляров это определяет список экземпляров, которые обслуживают трафик. Виртуальные машины-члены каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Два бэкэнда в службе бэкэндов не могут использовать один и тот же ресурс группы экземпляров.
Для групп сетевых конечных точек это определяет список конечных точек. Все конечные точки группы сетевых конечных точек должны быть размещены на экземплярах, расположенных в той же зоне, что и группа сетевых конечных точек.
Службы бэкэндов не могут смешивать бэкэнды групп экземпляров и групп сетевых конечных точек.
Когда `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].
Не может быть установлено для внутренних служб бэкэндов.
cdn_policy
словарь
Настройка Cloud CDN для этого BackendService.
cache_key_policy
словарь
CacheKeyPolicy для этой CdnPolicy.
include_host
булево
    Варианты:
  • no
  • yes
Если true, запросы к различным хостам будут кэшироваться раздельно.
include_protocol
булево
    Варианты:
  • no
  • yes
Если true, запросы http и https будут кэшироваться раздельно.
include_query_string
булево
    Варианты:
  • no
  • yes
Если true, параметры строки запроса будут включены в ключ кэша в соответствии с query_string_whitelist и query_string_blacklist. Если ни то, ни другое не установлено, будет включена вся строка запроса.
Если false, строка запроса будет полностью исключена из ключа кэша.
query_string_blacklist
список / элементы=строка
Имена параметров строки запроса, которые следует исключить из ключей кэша.
Все остальные параметры будут включены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба.
'&' и '=' будут закодированы в процентах и не будут рассматриваться как разделители.
query_string_whitelist
список / элементы=строка
Имена параметров строки запроса, которые следует включить в ключи кэша.
Все остальные параметры будут исключены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба.
'&' и '=' будут закодированы в процентах и не будут рассматриваться как разделители.
signed_url_cache_max_age_sec
целое число
Значение по умолчанию:
"3600"
Максимальное количество секунд, в течение которых ответ на запрос подписанного URL-адреса будет считаться актуальным, по умолчанию 1 час (3600 секунд). После этого периода ответ будет повторно проверен перед предоставлением.
При предоставлении ответов на запросы подписанных URL-адресов Cloud CDN будет внутренне вести себя так, как будто все ответы от этого бэкэнда имеют заголовок "Cache-Control: public, max-age=[TTL]", независимо от существующего заголовка Cache-Control. Фактические заголовки, предоставляемые в ответах, не будут изменены.
circuit_breakers
словарь
Настройки, контролирующие объем подключений к службе бэкэнда. Это поле применимо только тогда, когда `load_balancing_scheme` установлен на INTERNAL_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
integer
Default:
"3"
Максимальное количество параллельных попыток повторной отправки запросов в кластер бэкенда.
По умолчанию 3.
connection_draining
dictionary
Настройки для отключения соединений.
draining_timeout_sec
integer
Default:
"300"
Время, в течение которого экземпляр будет отключаться (не принимает новые подключения, но продолжает работу с уже начатыми).
consistent_hash
dictionary
Балансировка нагрузки на основе консистентного хэширования может использоваться для обеспечения мягкой аффинити сессий на основе HTTP-заголовков, куки или других свойств. Эта политика балансировки нагрузки применима только для HTTP-соединений. Аффинити к конкретному хосту назначения будет потерян, когда один или несколько хостов будут добавлены или удалены из сервиса назначения. Это поле определяет параметры, которые управляют консистентным хэшированием.
Это поле применяется только в том случае, если все перечисленные условия выполняются: * `load_balancing_scheme` установлено в значение INTERNAL_MANAGED * `protocol` установлено в значение HTTP, HTTPS или HTTP2 * `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
Default:
"1024"
Минимальное количество виртуальных узлов для использования в кольце хэширования.
Большие размеры кольца приводят к более гранулированному распределению нагрузки. Если количество хостов в пуле балансировки нагрузки больше размера кольца, каждому хосту будет назначен один виртуальный узел.
По умолчанию 1024.
description
string
Необязательное описание этого ресурса.
enable_cdn
boolean
    Choices:
  • нет
  • да
Если значение true, включить Cloud CDN для данного RegionBackendService.
env_type
string
Указывает, в какой среде Ansible выполняется этот модуль.
Это значение не должно устанавливаться, если вы не знаете, что делаете.
Это изменяет только строку User-Agent для любых запросов к API.
failover_policy
dictionary
Политика для резервного копирования.
disable_connection_drain_on_failover
boolean
    Choices:
  • нет
  • да
При резервном копировании или откате это поле указывает, будет ли соблюдаться отключение соединения. Установка этого значения в true имеет следующий эффект: подключения к старому активному пулу не отключаются. Подключения к новому активному пулу используют таймаут 10 минут (в настоящее время фиксированный). Установка в false имеет следующий эффект: как старые, так и новые подключения будут иметь таймаут отключения 10 минут.
Это значение может быть установлено в true только если протокол TCP.
По умолчанию false.
drop_traffic_if_unhealthy
boolean
    Choices:
  • нет
  • да
Этот параметр используется только в том случае, если в группах первичных и резервных экземпляров не обнаружено здоровых виртуальных машин. При установке в значение true трафик отбрасывается. При установке в значение false новые подключения отправляются по всем виртуальным машинам в основной группе.
По умолчанию false.
failover_ratio
string
Значение поля должно быть в диапазоне [0, 1]. Если соотношение здоровых виртуальных машин в первичном бэкенде находится на или ниже этого значения, трафик, поступающий на IP-адрес балансировки нагрузки, будет направлен на бэкенд резервного копирования.
В случае, когда failoverRatio не задано или все виртуальные машины в бэкенде резервного копирования неисправны, трафик будет перенаправлен обратно в первичный бэкенд в режиме "force", где трафик будет распределен по здоровым виртуальным машинам с максимальной отдачей или по всем виртуальным машинам, когда виртуальных машин нет.
Это поле используется только с балансировкой нагрузки уровня 4.
health_checks
list / elements=string
Набор URL-адресов ресурсов HealthCheck для проверки работоспособности данного RegionBackendService. В настоящее время может быть указана не более одна проверка работоспособности. Проверка работоспособности должна быть указана, если бэкенд-сервис не использует интернет или серверный NEG в качестве бэкенда.
load_balancing_scheme
string
Default:
"INTERNAL"
Указывает, для какой балансировки нагрузки будет использоваться этот региональный бэкенд-сервис. Бэкенд-сервис, созданный для одного типа балансировки, не может использоваться с другими.
Некоторые допустимые значения включают: "EXTERNAL", "INTERNAL", "INTERNAL_MANAGED"
locality_lb_policy
string
Алгоритм балансировки нагрузки, используемый в рамках области.
Возможные значения: * ROUND_ROBIN - простая политика, в которой каждый здоровый бэкенд выбирается в порядке круговой очереди.
* LEAST_REQUEST - алгоритм O(1), который выбирает две случайные здоровые хосты и выбирает хост, у которого меньше активных запросов.
* RING_HASH - балансировщик кольца/модуль хэширования реализует консистентное хэширование на бэкендах. Алгоритм обладает свойством, что добавление/удаление хоста из набора N хостов влияет только на 1/N запросов.
* RANDOM - балансировщик выбирает случайную здоровую хосту.
* ORIGINAL_DESTINATION - хост бэкенда выбирается на основе метаданных подключения клиента, т. е. подключения открываются к тому же адресу, что и целевой адрес входящего подключения перед перенаправлением подключения к балансировщику.
* MAGLEV - используется как замена балансировщику кольца хэширования.
Maglev не так стабилен, как кольцо хэширования, но имеет более быстрые времена построения таблиц и выбора хостов. Дополнительную информацию о 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
    Choices:
  • нет
  • да
Включить или выключить ведение журнала для трафика балансировщика нагрузки, обслуживаемого этим бэкенд-сервисом.
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
integer
Промежуток времени, являющийся долей секунды с разрешением в наносекунды. Продолжительности меньше одной секунды представлены полем `seconds` равным 0 и положительным полем `nanos`. Должно быть в диапазоне от 0 до 999 999 999 включительно.
seconds
integer / required
Промежуток времени с разрешением в секунды. Должно быть в диапазоне от 0 до 315 576 000 000 включительно.
max_ejection_percent
integer
По умолчанию:
"10"
Максимальный процент хостов в пуле балансировки нагрузки для бэкенд-службы, которые могут быть выведены из строя. По умолчанию 10%.
success_rate_minimum_hosts
integer
По умолчанию:
"5"
Количество хостов в кластере, у которых должен быть достаточный объем запросов для обнаружения аномалий в показателях успешности. Если количество хостов меньше этого значения, обнаружение аномалий по показателям успешности не выполняется для хоста в кластере. По умолчанию 5.
success_rate_request_volume
integer
По умолчанию:
"100"
Минимальное количество общих запросов, которые должны быть собраны за один интервал (как определено выше продолжительностью интервала), чтобы включить этот хост в обнаружение аномалий на основе успешности. Если объем меньше этого значения, обнаружение аномалий по показателям успешности не выполняется для этого хоста. По умолчанию 100.
success_rate_stdev_factor
integer
По умолчанию:
"1900"
Этот фактор используется для определения порога вывода из строя для вывода из строя аномальных значений успешности. Порог вывода из строя — это разница между средним значением успешности и произведением этого фактора и стандартного отклонения от среднего значения успешности: среднее — (стандартное отклонение * success_rate_stdev_factor). Этот фактор делится на тысячу, чтобы получить двойное значение. То есть, если желаемый фактор равен 1,9, значение runtime должно быть 1900. По умолчанию 1900.
port_name
string
Именованный порт на группе бэкенд-инстансов, представляющий порт для связи с бэкенд-виртуальными машинами в этой группе. Требуется, когда loadBalancingScheme — EXTERNAL, INTERNAL_MANAGED или INTERNAL_SELF_MANAGED, и бэкенды — группы инстансов. Именованный порт должен быть определён на каждой группе бэкенд-инстансов. Этот параметр не имеет значения, если бэкенды — NEGs. API устанавливает значение по умолчанию «http», если оно не указано.
Должно быть опущено, когда loadBalancingScheme — INTERNAL (внутренняя балансировка TCP/UDP-трафика).
project
string
Проект Google Cloud Platform для использования.
protocol
string
Протокол, используемый этим региональным бэкенд-сервисом для связи с бэкендами.
По умолчанию HTTP. **ПРИМЕЧАНИЕ**: HTTP2 допустимо только для типов бета-балансировщиков HTTP/2 и может привести к ошибкам при использовании с API GA.
Некоторые допустимые значения: «HTTP», «HTTPS», «HTTP2», «SSL», «TCP», «UDP», «GRPC»
region
string / required
Ссылка на регион, в котором находится региональный бэкенд-сервис.
scopes
list / elements=string
Массив используемых областей доступа.
service_account_contents
jsonarg
Содержимое файла JSON учетной записи сервиса, представленное либо в виде словаря, либо как строка JSON.
service_account_email
string
Дополнительный адрес электронной почты учетной записи сервиса, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию.
service_account_file
path
Путь к файлу JSON учетной записи сервиса, если выбран тип serviceaccount.
session_affinity
string
Тип сессионной привязки для использования. По умолчанию NONE. Сессионная привязка неприменима, если протокол UDP.
Некоторые допустимые значения: «NONE», «CLIENT_IP», «CLIENT_IP_PORT_PROTO», «CLIENT_IP_PROTO», «GENERATED_COOKIE», «HEADER_FIELD», «HTTP_COOKIE»
state
string
    Выборы:
  • present ←
  • absent
Существование данного объекта в GCP.
timeout_sec
integer
Время ожидания бэкенда в секундах перед признанием запроса неудачным. По умолчанию 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.
  • Значения переменных среды будут использованы только в том случае, если значения плейбука не заданы.
  • Параметры 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).
~>**ПРИМЕЧАНИЕ**: Это поле нельзя установить для внутренних сервисов бэкенда региона (по умолчанию loadBalancingScheme), но оно обязательно для сервисов бэкенда, отличных от INTERNAL. Общий capacity_scaler для всех бэкендов должен быть отличным от нуля.
Значение 0 означает, что группа полностью отключена, предлагая 0% своей доступной пропускной способности. Допустимый диапазон — [0.0,1.0].

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

failover
булево
успех
Это поле указывает, является ли этот бэкенд резервным. Для данного RegionBackendService можно настроить более одного резервного бэкенда.

group
строка
успех
Полный URL ресурса группы экземпляров (Instance Group) или группы сетевых конечных точек (Network Endpoint Group). В случае группы экземпляров это определяет список экземпляров, которые обслуживают трафик. Виртуальные машины-члены каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Два бэкенда в одном бэкенд-сервисе не могут использовать один и тот же ресурс группы экземпляров.
Для групп сетевых конечных точек это определяет список конечных точек. Все конечные точки группы сетевых конечных точек должны размещаться на экземплярах, расположенных в той же зоне, что и сама группа сетевых конечных точек.
Бэкенд-сервисы не могут смешивать бэкенды группы экземпляров и группы сетевых конечных точек.
Если `load_balancing_scheme` — INTERNAL, поддерживаются только группы экземпляров.
Обратите внимание, что вы должны указать ресурс группы экземпляров или группы сетевых конечных точек, используя полный 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. Необходимо установить либо maxRate, либо maxRatePerInstance или maxRatePerEndpoint, соответствующие типу группы.

maxRatePerEndpoint
строка
успех
Максимальное количество запросов в секунду (RPS), которое может обрабатывать одна сетевая конечная точка бэкенда. Используется для расчета пропускной способности группы. Может использоваться в любом режиме балансировки. Для режима RATE необходимо установить либо maxRate, либо maxRatePerEndpoint. Не может быть установлено для внутренних бэкенд-сервисов.

maxRatePerInstance
строка
успех
Максимальное количество запросов в секунду (RPS), которое может обрабатывать один экземпляр бэкенда. Используется для расчета пропускной способности группы. Может использоваться в любом режиме балансировки. Для режима RATE необходимо установить либо maxRate, либо maxRatePerInstance. Не может быть установлено для внутренних бэкенд-сервисов.

maxUtilization
строка
успех
Используется, когда balancingMode — UTILIZATION. Это отношение определяет целевую загрузку ЦП для группы. Допустимый диапазон — [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_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
complex
success
Консистентное хэширование, используемое для балансировки нагрузки, может обеспечивать мягкое сохранение сессии на основе HTTP-заголовков, куки или других свойств. Эта политика балансировки нагрузки применима только для HTTP-соединений. Связь с конкретным хостом назначения будет потеряна, когда один или несколько хостов добавлены/удалены из целевой службы. Это поле задаёт параметры, контролирующие консистентное хэширование.
Это поле применяется только тогда, когда все следующие условия истинны - * `load_balancing_scheme` установлено в INTERNAL_MANAGED * `protocol` установлено в HTTP, HTTPS или HTTP2 * `locality_lb_policy` установлено в MAGLEV или RING_HASH .

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

name
string
success
Имя куки.

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

ttl
complex
success
Срок жизни куки.

nanos
integer
success
Отрезок времени, представляющий долю секунды с разрешением в наносекунды. Продолжительности меньше одной секунды представлены значением 0 секунд и положительным значением наносекунд. Должно быть от 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.

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

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

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 - Балансировщик нагрузки 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_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
Отрезок времени, представляющий долю секунды с разрешением в наносекунды. Продолжительности меньше одной секунды представлены значением 0 секунд и положительным значением наносекунд. Должно быть от 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). Этот коэффициент делится на тысячу, чтобы получить double. То есть, если требуемый коэффициент равен 1,9, значение в runtime должно быть 1900. По умолчанию 1900.

portName
string
success
Именованный порт на группе бэкенд-инстансов, представляющий порт для связи с бэкенд-виртуальными машинами в этой группе. Требуется, когда loadBalancingScheme — EXTERNAL, INTERNAL_MANAGED или INTERNAL_SELF_MANAGED, а бэкенды — группы инстансов. Именной порт должен быть определён на каждой группе бэкенд-инстансов. Этот параметр не имеет значения, если бэкенды — NEГи.
Должен быть опущен, если 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–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_region_backend_service_module.html

Spec-Zone.ru

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