Spec-Zone.ru › Chef 16

Ресурс google_compute_backend_service

Синтаксис

Для тестирования ресурса Google BackendService используется google_compute_backend_service

Ресурс бета-версии

Этот ресурс имеет доступные поля бета-версии. Для получения этих полей включите beta: true в конструктор ресурса.

Примеры

describe google_compute_backend_service(project: 'chef-gcp-inspec', name: 'inspec-gcp-backend-service') do
  it { should exist }
  its('description') { should eq 'A description' }
  its('port_name') { should eq 'http' }
  its('protocol') { should eq 'HTTP' }
  its('timeout_sec') { should eq '10' }
  its('enable_cdn') { should eq 'true' }
end

describe google_compute_backend_service(project: 'chef-gcp-inspec', name: 'nonexistent') do
  it { should_not exist }
end

Свойства

Свойства, доступные для ресурса google_compute_backend_service:

affinity_cookie_ttl_sec
Срок действия cookie в секундах, если session_affinity — GENERATED_COOKIE. Если значение равно 0, cookie не сохраняется и действует только до конца сессии браузера (или эквивалента). Максимальное допустимое значение TTL — один день. Если схема балансировки нагрузки — INTERNAL, это поле не используется.
backends
Набор бэкендов, которые обслуживают этот BackendService.
balancing_mode
Указывает режим балансировки для этого бэкенда. Для глобальной HTTP(S) или TCP/SSL балансировки нагрузки по умолчанию используется UTILIZATION. Допустимые значения: UTILIZATION, RATE (для HTTP(S)) и CONNECTION (для TCP/SSL).

Возможные значения:

  • UTILIZATION
  • RATE
  • CONNECTION
