Spec-Zone.ru › Chef 18

Ресурс google_compute_backend_service

[править на GitHub]

Синтаксис

Используется google_compute_backend_service, чтобы проверить ресурс Google BackendService.

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

Этот ресурс имеет доступные поля бета-версии. Чтобы получить доступ к этим полям, включите 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
Продолжительность времени, которая представляет собой дробную часть секунды с разрешением в наносекунды. Продолжительности меньше одной секунды представлены значением 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
Продолжительность времени, которая представляет собой дробную часть секунды с разрешением в наносекунды. Продолжительности меньше одной секунды представлены значением 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 будут включаться в ключ кэша в соответствии с query_string_whitelist и query_string_blacklist. Если ни то, ни другое не задано, вся строка query string будет включена. Если false, строка query string будет полностью исключена из ключа кэша.
query_string_blacklist
Имена параметров запроса query string, которые следует исключить из ключей кэша. Все остальные параметры будут включены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба. Символы ‘&’ и ‘=’ будут закодированы в проценты и не будут рассматриваться как разделители.
query_string_whitelist
Имена параметров запроса query string, которые следует включить в ключи кэша. Все остальные параметры будут исключены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба. Символы ‘&’ и ‘=’ будут закодированы в проценты и не будут рассматриваться как разделители.
signed_url_cache_max_age_sec
Максимальное количество секунд, в течение которого ответ на запрос подписанного URL-адреса будет считаться актуальным, по умолчанию 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
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
circuit_breakers
Алгоритм балансировки нагрузки, используемый в рамках локализации. Возможные значения: - ROUND_ROBIN - Простая политика, в которой каждый здоровый бэкенд выбирается по кругу. LEAST_REQUEST - Алгоритм O(1), который выбирает два случайных здоровых хоста и выбирает хост с меньшим количеством активных запросов. 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
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.

© 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