Spec-Zone.ru › Ansible

google.cloud.gcp_compute_backend_service модуль – Создаёт GCP BackendService

Примечание

Этот модуль входит в коллекцию google.cloud (версия 1.4.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля необходимы дополнительные требования, см. Требования для подробностей.

Чтобы использовать его в плейбуке, укажите: google.cloud.gcp_compute_backend_service.

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Описание

  • Сервис обратного пути определяет группу виртуальных машин, которые будут обрабатывать трафик для балансировки нагрузки. Этот ресурс является глобальным сервисом обратного пути, подходящим для внешней балансировки нагрузки или самонастраиваемой внутренней балансировки нагрузки.
  • Для управляемой внутренней балансировки нагрузки используйте региональный сервис обратного пути вместо него.
  • В настоящее время самонастраиваемая внутренняя балансировка нагрузки доступна только в бета-версии.

Требования

Ниже перечислены требования, необходимые на хосте, который выполняет этот модуль.

  • python >= 2.6
  • requests >= 2.18.4
  • google-auth >= 1.3.0
END_OF_DOCUMENT_MARKER

Параметры

Параметр

Комментарии

access_token

string

Токен доступа OAuth2, если тип учетных данных — accesstoken.

affinity_cookie_ttl_sec

integer

Срок действия файлов cookie в секундах, если session_affinity имеет значение GENERATED_COOKIE. Если установлено значение 0, файл cookie является неперсистентным и существует только до конца сеанса браузера (или эквивалента). Максимально допустимое значение TTL — один день.

Когда схема балансировки нагрузки — INTERNAL, это поле не используется.

auth_kind

string / required

Тип используемых учетных данных.

Варианты:

  • "application"
  • "machineaccount"
  • "serviceaccount"
  • "accesstoken"

backends

list / elements=dictionary

Набор бэкэндов, которые обслуживают этот BackendService.

balancing_mode

string

Указывает режим балансировки для этого бэкэнда.

Для глобальной балансировки нагрузки HTTP(S) или TCP/SSL значение по умолчанию — UTILIZATION. Допустимые значения — UTILIZATION, RATE (для HTTP(S)) и CONNECTION (для TCP/SSL).

Некоторые допустимые варианты включают: «UTILIZATION», «RATE», «CONNECTION»

Значение по умолчанию: "UTILIZATION"

capacity_scaler

string

Множитель, применяемый к максимальной пропускной способности группы (на основе UTILIZATION, RATE или CONNECTION).

Значение по умолчанию — 1, что означает, что группа будет обслуживать до 100% своей настроенной пропускной способности (в зависимости от balancingMode). Значение 0 означает, что группа полностью опустошена, предлагая 0% своей доступной пропускной способности. Допустимый диапазон — [0.0,1.0].

Значение по умолчанию: "1.0"

description

string

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

Укажите это свойство при создании ресурса.

group

string / required

Полностью квалифицированный URL-адрес ресурса Instance Group или Network Endpoint Group. В случае группы экземпляров это определяет список экземпляров, которые обслуживают трафик. Экземпляры виртуальных машин-членов из каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Никакие два бэкэнда в службе бэкэнда не могут использовать один и тот же ресурс группы экземпляров.

Для групп конечных точек сети это определяет список конечных точек. Все конечные точки группы конечных точек сети должны размещаться на экземплярах, расположенных в той же зоне, что и группа конечных точек сети.

Службы бэкэнда не могут смешивать бэкэнды группы экземпляров и группы конечных точек сети.

Обратите внимание, что вы должны указать ресурс группы экземпляров или группы конечных точек сети, используя полностью квалифицированный URL-адрес, а не частичный URL-адрес.

max_connections

integer

Максимальное количество одновременных подключений для группы. Может использоваться с режимами балансировки CONNECTION или UTILIZATION.

Для режима CONNECTION необходимо установить либо maxConnections, либо один из параметров maxConnectionsPerInstance или maxConnectionsPerEndpoint, в зависимости от типа группы.

max_connections_per_endpoint

integer

Максимальное количество одновременных подключений, которые может обрабатывать одна конечная точка сети бэкэнда. Это используется для расчета пропускной способности группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION.

Для режима CONNECTION необходимо установить либо maxConnections, либо maxConnectionsPerEndpoint.

max_connections_per_instance

integer

Максимальное количество одновременных подключений, которые может обрабатывать один экземпляр бэкэнда. Это используется для расчета пропускной способности группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION.

Для режима CONNECTION необходимо установить либо maxConnections, либо maxConnectionsPerInstance.

max_rate

integer

Максимальное количество запросов в секунду (RPS) группы.

Может использоваться с режимами балансировки RATE или UTILIZATION, но требуется, если используется режим RATE. Для режима RATE необходимо установить либо maxRate, либо один из параметров maxRatePerInstance или maxRatePerEndpoint, в зависимости от типа группы.

max_rate_per_endpoint

string

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

max_rate_per_instance

string

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

max_utilization

string

Используется, когда balancingMode имеет значение UTILIZATION. Это соотношение определяет целевую загрузку ЦП для группы. Допустимый диапазон — [0.0, 1.0].

cdn_policy

dictionary

Конфигурация Cloud CDN для этого BackendService.

cache_key_policy

dictionary

CacheKeyPolicy для этого CdnPolicy.

include_host

boolean

Если true, запросы к различным хостам будут кэшироваться отдельно.

Варианты:

  • false
  • true

include_protocol

boolean

Если true, HTTP и HTTPS запросы будут кэшироваться отдельно.

Варианты:

  • false
  • true

include_query_string

boolean

Если true, параметры строки запроса включаются в ключ кэша в соответствии с query_string_whitelist и query_string_blacklist. Если ни один из них не установлен, будет включена вся строка запроса.

Если false, строка запроса будет полностью исключена из ключа кэша.

Варианты:

  • false
  • true

query_string_blacklist

list / elements=string

Имена параметров строки запроса, которые нужно исключить из ключей кэша.

Все остальные параметры будут включены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба.

‘&’ и ‘=’ будут закодированы в процентном формате и не будут рассматриваться как разделители.

query_string_whitelist

list / elements=string

Имена параметров строки запроса, которые нужно включить в ключи кэша.

Все остальные параметры будут исключены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба.

‘&’ и ‘=’ будут закодированы в процентном формате и не будут рассматриваться как разделители.

cache_mode

string

Указывает настройку кэша для всех ответов от этого бэкэнда.

Возможные значения: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL и CACHE_ALL_STATIC.

Некоторые допустимые варианты включают: “USE_ORIGIN_HEADERS”, “FORCE_CACHE_ALL”, “CACHE_ALL_STATIC”

client_ttl

integer

Указывает максимальное допустимое время жизни (TTL) для кэшированного контента, предоставляемого этим источником.

default_ttl

integer

Указывает значение TTL по умолчанию для кэшированного контента, предоставляемого этим источником, для ответов, которые не имеют существующего допустимого TTL (max-age или s-max-age).

max_ttl

integer

Указывает максимальное допустимое время жизни (TTL) для кэшированного контента, предоставляемого этим источником.

negative_caching

boolean

Отрицательное кэширование позволяет устанавливать TTL для каждого кода состояния, чтобы применять тонкую настройку кэширования для распространенных ошибок или перенаправлений.

Варианты:

  • false
  • true

negative_caching_policy

list / elements=dictionary

Устанавливает TTL кэша для указанного кода состояния HTTP. Для настройки negativeCachingPolicy необходимо включить negativeCaching.

Пропуск политики и оставление negativeCaching включенным будут использовать значения TTL кэша по умолчанию Cloud CDN.

code

integer

Код состояния HTTP для определения TTL. В качестве значений можно указать только коды состояния HTTP 300, 301, 308, 404, 405, 410, 421, 451 и 501, и нельзя указывать код состояния более одного раза.

ttl

integer

TTL (в секундах), в течение которого кэшировать ответы с соответствующим кодом состояния. Максимальное допустимое значение — 1800 с (30 минут), при этом следует учитывать, что объекты, к которым обращаются нечасто, могут быть удалены из кэша до истечения заданного TTL.

serve_while_stale

integer

Использовать существующий контент из кэша (если доступен) при повторной проверке контента с источником или при возникновении ошибки при обновлении кэша.

signed_url_cache_max_age_sec

integer

Максимальное количество секунд, в течение которых ответ на запрос со ссылкой с подписью будет считаться свежим, по умолчанию — 1 час (3600 с). После этого периода ответ будет повторно проверен перед предоставлением.

При предоставлении ответов на запросы со ссылками с подписью Cloud CDN будет внутренне вести себя так, как будто все ответы от этого бэкэнда имели заголовок “Cache-Control: public, max-age=[TTL]”, независимо от любого существующего заголовка Cache-Control. Фактические заголовки, предоставляемые в ответах, не будут изменены.

По умолчанию: 3600

circuit_breakers

dictionary

Параметры, управляющие объемом соединений со службой бэкэнда. Это поле применимо только тогда, когда load_balancing_scheme установлено в INTERNAL_SELF_MANAGED.

max_connections

integer

Максимальное количество соединений с кластером бэкэнда.

По умолчанию 1024.

По умолчанию: 1024

max_pending_requests

integer

Максимальное количество ожидающих запросов к кластеру бэкэнда.

По умолчанию 1024.

По умолчанию: 1024

max_requests

integer

Максимальное количество параллельных запросов к кластеру бэкенда.

По умолчанию 1024.

Default: 1024

max_requests_per_connection

integer

Максимальное количество запросов для одного подключения к бэкенду. Этот параметр учитывается как реализациями HTTP/1.1, так и HTTP/2. Если не указано, ограничений нет. Установка этого параметра в 1 фактически отключит keep alive.

max_retries

integer

Максимальное количество параллельных повторных попыток к кластеру бэкенда.

По умолчанию 3.

Default: 3

connection_draining

dictionary

Настройки для отключения соединений.

draining_timeout_sec

integer

Время, в течение которого экземпляр будет отключен (не будет принимать новые подключения, но будет продолжать работу для завершения начатых).

Default: 300

consistent_hash

dictionary

Консистентное хеширование может использоваться для обеспечения мягкой аффинности сеанса на основе HTTP-заголовков, файлов cookie или других свойств. Эта политика балансировки нагрузки применима только для HTTP-соединений. Привязка к определенному хосту назначения будет потеряна, когда один или несколько хостов будут добавлены/удалены из службы назначения. Это поле указывает параметры, которые управляют консистентным хешированием. Это поле применяется только в том случае, если load_balancing_scheme установлен в INTERNAL_SELF_MANAGED. Это поле применимо только тогда, когда locality_lb_policy установлено в MAGLEV или RING_HASH.

http_cookie

dictionary

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

Это поле применимо, если sessionAffinity установлен в HTTP_COOKIE.

name

string

Имя cookie.

path

string

Путь для установки cookie.

ttl

dictionary

Срок действия cookie.

nanos

integer

Промежуток времени, который является частью секунды с разрешением в наносекунды. Продолжительность меньше одной секунды представляется полем 0 секунд и положительным полем наносекунд. Должно быть от 0 до 999 999 999 включительно.

seconds

integer / required

Промежуток времени с разрешением в одну секунду.

Должно быть от 0 до 315 576 000 000 включительно.

http_header_name

string

Хеширование на основе значения указанного поля заголовка.

Это поле применимо, если sessionAffinity установлен в HEADER_FIELD.

minimum_ring_size

integer

Минимальное количество виртуальных узлов для использования в кольцевом хеше.

Более крупные размеры кольца приводят к более гранулярному распределению нагрузки. Если количество хостов в пуле балансировки нагрузки больше размера кольца, каждому хосту будет назначен один виртуальный узел.

По умолчанию 1024.

Default: 1024

custom_request_headers

list / elements=string

Заголовки, которые балансировщик нагрузки HTTP/S должен добавлять к проксированным запросам.

custom_response_headers

list / elements=string

Заголовки, которые балансировщик нагрузки HTTP/S должен добавлять к проксированным ответам.

description

string

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

enable_cdn

boolean

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

Choices:

  • false
  • true

env_type

string

Указывает, в какой среде Ansible вы запускаете этот модуль.

Это не должно быть установлено, если вы не знаете, что делаете.

Это только изменяет строку User Agent для любых API-запросов.

health_checks

list / elements=string

Набор URL-адресов для ресурса HttpHealthCheck или HttpsHealthCheck для проверки работоспособности этого BackendService. В настоящее время можно указать максимум одну проверку работоспособности.

Проверка работоспособности должна быть указана, если только служба бэкенда не использует интернет или бессерверный NEG в качестве бэкенда.

Для внутренней балансировки нагрузки необходимо указать URL-адрес ресурса HealthCheck.

iap

dictionary

Настройки для включения Cloud Identity Aware Proxy.

enabled

boolean

Включает IAP.

Варианты:

  • false
  • true

oauth2_client_id

string / обязательно

Идентификатор клиента OAuth2 для IAP.

oauth2_client_secret

string / обязательно

Секрет клиента OAuth2 для IAP.

load_balancing_scheme

string

Указывает, будет ли обратная служба использоваться с внутренней или внешней балансировкой нагрузки. Обратная служба, созданная для одного типа балансировки нагрузки, не может использоваться с другим.

Некоторые допустимые значения: «EXTERNAL», «INTERNAL_SELF_MANAGED»

По умолчанию: "EXTERNAL"

locality_lb_policy

string

Алгоритм балансировки нагрузки, используемый в рамках локализации.

Возможные значения: * ROUND_ROBIN - Простой алгоритм, в котором каждый активный бэкенд выбирается по очереди.

* LEAST_REQUEST - Алгоритм, который выбирает два случайных активных хоста и выбирает хост с меньшим количеством активных запросов.

* RING_HASH - Балансировщик с кольцевым/модульным хешированием реализует согласованное хеширование для бэкэндов. Алгоритм имеет свойство, что добавление/удаление хоста из набора из N хостов затрагивает только 1/N запросов.

* RANDOM - Балансировщик выбирает случайный активный хост.

* ORIGINAL_DESTINATION - Хост бэкенда выбирается на основе метаданных клиентского соединения, т.е. соединения открываются к тому же адресу, что и адрес назначения входящего соединения до перенаправления соединения к балансировщику.

* MAGLEV - используется как замена балансировщику с кольцевым хешированием.

Maglev не так стабилен, как ring hash, но имеет более быстрое время построения таблиц и время выбора хоста. Дополнительную информацию о Maglev см. в https://ai.google/research/pubs/pub44824 Это поле применимо только когда load_balancing_scheme задано как INTERNAL_SELF_MANAGED.

Допустимые значения: «ROUND_ROBIN», «LEAST_REQUEST», «RING_HASH», «RANDOM», «ORIGINAL_DESTINATION», «MAGLEV»

log_config

dictionary

Это поле обозначает параметры ведения журнала для трафика балансировщика, обслуживаемого этой обратной службой.

Если ведение журнала включено, журналы будут экспортированы в Stackdriver.

enable

boolean

Включить ведение журнала для трафика балансировщика, обслуживаемого этой обратной службой.

Варианты:

  • false
  • true

sample_rate

string

Это поле можно указать только в том случае, если ведение журнала включено для этой обратной службы. Значение поля должно быть в диапазоне [0, 1]. Это настраивает частоту выборки запросов к балансировщику, где 1.0 означает, что все запросы, требующие ведения журнала, сообщаются, а 0.0 означает, что запросы, требующие ведения журнала, не сообщаются.

Значение по умолчанию равно 1.0.

name

string / обязательно

Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. То есть длина должна быть от 1 до 63 символов, а имя должно соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире.

outlier_detection

dictionary

Настройки, контролирующие удаление неисправных хостов из пула балансировки.

Это поле применимо только когда load_balancing_scheme задано как INTERNAL_SELF_MANAGED.

base_ejection_time

dictionary

Базовое время удаления хоста. Фактическое время равно базовому времени, умноженному на количество удалений хоста. По умолчанию 30000 мс или 30 с.

nanos

integer

Продолжительность времени, которая является долей секунды с разрешением в наносекунды. Продолжительности, меньшие одной секунды, представляются с полем `seconds` равным 0 и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.

seconds

integer / обязательно

Продолжительность времени с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно.

consecutive_errors

integer

Количество ошибок, прежде чем хост удаляется из пула подключений. При доступе к хосту бэкенда через HTTP код ответа 5xx считается ошибкой.

По умолчанию 5.

По умолчанию: 5

consecutive_gateway_failure

integer

Количество последовательных сбоев шлюза (статусы 502, 503, 504 или ошибки соединения, которые сопоставляются с одним из этих кодов статуса) перед удалением из-за последовательных сбоев шлюза. По умолчанию 5.

По умолчанию: 5

enforcing_consecutive_errors

целое число

Вероятность вывода узла из строя при обнаружении аномального состояния через последовательные ошибки 5xx. Этот параметр можно использовать для отключения или постепенного включения вывода из строя. По умолчанию 100.

По умолчанию: 100

enforcing_consecutive_gateway_failure

целое число

Вероятность вывода узла из строя при обнаружении аномального состояния через последовательные сбои шлюза. Этот параметр можно использовать для отключения или постепенного включения вывода из строя. По умолчанию 0.

enforcing_success_rate

целое число

Вероятность вывода узла из строя при обнаружении аномального состояния по статистике успешности. Этот параметр можно использовать для отключения или постепенного включения вывода из строя. По умолчанию 100.

По умолчанию: 100

interval

словарь

Интервал времени между анализом вывода узлов из строя. Это может привести к новому выводу из строя, а также к возвращению узлов в работу. По умолчанию 10 секунд.

nanos

целое число

Продолжительность, являющаяся дробью секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены с полем `seconds`, равным 0, и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.

seconds

целое число / обязательно

Продолжительность с разрешением в секунды. Должно быть от 0 до 315 576 000 000 включительно.

max_ejection_percent

целое число

Максимальный процент узлов в пуле балансировки нагрузки для обратного сервера, которые могут быть выведены из строя. По умолчанию 10%.

По умолчанию: 10

success_rate_minimum_hosts

целое число

Количество узлов в кластере, у которых должен быть достаточный объём запросов для обнаружения аномалий по успешности. Если количество узлов меньше этого значения, обнаружение аномалий по статистике успешности не выполняется для узлов в кластере. По умолчанию 5.

По умолчанию: 5

success_rate_request_volume

целое число

Минимальное количество общих запросов, которые должны быть собраны за один интервал (определённый выше продолжительностью интервала), чтобы включить этот узел в обнаружение аномалий на основе успешности. Если объём меньше этого значения, обнаружение аномалий по статистике успешности не выполняется для этого узла. По умолчанию 100.

По умолчанию: 100

success_rate_stdev_factor

целое число

Этот фактор используется для определения порога вывода из строя для вывода из строя аномальных значений успешности. Порог вывода из строя — это разность между средней успешностью и произведением этого фактора и стандартного отклонения от средней успешности: среднее - (стандартное отклонение * success_rate_stdev_factor). Этот фактор делится на тысячу, чтобы получить двойное значение. То есть, если желаемый фактор равен 1,9, значение во время выполнения должно быть 1900. По умолчанию 1900.

По умолчанию: 1900

port_name

строка

Имя порта бэкенда. То же имя должно присутствовать в группах виртуальных машин, на которые ссылается этот сервис. Требуется, когда схема балансировки нагрузки — EXTERNAL.

project

строка

Используемый проект Google Cloud Platform.

protocol

строка

Протокол, используемый этим обратным сервисом для связи с бэкендами.

По умолчанию HTTP. **ПРИМЕЧАНИЕ**: HTTP2 допустимо только для бета-версий типов балансировщиков HTTP/2 и может привести к ошибкам, если используется с API GA.

Некоторые допустимые значения: “HTTP”, “HTTPS”, “HTTP2”, “TCP”, “SSL”, “GRPC”

scopes

список / элементы=строка

Массив используемых областей.

security_policy

строка

Политика безопасности, связанная с этим обратным сервисом.

service_account_contents

jsonarg

Содержимое файла JSON учетной записи сервиса, либо в словаре, либо как JSON-строка, представляющая его.

service_account_email

строка

Дополнительный адрес электронной почты учетной записи сервиса, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию.

service_account_file

путь

Путь к файлу JSON учетной записи сервиса, если тип serviceaccount выбран.

session_affinity

строка

Тип используемой сродства сессий. По умолчанию NONE. Сродство сессий не применимо, если протокол UDP.

Некоторые допустимые значения: “NONE”, “CLIENT_IP”, “CLIENT_IP_PORT_PROTO”, “CLIENT_IP_PROTO”, “GENERATED_COOKIE”, “HEADER_FIELD”, “HTTP_COOKIE”

END_OF_DOCUMENT_MARKER

состояние

строка

Указывает, должен ли данный объект существовать в GCP

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

timeout_sec

псевдонимы: timeout_seconds

целое число

Количество секунд ожидания бэкенда перед тем, как считать запрос проваленным. По умолчанию 30 секунд. Допустимый диапазон [1, 86400].

Примечания

Примечание

  • Ссылка на API: https://cloud.google.com/compute/docs/reference/v1/backendServices
  • Официальная документация: https://cloud.google.com/compute/docs/load-balancing/http/backend-service
  • для аутентификации можно установить service_account_file с помощью переменной среды GCP_SERVICE_ACCOUNT_FILE.
  • для аутентификации можно установить service_account_contents с помощью переменной среды GCP_SERVICE_ACCOUNT_CONTENTS.
  • Для аутентификации можно установить service_account_email с помощью переменной среды GCP_SERVICE_ACCOUNT_EMAIL.
  • Для аутентификации можно установить access_token с помощью переменной среды GCP_ACCESS_TOKEN.
  • Для аутентификации можно установить auth_kind с помощью переменной среды GCP_AUTH_KIND.
  • Для аутентификации можно установить scopes с помощью переменной среды GCP_SCOPES.
  • Значения переменных среды будут использоваться только в том случае, если значения в плейбуке не заданы.
  • Параметры service_account_email и service_account_file взаимоисключающие.

Примеры

- name: create a instance group
  google.cloud.gcp_compute_instance_group:
    name: instancegroup-backendservice
    zone: us-central1-a
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: instancegroup

- name: create a HTTP health check
  google.cloud.gcp_compute_http_health_check:
    name: httphealthcheck-backendservice
    healthy_threshold: 10
    port: 8080
    timeout_sec: 2
    unhealthy_threshold: 5
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: healthcheck

- name: create a backend service
  google.cloud.gcp_compute_backend_service:
    name: test_object
    backends:
    - group: "{{ instancegroup.selfLink }}"
    health_checks:
    - "{{ healthcheck.selfLink }}"
    enable_cdn: 'true'
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Значения возврата

Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:

Ключ

Описание

affinityCookieTtlSec

integer

Время жизни файлов cookie в секундах, если session_affinity имеет значение GENERATED_COOKIE. Если установлено значение 0, файл cookie является непродолжительным и существует только до конца сеанса браузера (или эквивалента). Максимально допустимое значение для TTL — один день.

Когда схема балансировки нагрузки является INTERNAL, это поле не используется.

Возвращается: success

backends

complex

Набор бэкендов, которые обслуживают этот BackendService.

Возвращается: success

balancingMode

string

Задает режим балансировки для этого бэкенда.

Для глобальной балансировки нагрузки HTTP(S) или TCP/SSL по умолчанию используется UTILIZATION. Допустимые значения — UTILIZATION, RATE (для HTTP(S)) и CONNECTION (для TCP/SSL).

Возвращается: success

capacityScaler

string

Множитель, применяемый к максимальной емкости обслуживания группы (на основе UTILIZATION, RATE или CONNECTION).

Значение по умолчанию — 1, что означает, что группа будет обслуживать до 100% своей настроенной емкости (в зависимости от balancingMode). Значение 0 означает, что группа полностью отключена, предлагая 0% своей доступной емкости. Допустимый диапазон — [0.0,1.0].

Возвращается: success

description

string

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

Укажите это свойство при создании ресурса.

Возвращается: success

group

string

Полностью квалифицированный URL ресурса группы экземпляров или группы конечных точек сети. В случае группы экземпляров это определяет список экземпляров, которые обслуживают трафик. Экземпляры виртуальных машин-членов из каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Никакие два бэкенда в службе бэкенда не могут использовать один и тот же ресурс группы экземпляров.

Для групп конечных точек сети это определяет список конечных точек. Все конечные точки группы конечных точек сети должны размещаться на экземплярах, расположенных в той же зоне, что и группа конечных точек сети.

Службы бэкенда не могут смешивать бэкенды группы экземпляров и группы конечных точек сети.

Обратите внимание, что вы должны указать ресурс группы экземпляров или группы конечных точек сети, используя полностью квалифицированный URL, а не частичный URL.

Возвращается: success

maxConnections

integer

Максимальное количество одновременных подключений для группы. Может использоваться с режимами балансировки CONNECTION или UTILIZATION.

Для режима CONNECTION необходимо установить либо maxConnections, либо один из параметров maxConnectionsPerInstance или maxConnectionsPerEndpoint, в зависимости от типа группы.

Возвращается: success

maxConnectionsPerEndpoint

integer

Максимальное количество одновременных подключений, которые может обрабатывать одна конечная точка сети бэкенда. Это используется для расчета емкости группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION.

Для режима CONNECTION необходимо установить либо maxConnections, либо maxConnectionsPerEndpoint.

Возвращается: success

maxConnectionsPerInstance

integer

Максимальное количество одновременных подключений, которые может обрабатывать один экземпляр бэкенда. Это используется для расчета емкости группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION.

Для режима CONNECTION необходимо установить либо maxConnections, либо maxConnectionsPerInstance.

Возвращается: success

maxRate

integer

Максимальное количество запросов в секунду (RPS) для группы.

Может использоваться с режимами балансировки RATE или UTILIZATION, но требуется, если используется режим RATE. Для режима RATE необходимо установить либо maxRate, либо один из параметров maxRatePerInstance или maxRatePerEndpoint, в зависимости от типа группы.

Возвращается: success

maxRatePerEndpoint

string

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

Возвращается: success

maxRatePerInstance

string

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

Возвращается: success

maxUtilization

string

Используется, когда balancingMode имеет значение UTILIZATION. Это соотношение определяет целевую загрузку ЦП для группы. Допустимый диапазон — [0.0, 1.0].

Возвращается: success

cdnPolicy

complex

Конфигурация Cloud CDN для этого BackendService.

Возвращается: success

cacheKeyPolicy

complex

CacheKeyPolicy для этого CdnPolicy.

Возвращается: success

includeHost

boolean

Если true, запросы к разным хостам будут кэшироваться отдельно.

Возвращается: success

includeProtocol

boolean

Если значение true, запросы http и https будут кэшироваться отдельно.

Возвращено: success

includeQueryString

boolean

Если значение true, параметры строки запроса включаются в ключ кэша в соответствии с query_string_whitelist и query_string_blacklist. Если ни один из них не задан, будет включена вся строка запроса.

Если значение false, строка запроса будет полностью исключена из ключа кэша.

Возвращено: success

queryStringBlacklist

list / elements=string

Имена параметров строки запроса, которые необходимо исключить из ключей кэша.

Все остальные параметры будут включены. Необходимо указать либо query_string_whitelist, либо query_string_blacklist, но не оба одновременно.

‘&’ и ‘=’ будут кодироваться в процентном формате и не будут обрабатываться как разделители.

Возвращено: success

queryStringWhitelist

list / elements=string

Имена параметров строки запроса, которые необходимо включить в ключи кэша.

Все остальные параметры будут исключены. Необходимо указать либо query_string_whitelist, либо query_string_blacklist, но не оба одновременно.

‘&’ и ‘=’ будут кодироваться в процентном формате и не будут обрабатываться как разделители.

Возвращено: success

cacheMode

string

Указывает настройку кэша для всех ответов от этого бэкэнда.

Возможные значения: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL и CACHE_ALL_STATIC.

Возвращено: success

clientTtl

integer

Указывает максимально допустимое время жизни (TTL) для кэшированного контента, предоставляемого этим источником.

Возвращено: success

defaultTtl

integer

Указывает значение TTL по умолчанию для кэшированного контента, предоставляемого этим источником, для ответов, у которых нет существующего допустимого TTL (max-age или s-max-age).

Возвращено: success

maxTtl

integer

Указывает максимально допустимое время жизни (TTL) для кэшированного контента, предоставляемого этим источником.

Возвращено: success

negativeCaching

boolean

Отрицательное кэширование позволяет устанавливать TTL для каждого кода состояния, чтобы применять тонкозернистое кэширование для распространенных ошибок или перенаправлений.

Возвращено: success

negativeCachingPolicy

complex

Устанавливает TTL кэша для указанного кода состояния HTTP. Для настройки negativeCachingPolicy необходимо включить negativeCaching.

Пропуск политики и включение negativeCaching будут использовать значения TTL кэша по умолчанию Cloud CDN.

Возвращено: success

code

integer

Код состояния HTTP для определения TTL. В качестве значений можно указать только коды состояния HTTP 300, 301, 308, 404, 405, 410, 421, 451 и 501, и нельзя указывать код состояния более одного раза.

Возвращено: success

ttl

integer

TTL (в секундах), в течение которого кэшируются ответы с соответствующим кодом состояния. Максимально допустимое значение — 1800 с (30 минут), при этом следует отметить, что объекты, к которым обращаются нечасто, могут быть удалены из кэша до истечения заданного TTL.

Возвращено: success

serveWhileStale

integer

Использовать существующий контент из кэша (если доступен), если происходит повторная проверка контента с источником или при возникновении ошибки при обновлении кэша.

Возвращено: success

signedUrlCacheMaxAgeSec

integer

Максимальное количество секунд, в течение которых ответ на запрос со ссылкой с подписью будет считаться свежим, по умолчанию — 1 час (3600 с). По истечении этого периода ответ будет повторно проверен перед предоставлением.

При предоставлении ответов на запросы со ссылками с подписью Cloud CDN будет внутренне вести себя так, как если бы у всех ответов от этого бэкэнда был заголовок «Cache-Control: public, max-age=[TTL]», независимо от существующего заголовка Cache-Control. Фактические заголовки, предоставляемые в ответах, не будут изменены.

Возвращено: success

circuitBreakers

complex

Параметры, управляющие объемом подключений к службе бэкэнда. Это поле применимо только тогда, когда load_balancing_scheme имеет значение INTERNAL_SELF_MANAGED.

Возвращено: success

maxConnections

integer

Максимальное количество подключений к кластеру бэкэнда.

По умолчанию — 1024.

Возвращено: success

maxPendingRequests

integer

Максимальное количество ожидающих запросов к кластеру бэкэнда.

По умолчанию — 1024.

Возвращено: success

максRequests

целое число

Максимальное количество параллельных запросов к кластеру бэкенда.

По умолчанию 1024.

Возвращается: успех

максRequestsPerConnection

целое число

Максимальное количество запросов для одного подключения к бэкенду. Этот параметр учитывается как реализациями HTTP/1.1, так и HTTP/2. Если не указано, ограничений нет. Установка этого параметра в 1 фактически отключит keep-alive.

Возвращается: успех

максRetries

целое число

Максимальное количество параллельных повторных попыток подключения к кластеру бэкенда.

По умолчанию 3.

Возвращается: успех

connectionDraining

сложное

Настройки для отключения соединения.

Возвращается: успех

drainingTimeoutSec

целое число

Время, в течение которого экземпляр будет отключаться (не принимает новые подключения, но продолжает работу для завершения начатых).

Возвращается: успех

consistentHash

сложное

Балансировка нагрузки на основе консистентного хэширования может использоваться для обеспечения мягкой сессионной аффинити на основе HTTP-заголовков, файлов cookie или других свойств. Эта политика балансировки нагрузки применима только для HTTP-соединений. Аффинити к определенному хосту-назначению будет утерян, когда один или несколько хостов добавлены/удалены из сервиса назначения. Этот параметр определяет параметры, которые контролируют консистентное хэширование. Этот параметр применим только в случае, если load_balancing_scheme задан как INTERNAL_SELF_MANAGED. Этот параметр применим только при locality_lb_policy задано как MAGLEV или RING_HASH.

Возвращается: успех

httpCookie

сложное

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

Этот параметр применим, если sessionAffinity задан как HTTP_COOKIE.

Возвращается: успех

name

строка

Имя cookie.

Возвращается: успех

path

строка

Путь для cookie.

Возвращается: успех

ttl

сложное

Срок действия cookie.

Возвращается: успех

nanos

целое число

Продолжительность, являющаяся дробной частью секунды с разрешением наносекунды. Продолжительности меньше одной секунды представлены полем 0 секунд и положительным полем nanos. Должно быть от 0 до 999 999 999 включительно.

Возвращается: успех

seconds

целое число

Продолжительность с разрешением секунды.

Должно быть от 0 до 315 576 000 000 включительно.

Возвращается: успех

httpHeaderName

строка

Хэширование на основе значения указанного поля заголовка.

Этот параметр применим, если sessionAffinity задан как HEADER_FIELD.

Возвращается: успех

minimumRingSize

целое число

Минимальное количество виртуальных узлов для использования в кольце хэширования.

Более крупные кольца приводят к более точным распределениям нагрузки. Если количество хостов в пуле балансировки нагрузки больше размера кольца, каждому хосту будет назначен один виртуальный узел.

По умолчанию 1024.

Возвращается: успех

creationTimestamp

строка

Дата и время создания в формате RFC3339.

Возвращается: успех

customRequestHeaders

список / элементы=строка

Заголовки, которые балансировщик HTTP/S должен добавить к проксируемым запросам.

Возвращается: успех

customResponseHeaders

список / элементы=строка

Заголовки, которые балансировщик HTTP/S должен добавить к проксируемым ответам.

Возвращается: успех

описание

строка

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

Возвращается: успех

enableCDN

boolean

Если значение true, Cloud CDN будет включен для этого BackendService.

Возвращаемое значение: успех

fingerprint

string

Отпечаток пальца этого ресурса. Хэш содержимого, хранящегося в этом объекте. Это поле используется для оптимистической блокировки.

Возвращаемое значение: успех

healthChecks

список / элементы=строка

Набор URL-адресов ресурсов HttpHealthCheck или HttpsHealthCheck для проверки работоспособности этого BackendService. В настоящее время может быть указан только один контрольный параметр.

Контрольный параметр должен быть указан, если сервер использует интернет или бессерверный NEG в качестве бэкенда.

Для внутренней балансировки нагрузки должен быть указан URL-адрес ресурса HealthCheck.

Возвращаемое значение: успех

iap

сложный

Параметры для включения Cloud Identity Aware Proxy.

Возвращаемое значение: успех

enabled

boolean

Включает IAP.

Возвращаемое значение: успех

oauth2ClientId

строка

Идентификатор клиента OAuth2 для IAP.

Возвращаемое значение: успех

oauth2ClientSecret

строка

Секрет клиента OAuth2 для IAP.

Возвращаемое значение: успех

oauth2ClientSecretSha256

строка

SHA-256 секрет клиента OAuth2 для IAP.

Возвращаемое значение: успех

id

целое число

Уникальный идентификатор ресурса.

Возвращаемое значение: успех

loadBalancingScheme

строка

Указывает, будет ли бэкенд-сервис использоваться с внутренней или внешней балансировкой нагрузки. Бэкенд-сервис, созданный для одного типа балансировки нагрузки, не может быть использован с другим.

Возвращаемое значение: успех

localityLbPolicy

строка

Алгоритм балансировки нагрузки, используемый в пределах области.

Возможные значения: - * ROUND_ROBIN - Простой алгоритм, в котором каждый здоровый бэкенд выбирается в циклическом порядке.

* LEAST_REQUEST - Алгоритм, который выбирает два случайных здоровых узла и выбирает узел с меньшим количеством активных запросов.

* RING_HASH - Балансировщик кольца/модульного хэша реализует согласованное хэширование бэкендов. Алгоритм обладает свойством, что добавление/удаление узла из набора из N узлов затрагивает только 1/N запросов.

* RANDOM - Балансировщик выбирает случайный здоровый узел.

* ORIGINAL_DESTINATION - Узел бэкенда выбирается на основе метаданных подключения клиента, т. е. подключения открываются к тому же адресу, что и целевой адрес входящего подключения до того, как подключение было перенаправлено на балансировщик.

* MAGLEV - используется как замена балансировщика с хэшированием по кольцу.

Maglev не такой стабильный, как ring hash, но имеет более быстрые времена построения таблицы и выбора узлов. Дополнительную информацию о Maglev см. на https://ai.google/research/pubs/pub44824 Это поле применимо только тогда, когда load_balancing_scheme установлено в INTERNAL_SELF_MANAGED.

Возвращаемое значение: успех

logConfig

сложный

Это поле обозначает параметры протоколирования для трафика балансировщика, обслуживаемого этим бэкенд-сервисом.

Если протоколирование включено, журналы будут экспортированы в Stackdriver.

Возвращаемое значение: успех

enable

boolean

Включает протоколирование трафика балансировщика, обслуживаемого этим бэкенд-сервисом.

Возвращаемое значение: успех

sampleRate

строка

Это поле может быть указано только при включенном протоколировании для этого бэкенд-сервиса. Значение поля должно быть в интервале [0, 1]. Этот параметр настраивает частоту выборки запросов к балансировщику, где 1.0 означает, что все запросы, подлежащие протоколированию, будут зарегистрированы, а 0.0 означает, что ни один запрос, подлежащий протоколированию, не будет зарегистрирован.

Значение по умолчанию равно 1.0.

Возвращаемое значение: успех

name

строка

Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. В частности, длина имени должна быть от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.

Возвращаемое значение: успех

outlierDetection

сложный

Настройки, контролирующие удаление неисправных узлов из пула балансировки.

Это поле применимо только тогда, когда load_balancing_scheme установлено в INTERNAL_SELF_MANAGED.

Возвращаемое значение: успех

baseEjectionTime

complex

Базовое время, на которое отключается хост. Реальное время равно базовому времени, умноженному на количество раз, когда хост был отключен. По умолчанию 30000 мс или 30 с.

Returned: success

nanos

integer

Промежуток времени, представляющий собой долю секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены полем `seconds`, равным 0, и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.

Returned: success

seconds

integer

Промежуток времени с разрешением в одну секунду. Должно быть от 0 до 315 576 000 000 включительно.

Returned: success

consecutiveErrors

integer

Количество ошибок до отключения хоста из пула соединений. При доступе к хосту бэкенда по HTTP код возврата 5xx считается ошибкой.

По умолчанию 5.

Returned: success

consecutiveGatewayFailure

integer

Количество последовательных ошибок шлюза (статус 502, 503, 504 или ошибки соединения, которые сопоставлены с одним из этих кодов состояния) до отключения из-за последовательных ошибок шлюза. По умолчанию 5.

Returned: success

enforcingConsecutiveErrors

integer

Вероятность (в процентах) фактического отключения хоста при обнаружении статуса выброса с помощью последовательных кодов 5xx. Этот параметр можно использовать для отключения отключения или для его постепенного увеличения. По умолчанию 100.

Returned: success

enforcingConsecutiveGatewayFailure

integer

Вероятность (в процентах) фактического отключения хоста при обнаружении статуса выброса с помощью последовательных ошибок шлюза. Этот параметр можно использовать для отключения отключения или для его постепенного увеличения. По умолчанию 0.

Returned: success

enforcingSuccessRate

integer

Вероятность (в процентах) фактического отключения хоста при обнаружении статуса выброса с помощью статистики успешности. Этот параметр можно использовать для отключения отключения или для его постепенного увеличения. По умолчанию 100.

Returned: success

interval

complex

Временной интервал между анализами на предмет отключения. Это может привести как к новым отключениям, так и к возврату хостов в рабочее состояние. По умолчанию 10 секунд.

Returned: success

nanos

integer

Промежуток времени, представляющий собой долю секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены полем `seconds`, равным 0, и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.

Returned: success

seconds

integer

Промежуток времени с разрешением в одну секунду. Должно быть от 0 до 315 576 000 000 включительно.

Returned: success

maxEjectionPercent

integer

Максимальный процент хостов в пуле балансировки нагрузки для службы бэкенда, которые могут быть отключены. По умолчанию 10%.

Returned: success

successRateMinimumHosts

integer

Количество хостов в кластере, которые должны иметь достаточный объем запросов для обнаружения выбросов по коэффициенту успешности. Если количество хостов меньше этого значения, обнаружение выбросов по статистике успешности не выполняется ни для одного хоста в кластере. По умолчанию 5.

Returned: success

successRateRequestVolume

integer

Минимальное количество общих запросов, которые должны быть собраны за один интервал (как определено продолжительностью интервала выше), чтобы включить этот хост в обнаружение выбросов на основе коэффициента успешности. Если объем меньше этого значения, обнаружение выбросов по статистике успешности не выполняется для этого хоста. По умолчанию 100.

Returned: success

successRateStdevFactor

integer

Этот коэффициент используется для определения порогового значения отключения для отключения выбросов по коэффициенту успешности. Пороговое значение отключения — это разница между средним коэффициентом успешности и произведением этого коэффициента и стандартного отклонения среднего коэффициента успешности: среднее - (стандартное отклонение * success_rate_stdev_factor). Этот коэффициент делится на тысячу, чтобы получить число с плавающей запятой. То есть, если желаемый коэффициент равен 1,9, значение времени выполнения должно быть 1900. По умолчанию 1900.

Returned: success

portName

string

Имя порта бэкенда. То же имя должно отображаться в группах экземпляров, на которые ссылается эта служба. Обязательно, когда схема балансировки нагрузки — EXTERNAL.

Returned: success

протокол

строка

Протокол, используемый этим BackendService для связи с бекендами.

По умолчанию HTTP. **ПРИМЕЧАНИЕ**: HTTP2 допустим только для бета-версий балансировщиков нагрузки HTTP/2 и может привести к ошибкам при использовании с API GA.

Возвращается: успех

securityPolicy

строка

Политика безопасности, связанная с этим сервером бэкенда.

Возвращается: успех

sessionAffinity

строка

Тип сессионной аффинизации. По умолчанию NONE. Сессионная аффинизация неприменима, если протокол UDP.

Возвращается: успех

timeoutSec

целое число

Количество секунд ожидания бэкенда перед признанием запроса неудачным. По умолчанию 30 секунд. Допустимый диапазон: [1, 86400].

Возвращается: успех

Авторы

  • Google Inc. (@googlecloudplatform)

Ссылки на коллекцию

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (исходные коды)

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/google/cloud/gcp_compute_backend_service_module.html

Spec-Zone.ru

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