capacity_scaler
Множитель, применяемый к максимальной емкости обслуживания группы (на основе UTILIZATION, RATE или CONNECTION). Значение по умолчанию — 1, что означает, что группа будет обслуживать до 100% своей конфигурированной емкости (в зависимости от balancingMode). Значение 0 означает полную остановку группы, предоставляя 0% доступной емкости. Допустимый диапазон — [0.0, 1.0].
description
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
group
Полный URL ресурса группы экземпляров или группы сетевых конечных точек. В случае группы экземпляров это определяет список экземпляров, которые обслуживают трафик. Виртуальные машины-члены из каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Два бэкенда в одной службе бэкенда не могут использовать один и тот же ресурс группы экземпляров. Для групп сетевых конечных точек это определяет список конечных точек. Все конечные точки группы сетевых конечных точек должны размещаться на экземплярах, расположенных в той же зоне, что и сама группа сетевых конечных точек. Службы бэкендов не могут смешивать бэкенды групп экземпляров и групп сетевых конечных точек. Обратите внимание, что вы должны указать ресурс группы экземпляров или группы сетевых конечных точек с помощью полного URL-адреса, а не частичного.
max_connections
Максимальное количество одновременных подключений для группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо установить либо maxConnections, либо maxConnectionsPerInstance или maxConnectionsPerEndpoint, соответствующее типу группы.
max_connections_per_instance
Максимальное количество одновременных подключений, которое может обрабатывать один экземпляр бэкенда. Это используется для расчета емкости группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо установить либо maxConnections, либо maxConnectionsPerInstance.
max_connections_per_endpoint
Максимальное количество одновременных подключений, которое может обрабатывать одна сетевая конечная точка бэкенда. Это используется для расчета емкости группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо установить либо maxConnections, либо maxConnectionsPerEndpoint.
max_rate
Максимальное количество запросов в секунду (RPS) группы. Может использоваться в режимах балансировки RATE или UTILIZATION, но обязательно при использовании RATE. Для режима RATE необходимо установить либо maxRate, либо maxRatePerInstance или maxRatePerEndpoint, соответствующее типу группы.
max_rate_per_instance
Максимальное количество запросов в секунду (RPS), которое может обрабатывать один экземпляр бэкенда. Это используется для расчета емкости группы. Может использоваться в любом режиме балансировки. Для режима RATE необходимо установить либо maxRate, либо maxRatePerInstance.
max_rate_per_endpoint
Максимальное количество запросов в секунду (RPS), которое может обработать одна сетевая конечная точка бэкенда. Это используется для расчета емкости группы. Может использоваться в любом режиме балансировки. Для режима RATE необходимо установить либо maxRate, либо maxRatePerEndpoint.
max_utilization
Используется при balancingMode = UTILIZATION. Это отношение определяет целевую загрузку процессора для группы. По умолчанию — 0,8. Допустимый диапазон — [0,0, 1,0].
circuit_breakers
Настройки, контролирующие объем подключений к службе бэкенда. Это поле применимо только тогда, когда load_balancing_scheme установлено в INTERNAL_SELF_MANAGED.
connect_timeout
(Только бета-версия) Таймаут для новых сетевых подключений к хостам.
seconds
Продолжительность времени с разрешением в секунду. Должно быть в диапазоне от 0 до 315 576 000 000 включительно.
nanos
Продолжительность времени в долях секунды с разрешением в наносекунды. Продолжительности менее одной секунды представляются значением поля seconds равным 0 и положительным значением nanos. Должно быть в диапазоне от 0 до 999 999 999 включительно.
max_requests_per_connection
Максимальное количество запросов для одного подключения к бэкенду. Этот параметр учитывается как реализациями HTTP/1.1, так и HTTP/2. Если не указано, ограничений нет. Установка этого параметра в 1 фактически отключает keep-alive.
max_connections
Максимальное количество подключений к кластеру бэкенда. По умолчанию — 1024.
max_pending_requests
Максимальное количество ожидающих запросов к кластеру бэкенда. По умолчанию — 1024.
max_requests
Максимальное количество параллельных запросов к кластеру бэкенда. По умолчанию — 1024.
max_retries
Максимальное количество параллельных повторных попыток к кластеру бэкенда. По умолчанию — 3.
consistent_hash
Балансировка нагрузки на основе консистентного хэширования может использоваться для предоставления мягкого сродства к сессиям на основе заголовков HTTP, cookie или других свойств. Эта политика балансировки нагрузки применима только для HTTP-соединений. Сродство к определенному хосту назначения будет потеряно при добавлении или удалении одного или нескольких хостов из службы назначения. Это поле указывает параметры, контролирующие консистентное хэширование. Это поле применимо только если load_balancing_scheme установлено в INTERNAL_SELF_MANAGED. Это поле применимо только в случае, когда locality_lb_policy установлено в MAGLEV или RING_HASH.
http_cookie
Хэширование основано на HTTP-cookie. Это поле описывает HTTP-cookie, который будет использоваться в качестве ключа хэширования для балансировщика консистентного хэширования. Если cookie отсутствует, он будет сгенерирован. Это поле применимо, если sessionAffinity установлено в HTTP_COOKIE.
ttl
Срок действия cookie.
seconds
Продолжительность времени с разрешением в секунду. Должно быть в диапазоне от 0 до 315 576 000 000 включительно.
nanos
Продолжительность времени в долях секунды с разрешением в наносекунды. Продолжительности менее одной секунды представляются значением поля seconds равным 0 и положительным значением nanos. Должно быть в диапазоне от 0 до 999 999 999 включительно.
name
Имя cookie.
path
Путь для cookie.
http_header_name
Хэширование на основе значения указанного поля заголовка. Это поле применимо, если sessionAffinity установлено в HEADER_FIELD.
minimum_ring_size
Минимальное количество виртуальных узлов для использования для кольца хэширования. Более крупные размеры кольца приводят к более тонким распределениям нагрузки. Если количество хостов в пуле балансировки нагрузки больше размера кольца, каждому хосту будет назначен один виртуальный узел. По умолчанию — 1024.
cdn_policy
Настройка Cloud CDN для этого BackendService.
cache_key_policy
CacheKeyPolicy для этой CdnPolicy.
include_host
Если true, запросы к различным хостам будут кэшироваться раздельно.
include_protocol
Если true, запросы http и https будут кэшироваться раздельно.
include_query_string
Если true, параметры строки запроса будут включаться в ключ кэша в соответствии с query_string_whitelist и query_string_blacklist. Если ни то, ни другое не задано, вся строка запроса будет включена. Если false, строка запроса будет полностью исключена из ключа кэша.
query_string_blacklist
Имена параметров строки запроса, которые следует исключить из ключей кэша. Все остальные параметры будут включены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба. Символы ‘&’ и ‘=’ будут закодированы в процентах и не будут обрабатываться как разделители.
query_string_whitelist
Имена параметров строки запроса, которые следует включить в ключи кэша. Все остальные параметры будут исключены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба. Символы ‘&’ и ‘=’ будут закодированы в процентах и не будут обрабатываться как разделители.
signed_url_cache_max_age_sec
Максимальное количество секунд, в течение которого ответ на запрос подписанной ссылки будет считаться свежим, по умолчанию 1 час (3600 с). После этого периода ответ будет перепроверен перед подачей. При обслуживании ответов на запросы подписанных URL-адресов Cloud CDN будет внутренне вести себя так, как если бы все ответы от этого бэкенда имели заголовок «Cache-Control: public, max-age=[TTL]», независимо от наличия существующего заголовка Cache-Control. Фактические заголовки, подаваемые в ответах, не будут изменены.
connection_draining
Настройки для отключения соединений.
draining_timeout_sec
Время, в течение которого экземпляр будет отключаться (не принимать новые соединения, но по-прежнему работать над завершением начатых).
creation_timestamp
Дата и время создания в формате RFC3339.
custom_request_headers
Заголовки, которые балансировщик HTTP/S должен добавить к проксированным запросам.
fingerprint
Отпечаток этого ресурса. Хэш содержимого, хранящегося в этом объекте. Это поле используется в оптимистической блокировке.
description
Необязательное описание этого ресурса.
enable_cdn
Если true, включить Cloud CDN для этого BackendService.
health_checks
Набор URL-адресов ресурсов HttpHealthCheck или HttpsHealthCheck для проверки работоспособности этого BackendService. В настоящее время можно указать не более одного средства проверки работоспособности, и средство проверки работоспособности необходимо. Для внутренней балансировки необходимо указать URL-адрес ресурса HealthCheck.
id
Уникальный идентификатор ресурса.
iap
Настройки для включения Cloud Identity Aware Proxy.
enabled
Включает IAP.
oauth2_client_id
Идентификатор клиента OAuth2 для IAP.
oauth2_client_secret
Секрет клиента OAuth2 для IAP.
oauth2_client_secret_sha256
Секрет клиента OAuth2 SHA-256 для IAP.
load_balancing_scheme
Указывает, будет ли служба бэкенда использоваться с внутренней или внешней балансировкой. Служба бэкенда, созданная для одного типа балансировки, не может использоваться с другим типом.

