Модуль google.cloud.gcp_compute_backend_service — создание BackendService в GCP
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.13.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в состав ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: google.cloud.gcp_compute_backend_service.
Краткое описание
- Backend Service определяет группу виртуальных машин, которая будет обрабатывать трафик при балансировке нагрузки. Этот ресурс представляет собой глобальную службу backend, подходящую для внешней балансировки нагрузки или самостоятельно управляемой внутренней балансировки нагрузки.
- Для управляемой внутренней балансировки нагрузки используйте региональную службу backend.
- В настоящее время самостоятельно управляемая внутренняя балансировка нагрузки доступна только в бета-версии.
Требования
На хосте, где выполняется этот модуль, должны быть установлены следующие компоненты.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Комментарии |
|---|---|
access_token string | Токен доступа OAuth2, если тип учетных данных — accesstoken. |
affinity_cookie_ttl_sec integer | Срок действия файлов cookie в секундах, если для session_affinity задано значение GENERATED_COOKIE. Если задано значение 0, файл cookie не является постоянным и действует только до окончания сеанса браузера (или аналогичного сеанса). Максимально допустимое значение TTL составляет один день. Это поле не используется, если схема балансировки нагрузки — INTERNAL. |
auth_kind string / обязательный | Тип используемых учетных данных. Варианты:
|
backends list / elements=dictionary | Набор серверных компонентов, обслуживающих этот BackendService. |
|
balancing_mode string |
Указывает режим балансировки для этого серверного компонента. Для глобальной балансировки нагрузки HTTP(S) или TCP/SSL по умолчанию используется UTILIZATION. Допустимые значения: UTILIZATION, RATE (для HTTP(S)) и CONNECTION (для TCP/SSL). Некоторые допустимые варианты: «UTILIZATION», «RATE», «CONNECTION» По умолчанию: |
|
capacity_scaler string |
Множитель, применяемый к максимальной обслуживающей способности группы (на основе UTILIZATION, RATE или CONNECTION). Значение по умолчанию — 1, что означает, что группа будет использовать до 100% настроенной емкости (в зависимости от balancingMode). Значение 0 означает, что группа полностью выведена из обслуживания и предоставляет 0% доступной емкости. Допустимый диапазон: [0.0,1.0]. По умолчанию: |
|
description string |
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. |
|
group string / обязательный |
Полный URL ресурса Instance Group или Network Endpoint Group. Для группы экземпляров он определяет список экземпляров, обрабатывающих трафик. Виртуальные машины — участники каждой группы экземпляров — должны находиться в той же зоне, что и сама группа экземпляров. Два серверных компонента одной службы не могут использовать один и тот же ресурс Instance Group. Для Network Endpoint Groups это поле определяет список конечных точек. Все конечные точки Network Endpoint Group должны размещаться на экземплярах, находящихся в той же зоне, что и Network Endpoint Group. В серверных компонентах служб нельзя одновременно использовать группы экземпляров и группы сетевых конечных точек. Обратите внимание: ресурс Instance Group или Network Endpoint Group необходимо указывать с помощью полного 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, запросы к разным хостам будут кэшироваться отдельно. Варианты:
|
|
include_protocol boolean |
Если значение равно true, запросы http и https будут кэшироваться отдельно. Варианты:
|
|
include_query_string boolean |
Если значение равно true, параметры строки запроса включаются в ключ кэша в соответствии с query_string_whitelist и query_string_blacklist. Если ни один из этих параметров не задан, будет включена вся строка запроса. Если значение равно false, строка запроса полностью исключается из ключа кэша. Варианты:
|
|
query_string_blacklist list / elements=string |
Названия параметров строки запроса, которые следует исключить из ключей кэша. Все остальные параметры будут включены. Укажите query_string_whitelist или query_string_blacklist, но не оба сразу. Символы ‘&’ и ‘=’ будут закодированы в формате percent encoding и не будут считаться разделителями. |
|
query_string_whitelist list / elements=string |
Названия параметров строки запроса, которые следует включить в ключи кэша. Все остальные параметры будут исключены. Укажите query_string_whitelist или query_string_blacklist, но не оба сразу. Символы ‘&’ и ‘=’ будут закодированы в формате percent encoding и не будут считаться разделителями. |
|
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 для отдельных кодов состояния, обеспечивая более точное кэширование распространенных ошибок и перенаправлений. Варианты:
|
|
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 |
Максимальное число секунд, в течение которых ответ на запрос с подписанным URL считается актуальным; значение по умолчанию — 1 час (3600 с). По истечении этого времени ответ будет повторно проверен перед предоставлением. При предоставлении ответов на запросы с подписанным URL Cloud CDN внутренне обрабатывает ответы от этой серверной части так, как если бы все они содержали заголовок «Cache-Control: public, max-age=[TTL]», независимо от наличия любого заголовка Cache-Control. Фактически отправляемые в ответах заголовки не изменяются. По умолчанию: |
circuit_breakers dictionary | Параметры, управляющие количеством подключений к серверной службе. Это поле применимо только в том случае, если для load_balancing_scheme задано значение INTERNAL_SELF_MANAGED. |
|
max_connections integer |
Максимальное число подключений к кластеру серверной части. По умолчанию — 1024. По умолчанию: |
|
max_pending_requests integer |
Максимальное число ожидающих запросов к кластеру серверной части. По умолчанию — 1024. По умолчанию: |
|
max_requests integer |
Максимальное число параллельных запросов к кластеру серверной части. По умолчанию — 1024. По умолчанию: |
|
max_requests_per_connection integer |
Максимальное число запросов для одного подключения к серверной части. Этот параметр учитывается реализациями HTTP/1.1 и HTTP/2. Если он не задан, ограничение отсутствует. Если задать для этого параметра значение 1, поддержание подключения фактически будет отключено. |
|
max_retries integer |
Максимальное число параллельных повторных попыток запроса к кластеру серверной части. По умолчанию — 3. По умолчанию: |
connection_draining dictionary | Параметры для постепенного отключения подключений. |
|
draining_timeout_sec integer |
Время, в течение которого экземпляр будет выводиться из обслуживания: он не будет принимать новые подключения, но продолжит работу для завершения уже начатых операций. По умолчанию: |
consistent_hash dictionary | Балансировку нагрузки на основе согласованного хеширования можно использовать для обеспечения мягкой привязки сеанса на основе заголовков HTTP, файлов cookie и других свойств. Эта политика балансировки нагрузки применима только к HTTP-подключениям. Привязка к определенному целевому хосту будет утрачена при добавлении или удалении одного или нескольких хостов из целевой службы. В этом поле задаются параметры управления согласованным хешированием. Это поле применяется только в том случае, если для load_balancing_scheme задано значение INTERNAL_SELF_MANAGED. Это поле применимо только в том случае, если для locality_lb_policy задано значение MAGLEV или RING_HASH. |
|
http_cookie dictionary |
Хеширование выполняется на основе файла cookie HTTP. В этом поле описывается файл cookie HTTP, который будет использоваться в качестве ключа хеширования для балансировщика нагрузки с согласованным хешированием. Если файл cookie отсутствует, он будет создан. Это поле применимо, если для sessionAffinity задано значение HTTP_COOKIE. |
|
name string |
Имя файла cookie. |
|
path string |
Путь, который будет задан для файла cookie. |
|
ttl dictionary |
Срок действия файла cookie. |
|
nanos integer |
Промежуток времени, заданный долей секунды с наносекундной точностью. Длительности менее одной секунды представляются полем seconds со значением 0 и положительным значением поля nanos. Значение должно быть в диапазоне от 0 до 999,999,999 включительно. |
|
seconds integer / обязательный |
Промежуток времени с точностью до секунды. Значение должно быть в диапазоне от 0 до 315,576,000,000 включительно. |
|
http_header_name string |
Хеширование на основе значения указанного поля заголовка. Это поле применимо, если для sessionAffinity задано значение HEADER_FIELD. |
|
minimum_ring_size integer |
Минимальное число виртуальных узлов для кольца хеширования. Чем больше размер кольца, тем точнее распределяется нагрузка. Если число хостов в пуле балансировки нагрузки превышает размер кольца, каждому хосту будет назначен один виртуальный узел. По умолчанию — 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. Возможные значения:
|
env_type string | Указывает, в какой среде Ansible выполняется этот модуль. Не задавайте это значение, если не знаете, что делаете. Это изменяет только строку User Agent для любых запросов API. |
fingerprint string | Отпечаток этого ресурса. Хеш содержимого, хранящегося в этом объекте. Это поле используется для оптимистической блокировки. |
health_checks list / elements=string | Набор URL-адресов ресурсов HttpHealthCheck или HttpsHealthCheck для проверки работоспособности этого BackendService. В настоящее время можно указать не более одной проверки работоспособности. Проверка работоспособности должна быть указана, если только в качестве бэкенда службы не используется интернет- или бессерверный NEG. Для внутренней балансировки нагрузки вместо этого необходимо указать URL-адрес ресурса HealthCheck. |
iap dictionary | Настройки для включения Cloud Identity-Aware Proxy. |
|
enabled boolean |
Включает IAP. Возможные значения:
|
|
oauth2_client_id string / обязательный |
Идентификатор клиента OAuth2 для IAP. |
|
oauth2_client_secret string / обязательный |
Секрет клиента OAuth2 для IAP. |
load_balancing_scheme string | Указывает, будет ли служба бэкенда использоваться с внутренней или внешней балансировкой нагрузки. Службу бэкенда, созданную для одного типа балансировки нагрузки, нельзя использовать с другим типом. Некоторые допустимые значения: «EXTERNAL», «INTERNAL_SELF_MANAGED» Значение по умолчанию: |
locality_lb_policy string | Алгоритм балансировки нагрузки, используемый в пределах области локальности. Возможные значения: * ROUND_ROBIN — простая политика, при которой каждый работоспособный бэкенд выбирается по очереди. * LEAST_REQUEST — алгоритм выбирает два случайных работоспособных узла и направляет запрос на узел с меньшим количеством активных запросов. * RING_HASH — балансировщик нагрузки с хешированием по кольцу/модулю реализует согласованное хеширование для бэкендов. Алгоритм обладает свойством, при котором добавление или удаление узла из набора N узлов влияет только на 1/N запросов. * RANDOM — балансировщик нагрузки выбирает случайный работоспособный узел. * ORIGINAL_DESTINATION — узел бэкенда выбирается на основе метаданных клиентского подключения, то есть соединения открываются по тому же адресу, что и адрес назначения входящего соединения до его перенаправления к балансировщику нагрузки. * MAGLEV — используется как прямая замена балансировщику нагрузки с хешированием по кольцу. Maglev менее стабилен, чем хеширование по кольцу, но обеспечивает более быстрое построение таблиц поиска и выбор узлов. Дополнительные сведения о Maglev см. по адресу https://ai.google/research/pubs/pub44824. Это поле применяется только в том случае, если для load_balancing_scheme задано значение INTERNAL_SELF_MANAGED. Некоторые допустимые значения: «ROUND_ROBIN», «LEAST_REQUEST», «RING_HASH», «RANDOM», «ORIGINAL_DESTINATION», «MAGLEV» |
log_config dictionary | Это поле задает параметры ведения журналов трафика балансировщика нагрузки, обслуживаемого этой службой бэкенда. Если ведение журналов включено, журналы будут экспортироваться в Stackdriver. |
|
enable boolean |
Включает ли ведение журналов трафика балансировщика нагрузки, обслуживаемого этой службой бэкенда. Возможные значения:
|
|
sample_rate string |
Это поле можно указать только в том случае, если для этой службы бэкенда включено ведение журналов. Значение поля должно находиться в диапазоне [0, 1]. Здесь задается частота выборки запросов к балансировщику нагрузки: значение 1.0 означает, что регистрируются все запросы, а значение 0.0 — что не регистрируется ни один запрос. Значение по умолчанию — 1.0. |
name string / обязательный | Имя ресурса. Указывается клиентом при создании ресурса. Имя должно содержать от 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. Значение по умолчанию: |
|
consecutive_gateway_failure integer |
Количество последовательных сбоев шлюза (статус 502, 503 или 504 либо ошибки соединения, сопоставленные одному из этих кодов состояния), после которого происходит исключение узла из-за последовательных сбоев шлюза. Значение по умолчанию — 5. Значение по умолчанию: |
|
enforcing_consecutive_errors integer |
Вероятность в процентах того, что узел действительно будет исключен при обнаружении аномального состояния по последовательным ответам 5xx. Этот параметр можно использовать, чтобы отключить исключение узлов или постепенно увеличивать его интенсивность. Значение по умолчанию — 100. Значение по умолчанию: |
|
enforcing_consecutive_gateway_failure integer |
Вероятность в процентах того, что узел действительно будет исключен при обнаружении аномального состояния по последовательным сбоям шлюза. Этот параметр можно использовать, чтобы отключить исключение узлов или постепенно увеличивать его интенсивность. Значение по умолчанию — 0. Значение по умолчанию: |
|
enforcing_success_rate integer |
Вероятность в процентах того, что узел действительно будет исключен при обнаружении аномального состояния на основе статистики успешности. Этот параметр можно использовать, чтобы отключить исключение узлов или постепенно увеличивать его интенсивность. Значение по умолчанию — 100. Значение по умолчанию: |
|
interval dictionary |
Интервал времени между проверками для анализа исключения узлов. В результате могут исключаться новые узлы, а ранее исключенные узлы могут возвращаться к работе. Значение по умолчанию — 10 секунд. |
|
nanos integer |
Длительность времени, составляющая долю секунды с точностью до наносекунды. Длительности менее одной секунды представляются полем `seconds` со значением 0 и положительным значением поля `nanos`. Значение должно быть в диапазоне от 0 до 999,999,999 включительно. |
|
seconds integer / обязательный |
Длительность времени с точностью до секунды. Значение должно быть в диапазоне от 0 до 315,576,000,000 включительно. |
|
max_ejection_percent integer |
Максимальный процент узлов в пуле балансировки нагрузки службы бэкенда, которые могут быть исключены. Значение по умолчанию — 10%. Значение по умолчанию: |
|
success_rate_minimum_hosts integer |
Количество узлов в кластере, для которых должен быть достаточный объем запросов, чтобы обнаруживать аномалии по показателю успешности. Если узлов меньше, чем задано этим параметром, обнаружение аномалий на основе статистики успешности не выполняется ни для одного узла кластера. Значение по умолчанию — 5. Значение по умолчанию: |
|
success_rate_request_volume integer |
Минимальное общее количество запросов, которое необходимо собрать за один интервал (определяемый указанной выше длительностью интервала), чтобы включить узел в обнаружение аномалий на основе показателя успешности. Если объем запросов ниже заданного значения, обнаружение аномалий на основе статистики успешности для этого узла не выполняется. Значение по умолчанию — 100. Значение по умолчанию: |
|
success_rate_stdev_factor integer |
Этот коэффициент используется для определения порога исключения узла при обнаружении аномалий по показателю успешности. Порог исключения — это разница между средним показателем успешности и произведением этого коэффициента на стандартное отклонение среднего показателя успешности: mean - (stdev * success_rate_stdev_factor). Чтобы получить число с плавающей точкой, этот коэффициент делится на тысячу. Например, если требуемый коэффициент равен 1.9, в среде выполнения следует указать значение 1900. Значение по умолчанию — 1900. Значение по умолчанию: |
port_name string | Имя порта бэкенда. Такое же имя должно присутствовать в группах экземпляров, на которые ссылается эта служба. Обязательно, если схема балансировки нагрузки — EXTERNAL. |
project string | Проект Google Cloud Platform, который следует использовать. |
protocol string | Протокол, который BackendService использует для связи с бэкендами. По умолчанию используется HTTP. **ПРИМЕЧАНИЕ**: HTTP2 допустим только для бета-версий типов балансировщиков нагрузки HTTP/2 и может приводить к ошибкам при использовании с API GA. Некоторые допустимые значения: «HTTP», «HTTPS», «HTTP2», «TCP», «SSL», «GRPC» |
scopes list / elements=string | Массив используемых областей доступа |
security_policy 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 псевдонимы: timeout_seconds integer | Сколько секунд ожидать ответа от бэкенда, прежде чем считать запрос неудачным. Значение по умолчанию — 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, это поле не используется. Возвращается: при успехе |
backends complex | Набор серверных частей, обслуживающих этот BackendService. Возвращается: при успехе |
|
balancingMode string |
Задает режим балансировки для этой серверной части. Для глобальной балансировки нагрузки HTTP(S) или TCP/SSL по умолчанию используется UTILIZATION. Допустимые значения: UTILIZATION, RATE (для HTTP(S)) и CONNECTION (для TCP/SSL). Возвращается: при успехе |
|
capacityScaler string |
Множитель, применяемый к максимальной пропускной способности группы (на основе UTILIZATION, RATE или CONNECTION). Значение по умолчанию — 1, что означает, что группа будет обслуживать нагрузку до 100% настроенной емкости (в зависимости от balancingMode). Значение 0 означает, что группа полностью выведена из обслуживания и не использует доступную емкость. Допустимый диапазон: [0.0,1.0]. Возвращается: при успехе |
|
description string |
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. Возвращается: при успехе |
|
group string |
Полный URL ресурса группы экземпляров или группы сетевых конечных точек. Для группы экземпляров этот параметр определяет список экземпляров, обслуживающих трафик. Виртуальные машины — участники каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Запрещено использовать один и тот же ресурс группы экземпляров в качестве серверной части в нескольких службах серверных частей. Для групп сетевых конечных точек этот параметр определяет список конечных точек. Все конечные точки группы сетевых конечных точек должны размещаться на экземплярах, находящихся в той же зоне, что и группа сетевых конечных точек. Службы серверных частей не могут одновременно использовать серверные части из групп экземпляров и групп сетевых конечных точек. Обратите внимание: ресурс группы экземпляров или группы сетевых конечных точек необходимо указывать с помощью полного URL, а не частичного URL. Возвращается: при успехе |
|
maxConnections integer |
Максимальное количество одновременных подключений для группы. Можно использовать в режимах балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо задать либо maxConnections, либо maxConnectionsPerInstance или maxConnectionsPerEndpoint — в зависимости от типа группы. Возвращается: при успехе |
|
maxConnectionsPerEndpoint integer |
Максимальное количество одновременных подключений, которое может обработать одна сетевая конечная точка серверной части. Это значение используется для вычисления емкости группы. Можно использовать в режимах балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо задать либо maxConnections, либо maxConnectionsPerEndpoint. Возвращается: при успехе |
|
maxConnectionsPerInstance integer |
Максимальное количество одновременных подключений, которое может обработать один экземпляр серверной части. Это значение используется для вычисления емкости группы. Можно использовать в режимах балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо задать либо maxConnections, либо maxConnectionsPerInstance. Возвращается: при успехе |
|
maxRate integer |
Максимальное количество запросов в секунду (RPS) для группы. Можно использовать в режимах балансировки RATE или UTILIZATION, но для режима RATE это значение обязательно. Для режима RATE необходимо задать либо maxRate, либо maxRatePerInstance или maxRatePerEndpoint — в зависимости от типа группы. Возвращается: при успехе |
|
maxRatePerEndpoint string |
Максимальное количество запросов в секунду (RPS), которое может обработать одна сетевая конечная точка серверной части. Это значение используется для вычисления емкости группы. Можно использовать в любом режиме балансировки. Для режима RATE необходимо задать либо maxRate, либо maxRatePerEndpoint. Возвращается: при успехе |
|
maxRatePerInstance string |
Максимальное количество запросов в секунду (RPS), которое может обработать один экземпляр серверной части. Это значение используется для вычисления емкости группы. Можно использовать в любом режиме балансировки. Для режима RATE необходимо задать либо maxRate, либо maxRatePerInstance. Возвращается: при успехе |
|
maxUtilization string |
Используется, когда balancingMode имеет значение UTILIZATION. Это отношение задает целевое использование ЦП для группы. Допустимый диапазон: [0.0, 1.0]. Возвращается: при успехе |
cdnPolicy complex | Конфигурация Cloud CDN для этого BackendService. Возвращается: при успехе |
|
cacheKeyPolicy complex |
Политика CacheKeyPolicy для этой CdnPolicy. Возвращается: при успехе |
|
includeHost boolean |
Если значение true, запросы к разным хостам будут кэшироваться отдельно. Возвращается: при успехе |
|
includeProtocol boolean |
Если значение true, запросы HTTP и HTTPS будут кэшироваться отдельно. Возвращается: при успехе |
|
includeQueryString boolean |
Если значение true, параметры строки запроса включаются в ключ кэша в соответствии с query_string_whitelist и query_string_blacklist. Если ни один из этих параметров не задан, в ключ включается вся строка запроса. Если значение false, строка запроса полностью исключается из ключа кэша. Возвращается: при успехе |
|
queryStringBlacklist list / elements=string |
Имена параметров строки запроса, которые следует исключить из ключей кэша. Все остальные параметры будут включены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба параметра одновременно. Символы ‘&’ и ‘=’ будут закодированы в процентах и не будут рассматриваться как разделители. Возвращается: при успехе |
|
queryStringWhitelist list / elements=string |
Имена параметров строки запроса, которые следует включить в ключи кэша. Все остальные параметры будут исключены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба параметра одновременно. Символы ‘&’ и ‘=’ будут закодированы в процентах и не будут рассматриваться как разделители. Возвращается: при успехе |
|
cacheMode string |
Задает параметры кэширования для всех ответов от этой серверной части. Возможные значения: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL и CACHE_ALL_STATIC . Возвращается: при успехе |
|
clientTtl integer |
Задает максимально допустимый TTL для кэшированного содержимого, предоставляемого этим источником. Возвращается: при успехе |
|
defaultTtl integer |
Задает TTL по умолчанию для кэшированного содержимого, предоставляемого этим источником, в ответах, для которых не задан действующий TTL (max-age или s-max-age). Возвращается: при успехе |
|
maxTtl integer |
Задает максимально допустимый TTL для кэшированного содержимого, предоставляемого этим источником. Возвращается: при успехе |
|
negativeCaching boolean |
Отрицательное кэширование позволяет задавать TTL отдельно для каждого кода состояния, чтобы обеспечить детальную настройку кэширования распространенных ошибок или перенаправлений. Возвращается: при успехе |
|
negativeCachingPolicy complex |
Задает 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. Возвращается: при успехе |
|
serveWhileStale integer |
Предоставлять уже имеющееся в кэше содержимое (если оно доступно) во время его проверки у источника или при возникновении ошибки при обновлении кэша. Возвращается: при успехе |
|
signedUrlCacheMaxAgeSec integer |
Максимальное количество секунд, в течение которого ответ на запрос с подписанным URL считается свежим. По умолчанию — 1 час (3600 с). По истечении этого периода ответ будет проверен повторно перед отправкой. При отправке ответов на запросы с подписанным URL Cloud CDN будет внутренне обрабатывать все ответы от этой серверной части так, как если бы они содержали заголовок «Cache-Control: public, max-age=[TTL]», независимо от имеющихся заголовков Cache-Control. Фактические заголовки в отправляемых ответах изменяться не будут. Возвращается: при успехе |
circuitBreakers complex | Параметры, управляющие количеством подключений к службе серверных частей. Это поле применяется только в том случае, если для load_balancing_scheme задано значение INTERNAL_SELF_MANAGED. Возвращается: при успехе |
|
maxConnections integer |
Максимальное количество подключений к кластеру серверной части. По умолчанию — 1024. Возвращается: при успехе |
|
maxPendingRequests integer |
Максимальное количество ожидающих запросов к кластеру серверной части. По умолчанию — 1024. Возвращается: при успехе |
|
maxRequests integer |
Максимальное количество параллельных запросов к кластеру серверной части. По умолчанию — 1024. Возвращается: при успехе |
|
maxRequestsPerConnection integer |
Максимальное количество запросов для одного подключения к серверной части. Этот параметр применяется как в реализации HTTP/1.1, так и в реализации HTTP/2. Если значение не задано, ограничение отсутствует. Значение 1 фактически отключает постоянное соединение. Возвращается: при успехе |
|
maxRetries integer |
Максимальное количество параллельных повторных попыток для кластера серверной части. По умолчанию — 3. Возвращается: при успехе |
connectionDraining complex | Параметры плавного отключения подключений. Возвращается: при успехе |
|
drainingTimeoutSec integer |
Время, в течение которого экземпляр будет отключаться от обслуживания (не принимать новые подключения, но продолжать работу для завершения начатых). Возвращается: при успехе |
consistentHash complex | Балансировку нагрузки на основе согласованного хэширования можно использовать для обеспечения мягкой привязки сеанса на основе заголовков HTTP, файлов cookie или других свойств. Эта политика балансировки нагрузки применяется только к HTTP-подключениям. Привязка к определенному целевому хосту теряется при добавлении или удалении одного или нескольких хостов из целевой службы. Это поле задает параметры управления согласованным хэшированием. Поле применяется только в том случае, если для load_balancing_scheme задано значение INTERNAL_SELF_MANAGED. Поле применяется только при значении MAGLEV или RING_HASH для locality_lb_policy. Возвращается: при успехе |
|
httpCookie complex |
Хэш основывается на файле cookie HTTP. В этом поле описывается файл cookie HTTP, который будет использоваться в качестве ключа хэширования для балансировщика нагрузки с согласованным хэшированием. Если файл cookie отсутствует, он будет создан. Это поле применяется, если для sessionAffinity задано значение HTTP_COOKIE. Возвращается: при успехе |
|
name string |
Имя файла cookie. Возвращается: при успехе |
|
path string |
Путь, который будет задан для файла cookie. Возвращается: при успехе |
|
ttl complex |
Срок действия файла cookie. Возвращается: при успехе |
|
nanos integer |
Промежуток времени, составляющий долю секунды и заданный с точностью до наносекунд. Длительности менее одной секунды представляются полем seconds со значением 0 и положительным значением поля nanos. Значение должно находиться в диапазоне от 0 до 999,999,999 включительно. Возвращается: при успехе |
|
seconds integer |
Промежуток времени с точностью до секунды. Значение должно находиться в диапазоне от 0 до 315,576,000,000 включительно. Возвращается: при успехе |
|
httpHeaderName string |
Хэш основывается на значении указанного поля заголовка. Это поле применяется, если для sessionAffinity задано значение HEADER_FIELD. Возвращается: при успехе |
|
minimumRingSize integer |
Минимальное количество виртуальных узлов, используемых для хеш-кольца. Чем больше размер кольца, тем более равномерно распределяется нагрузка. Если число хостов в пуле балансировки нагрузки превышает размер кольца, каждому хосту будет назначен один виртуальный узел. По умолчанию — 1024. Возвращается: успешно |
creationTimestamp string | Временная метка создания в текстовом формате RFC3339. Возвращается: успешно |
customRequestHeaders list / elements=string | Заголовки, которые балансировщик нагрузки HTTP/S должен добавлять к проксируемым запросам. Возвращается: успешно |
customResponseHeaders list / elements=string | Заголовки, которые балансировщик нагрузки HTTP/S должен добавлять к проксируемым ответам. Возвращается: успешно |
description string | Необязательное описание этого ресурса. Возвращается: успешно |
enableCDN boolean | Если значение равно true, включить Cloud CDN для этой службы BackendService. Возвращается: успешно |
fingerprint string | Отпечаток этого ресурса. Хеш содержимого, хранящегося в этом объекте. Это поле используется для оптимистической блокировки. Возвращается: успешно |
healthChecks list / elements=string | Набор URL-адресов ресурсов HttpHealthCheck или HttpsHealthCheck для проверки состояния этой службы BackendService. В настоящее время можно указать не более одной проверки состояния. Проверка состояния обязательна, если служба backend не использует в качестве backend интернет- или бессерверный NEG. Для внутренней балансировки нагрузки вместо этого необходимо указать URL-адрес ресурса HealthCheck. Возвращается: успешно |
iap complex | Параметры включения Cloud Identity-Aware Proxy. Возвращается: успешно |
|
enabled boolean |
Включает IAP. Возвращается: успешно |
|
oauth2ClientId string |
Идентификатор клиента OAuth2 для IAP. Возвращается: успешно |
|
oauth2ClientSecret string |
Секрет клиента OAuth2 для IAP. Возвращается: успешно |
|
oauth2ClientSecretSha256 string |
Хеш SHA-256 секрета клиента OAuth2 для IAP. Возвращается: успешно |
id integer | Уникальный идентификатор ресурса. Возвращается: успешно |
loadBalancingScheme string | Указывает, будет ли служба backend использоваться для внутренней или внешней балансировки нагрузки. Службу backend, созданную для одного типа балансировки нагрузки, нельзя использовать с другим типом. Возвращается: успешно |
localityLbPolicy string | Алгоритм балансировки нагрузки, используемый в пределах локальной области. Возможные значения: * ROUND_ROBIN — простая политика, при которой каждый работоспособный backend выбирается по очереди. * LEAST_REQUEST — алгоритм, который выбирает два случайных работоспособных хоста и отдает предпочтение хосту с меньшим количеством активных запросов. * RING_HASH — балансировщик нагрузки с хешированием по кольцу/модулю реализует согласованное хеширование для backend-серверов. Алгоритм обладает свойством: добавление или удаление хоста из набора из N хостов влияет только на 1/N запросов. * RANDOM — балансировщик нагрузки выбирает случайный работоспособный хост. * ORIGINAL_DESTINATION — backend-хост выбирается на основе метаданных подключения клиента; то есть соединения открываются с тем же адресом, что и адрес назначения входящего соединения до его перенаправления на балансировщик нагрузки. * MAGLEV — используется как прямая замена балансировщика нагрузки с хешированием по кольцу. Maglev менее стабилен, чем хеширование по кольцу, но быстрее строит таблицу и выбирает хосты. Дополнительную информацию о Maglev см. в https://ai.google/research/pubs/pub44824. Это поле применимо только в том случае, если для load_balancing_scheme задано значение INTERNAL_SELF_MANAGED. Возвращается: успешно |
logConfig complex | Это поле задает параметры ведения журналов для трафика балансировщика нагрузки, обслуживаемого этой службой backend. Если ведение журналов включено, журналы будут экспортироваться в Stackdriver. Возвращается: успешно |
|
enable boolean |
Определяет, включено ли ведение журналов для трафика балансировщика нагрузки, обслуживаемого этой службой backend. Возвращается: успешно |
|
sampleRate string |
Это поле можно указать, только если для этой службы backend включено ведение журналов. Значение поля должно находиться в диапазоне [0, 1]. Параметр задает частоту выборки запросов к балансировщику нагрузки: значение 1.0 означает, что регистрируются все запросы, а 0.0 — что не регистрируется ни один запрос. Значение по умолчанию — 1.0. Возвращается: успешно |
name string | Имя ресурса. Передается клиентом при создании ресурса. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`: первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, которым не может быть дефис. Возвращается: успешно |
outlierDetection complex | Параметры удаления неработоспособных хостов из пула балансировки нагрузки. Это поле применимо только в том случае, если для load_balancing_scheme задано значение INTERNAL_SELF_MANAGED. Возвращается: успешно |
|
baseEjectionTime complex |
Базовое время исключения хоста. Фактическое время равно базовому времени, умноженному на количество исключений хоста. По умолчанию — 30000 мс или 30 с. Возвращается: успешно |
|
nanos integer |
Промежуток времени, выраженный в долях секунды с точностью до наносекунды. Длительность менее одной секунды представляется полем `seconds` со значением 0 и положительным значением поля `nanos`. Значение должно быть от 0 до 999,999,999 включительно. Возвращается: успешно |
|
seconds integer |
Промежуток времени с точностью до секунды. Значение должно быть от 0 до 315,576,000,000 включительно. Возвращается: успешно |
|
consecutiveErrors integer |
Количество ошибок, после которого хост исключается из пула соединений. При обращении к backend-хосту по HTTP код ответа 5xx считается ошибкой. По умолчанию — 5. Возвращается: успешно |
|
consecutiveGatewayFailure integer |
Количество последовательных сбоев шлюза (статусы 502, 503, 504 или ошибки подключения, преобразуемые в один из этих кодов статуса), после которого происходит исключение из-за последовательных сбоев шлюза. По умолчанию — 5. Возвращается: успешно |
|
enforcingConsecutiveErrors integer |
Вероятность в процентах того, что хост будет фактически исключен при обнаружении аномального состояния по последовательным ответам 5xx. Этот параметр можно использовать для отключения исключения или его постепенного включения. По умолчанию — 100. Возвращается: успешно |
|
enforcingConsecutiveGatewayFailure integer |
Вероятность в процентах того, что хост будет фактически исключен при обнаружении аномального состояния по последовательным сбоям шлюза. Этот параметр можно использовать для отключения исключения или его постепенного включения. По умолчанию — 0. Возвращается: успешно |
|
enforcingSuccessRate integer |
Вероятность в процентах того, что хост будет фактически исключен при обнаружении аномального состояния по статистике успешности. Этот параметр можно использовать для отключения исключения или его постепенного включения. По умолчанию — 100. Возвращается: успешно |
|
interval complex |
Интервал между проверками для анализа исключения хостов. В результате могут быть исключены новые хосты, а ранее исключенные хосты могут быть возвращены в работу. По умолчанию — 10 секунд. Возвращается: успешно |
|
nanos integer |
Промежуток времени, выраженный в долях секунды с точностью до наносекунды. Длительность менее одной секунды представляется полем `seconds` со значением 0 и положительным значением поля `nanos`. Значение должно быть от 0 до 999,999,999 включительно. Возвращается: успешно |
|
seconds integer |
Промежуток времени с точностью до секунды. Значение должно быть от 0 до 315,576,000,000 включительно. Возвращается: успешно |
|
maxEjectionPercent integer |
Максимальный процент хостов в пуле балансировки нагрузки службы backend, которые могут быть исключены. По умолчанию — 10%. Возвращается: успешно |
|
successRateMinimumHosts integer |
Количество хостов в кластере, которые должны обработать достаточный объем запросов для обнаружения аномалий успешности. Если количество хостов меньше этого значения, обнаружение аномалий по статистике успешности не выполняется ни для одного хоста кластера. По умолчанию — 5. Возвращается: успешно |
|
successRateRequestVolume integer |
Минимальное общее количество запросов, которое должно быть собрано за один интервал (определенный выше длительностью интервала), чтобы включить этот хост в обнаружение аномалий на основе успешности. Если объем запросов меньше этого значения, обнаружение аномалий по статистике успешности для этого хоста не выполняется. По умолчанию — 100. Возвращается: успешно |
|
successRateStdevFactor integer |
Этот коэффициент используется для определения порога исключения при обнаружении аномалий успешности. Порог исключения — это разница между средним уровнем успешности и произведением этого коэффициента на стандартное отклонение среднего уровня успешности: mean - (stdev * success_rate_stdev_factor). Чтобы получить число с плавающей запятой, коэффициент делится на тысячу. То есть, если требуемый коэффициент равен 1.9, значение во время выполнения должно быть 1900. По умолчанию — 1900. Возвращается: успешно |
portName string | Имя порта backend. Это же имя должно присутствовать в группах экземпляров, на которые ссылается эта служба. Обязательно, если схема балансировки нагрузки — EXTERNAL. Возвращается: успешно |
protocol string | Протокол, который эта служба BackendService использует для связи с backend-серверами. По умолчанию используется HTTP. **ПРИМЕЧАНИЕ**: HTTP2 допустим только для бета-версий типов балансировщиков нагрузки HTTP/2 и может привести к ошибкам при использовании с общедоступным API (GA). Возвращается: успешно |
securityPolicy string | Политика безопасности, связанная с этой службой backend. Возвращается: успешно |
sessionAffinity string | Тип используемой привязки сеанса. По умолчанию — NONE. Привязка сеанса не применяется, если протокол — UDP. Возвращается: успешно |
timeoutSec integer | Время ожидания ответа от backend в секундах, после которого запрос считается неудачным. По умолчанию — 30 секунд. Допустимый диапазон: [1, 86400]. Возвращается: успешно |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_compute_backend_service_module.html