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 строка / обязательно |
| Тип используемых учетных данных. | |||
| 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 ресурса группы экземпляров (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 булево |
| Если 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_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 |
| Если значение true, включить Cloud CDN для данного RegionBackendService. | |||
| env_type string | Указывает, в какой среде Ansible выполняется этот модуль. Это значение не должно устанавливаться, если вы не знаете, что делаете. Это изменяет только строку User-Agent для любых запросов к API. | ||||
| failover_policy dictionary | Политика для резервного копирования. | ||||
| disable_connection_drain_on_failover boolean |
| При резервном копировании или откате это поле указывает, будет ли соблюдаться отключение соединения. Установка этого значения в true имеет следующий эффект: подключения к старому активному пулу не отключаются. Подключения к новому активному пулу используют таймаут 10 минут (в настоящее время фиксированный). Установка в false имеет следующий эффект: как старые, так и новые подключения будут иметь таймаут отключения 10 минут. Это значение может быть установлено в true только если протокол TCP. По умолчанию false. | |||
| drop_traffic_if_unhealthy boolean |
| Этот параметр используется только в том случае, если в группах первичных и резервных экземпляров не обнаружено здоровых виртуальных машин. При установке в значение 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 |
| Включить или выключить ведение журнала для трафика балансировщика нагрузки, обслуживаемого этим бэкенд-сервисом. | |||
| 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 |
| Существование данного объекта в 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