Возможные значения:

  • EXTERNAL
  • INTERNAL_SELF_MANAGED
locality_lb_policy
Алгоритм балансировки нагрузки, используемый в рамках локальности. Возможные значения: - ROUND_ROBIN — простая политика, в которой каждый здоровый бэкенд выбирается по кругу. LEAST_REQUEST — алгоритм O(1), который выбирает два случайных здоровых хоста и выбирает хост с меньшим количеством активных запросов. RING_HASH — балансировщик нагрузки с кольцевым/модульным хешированием, реализующий консистентное хеширование для бэкэндов. Алгоритм обладает свойством, что добавление/удаление хоста из набора из N хостов затрагивает только 1/N запросов. RANDOM — балансировщик нагрузки выбирает случайный здоровый хост. ORIGINAL_DESTINATION — бэкенд-хост выбирается на основе метаданных соединения клиента, т. е. соединения открываются по тому же адресу, что и адрес назначения входящего соединения, прежде чем соединение было перенаправлено на балансировщик нагрузки. MAGLEV — используется как замена балансировщику нагрузки ring hash. Maglev не такой стабильный, как ring hash, но имеет более быстрые времена построения таблицы и выбора хоста. Дополнительную информацию о Maglev можно найти по адресу https://ai.google/research/pubs/pub44824. Это поле применимо только в том случае, если load_balancing_scheme установлено в INTERNAL_SELF_MANAGED.

Возможные значения:

  • ROUND_ROBIN
  • LEAST_REQUEST
  • RING_HASH
  • RANDOM
  • ORIGINAL_DESTINATION
  • MAGLEV
name
Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно иметь длину от 1 до 63 символов и соответствовать регулярному выражению [a-z]([-a-z0-9]*[a-z0-9])?, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире.
outlier_detection
Параметры, управляющие удалением неисправных хостов из пула балансировки нагрузки. Это поле применимо только в том случае, если load_balancing_scheme установлено в INTERNAL_SELF_MANAGED.
base_ejection_time
Базовое время, на которое хост выводится из строя. Реальное время равно базовому времени, умноженному на количество раз, когда хост был выведен из строя. По умолчанию 30000 мс или 30 с.
seconds
Продолжительность времени с разрешением в секунду. Должна быть от 0 до 315 576 000 000 включительно.
nanos
Продолжительность времени, которая является дробью секунды с разрешением в наносекунды. Продолжительности меньше одной секунды представлены полем 0 seconds и положительным полем nanos. Должна быть от 0 до 999 999 999 включительно.
consecutive_errors
Количество ошибок перед выводом хоста из пула соединений. При доступе к бэкенд-хосту через HTTP код возврата 5xx считается ошибкой. По умолчанию 5.
consecutive_gateway_failure
Количество последовательных сбоев шлюза (состояния 502, 503, 504 или ошибки соединения, которые отображаются в одном из этих кодов состояния) перед выводом из строя вследствие последовательного сбоя шлюза. По умолчанию 5.
enforcing_consecutive_errors
Вероятность того, что хост фактически будет выведен из строя при обнаружении аномального состояния посредством последовательных кодов 5xx. Этот параметр можно использовать для отключения вывода из строя или постепенного его включения. По умолчанию 100.
enforcing_consecutive_gateway_failure
Вероятность того, что хост фактически будет выведен из строя при обнаружении аномального состояния посредством последовательных сбоев шлюза. Этот параметр можно использовать для отключения вывода из строя или постепенного его включения. По умолчанию 0.
enforcing_success_rate
Вероятность того, что хост фактически будет выведен из строя при обнаружении аномального состояния по статистике успешности. Этот параметр можно использовать для отключения вывода из строя или постепенного его включения. По умолчанию 100.
interval
Интервал времени между анализом вывода из строя. Это может привести к новым выводам из строя, а также к возвращению хостов в рабочее состояние. По умолчанию 10 секунд.
seconds
Продолжительность времени с разрешением в секунду. Должна быть от 0 до 315 576 000 000 включительно.
nanos
Продолжительность времени, которая является дробью секунды с разрешением в наносекунды. Продолжительности меньше одной секунды представлены полем 0 seconds и положительным полем nanos. Должна быть от 0 до 999 999 999 включительно.
max_ejection_percent
Максимальный процент хостов в пуле балансировки нагрузки для бэкенд-службы, которые могут быть выведены из строя. По умолчанию 10%.
success_rate_minimum_hosts
Количество хостов в кластере, которые должны иметь достаточный объем запросов для обнаружения аномалий успешности. Если количество хостов меньше этого параметра, обнаружение аномалий по статистике успешности не выполняется ни для одного хоста в кластере. По умолчанию 5.
success_rate_request_volume
Минимальное количество общих запросов, которые должны быть собраны за один интервал (как определено выше интервалом продолжительности), чтобы включить этот хост в обнаружение аномалий на основе успешности. Если объем ниже этого значения, обнаружение аномалий по статистике успешности не выполняется для этого хоста. По умолчанию 100.
success_rate_stdev_factor
Этот коэффициент используется для определения порога вывода из строя при обнаружении аномалий по статистике успешности. Порог вывода из строя — это разность между средней успешностью и произведением этого коэффициента и стандартного отклонения от средней успешности: среднее — (stdev * success_rate_stdev_factor). Этот коэффициент делится на тысячу, чтобы получить double. То есть, если требуемый коэффициент равен 1,9, значение runtime должно быть 1900. По умолчанию 1900.
port_name
Имя бэкенд-порта. Это же имя должно присутствовать в группах экземпляров, на которые ссылается эта служба. Требуется, когда схема балансировки нагрузки — EXTERNAL.
protocol
Протокол, используемый BackendService для связи с бэкендами. По умолчанию HTTP. ПРИМЕЧАНИЕ: HTTP2 допустим только для типов балансировщиков HTTP/2 бета-версии и может привести к ошибкам, если используется с API GA.

Возможные значения:

  • HTTP
  • HTTPS
  • HTTP2
  • TCP
  • SSL
security_policy
Политика безопасности, связанная с этой бэкенд-службой.
session_affinity
Тип сродства сессии для использования. По умолчанию NONE. Сродство сессии неприменимо, если протокол — UDP.

Возможные значения:

  • NONE
  • CLIENT_IP
  • CLIENT_IP_PORT_PROTO
  • CLIENT_IP_PROTO
  • GENERATED_COOKIE
  • HEADER_FIELD
  • HTTP_COOKIE
timeout_sec
Сколько секунд ждать бэкенд, прежде чем считать запрос неудачным. По умолчанию 30 секунд. Допустимый диапазон [1, 86400].
log_config
Это поле обозначает параметры протоколирования для трафика балансировщика нагрузки, обслуживаемого этой бэкенд-службой. Если протоколирование включено, журналы будут экспортированы в Stackdriver.
enable
Включить ли протоколирование трафика балансировщика нагрузки, обслуживаемого этой бэкенд-службой.
sample_rate
Это поле может быть указано только в том случае, если протоколирование включено для этой бэкенд-службы. Значение поля должно быть в диапазоне [0, 1]. Это настраивает скорость выборки запросов к балансировщику нагрузки, где 1.0 означает, что все запросы, подлежащие протоколированию, сообщаются, а 0.0 означает, что запросы, подлежащие протоколированию, не сообщаются. Значение по умолчанию 1.0.

Разрешения GCP

Убедитесь, что для текущего проекта включен API Compute Engine по адресу https://console.cloud.google.com/apis/library/compute.googleapis.com/.

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/google_compute_backend_service/

Spec-Zone.ru

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