Spec-Zone.ru › Chef 16

Ресурс google_compute_region_backend_service

Синтаксис

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

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

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

Примеры

describe google_compute_region_backend_service(project: 'chef-gcp-inspec', region: 'europe-west2', name: 'inspec-gcp-region-backend-service') do
  it { should exist }
  its('description') { should eq 'A regional description' }
  its('protocol') { should eq 'TCP' }
  its('timeout_sec') { should eq '15' }
end

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

Свойства

Свойства, доступные из ресурса google_compute_region_backend_service:

affinity_cookie_ttl_sec
Срок действия cookie в секундах, если session_affinity равен GENERATED_COOKIE. Если значение равно 0, cookie не сохраняется и действует только до закрытия сеанса браузера (или эквивалента). Максимально допустимое значение TTL составляет один день. Если схема балансировки нагрузки — INTERNAL, это поле не используется.
backends
Набор бэкендов, обслуживающих этот RegionBackendService.
balancing_mode
Указывает режим балансировки для этого бэкенда.

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

  • UTILIZATION
  • RATE
  • CONNECTION
capacity_scaler
Множитель, применяемый к максимальной пропускной способности группы (на основе UTILIZATION, RATE или CONNECTION). ~>ПРИМЕЧАНИЕ: Это поле не может быть задано для внутренних региональных бэкенд-служб (по умолчанию loadBalancingScheme), но требуется для бэкенд-служб, отличных от INTERNAL. Общий capacity_scaler для всех бэкендов должен быть отличным от нуля. Значение 0 означает, что группа полностью отключена, предлагая 0% своей доступной пропускной способности. Допустимый диапазон [0.0,1.0].
description
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
failover
Это поле указывает, является ли это бэкендом для аварийного переключения. Для данного RegionBackendService можно настроить более одного бэкенда для аварийного переключения.
group
Полный URL ресурса группы экземпляров или ресурса группы сетевых конечных точек. В случае группы экземпляров это определяет список экземпляров, которые обслуживают трафик. Виртуальные машины-члены каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Два бэкенда в бэкенд-службе не могут использовать один и тот же ресурс группы экземпляров. Для групп сетевых конечных точек это определяет список конечных точек. Все конечные точки группы сетевых конечных точек должны размещаться на экземплярах, расположенных в той же зоне, что и группа сетевых конечных точек. Бэкенд-службы не могут смешивать группы экземпляров и группы сетевых конечных точек. Когда load_balancing_scheme равен INTERNAL, поддерживаются только группы экземпляров. Обратите внимание, что вы должны указать ресурс группы экземпляров или группы сетевых конечных точек с помощью полного 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. Необходимо задать либо maxRate, либо maxRatePerInstance или maxRatePerEndpoint, соответствующие типу группы.
max_rate_per_instance
Максимальное количество запросов в секунду (RPS), которое может обработать один бэкенд-экземпляр. Используется для расчета емкости группы. Может использоваться в любом режиме балансировки. Для режима RATE необходимо задать либо maxRate, либо maxRatePerInstance. Не может быть задано для внутренних бэкенд-служб.
max_rate_per_endpoint
Максимальное количество запросов в секунду (RPS), которое может обработать одна сетевая конечная точка бэкенда. Используется для расчета емкости группы. Может использоваться в любом режиме балансировки. Для режима RATE необходимо задать либо maxRate, либо maxRatePerEndpoint. Не может быть задано для внутренних бэкенд-служб.
max_utilization
Используется, когда balancingMode равен UTILIZATION. Это отношение определяет целевую загрузку ЦП для группы. Допустимый диапазон [0.0, 1.0]. Не может быть задано для внутренних бэкенд-служб.
circuit_breakers
Настройки, контролирующие объем подключений к бэкенд-службе. Это поле применимо только тогда, когда load_balancing_scheme установлено в INTERNAL_MANAGED, а protocol установлено в HTTP, HTTPS или HTTP2.
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_MANAGED, protocol установлено в HTTP, HTTPS или HTTP2 и 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.
connection_draining
Настройки для отключения подключений.
draining_timeout_sec
Время, в течение которого экземпляр будет отключен (не будет принимать новые подключения, но все еще будет работать для завершения начатых).
creation_timestamp
Время создания в формате RFC3339.
description
Необязательное описание этого ресурса.
failover_policy
Политика для аварийного переключения.
disable_connection_drain_on_failover
При аварийном переключении или возвращении к исходному состоянию это поле указывает, будет ли выполняться отключение подключений. Установка этого значения в true имеет следующий эффект: подключения к старому активному пулу не отключаются. Подключения к новому активному пулу используют таймаут 10 минут (в настоящее время фиксировано). Установка в false имеет следующий эффект: у обоих подключений (старых и новых) будет таймаут отключения 10 минут. Это может быть установлено в true только в случае, если протокол TCP. По умолчанию false.
drop_traffic_if_unhealthy
Этот параметр используется только в том случае, если в первичных и резервных группах экземпляров не обнаружено здоровых виртуальных машин. Если установлено в true, трафик отбрасывается. Если установлено в false, новые подключения отправляются через все виртуальные машины в основной группе. По умолчанию false.
failover_ratio
Значение поля должно быть в диапазоне [0, 1]. Если соотношение здоровых виртуальных машин в первичном бэкенде находится на этом уровне или ниже, трафик, поступающий на IP-адрес балансировки нагрузки, будет направлен на бэкенд для аварийного переключения. В случае, если failoverRatio не задано или все виртуальные машины в резервном бэкенде неисправны, трафик будет направлен обратно в первичный бэкенд в режиме «принудительного» направления, где трафик будет распределен по здоровым виртуальным машинам с наилучшим результатом или по всем виртуальным машинам, когда ни одна виртуальная машина не здорова. Это поле используется только с балансировкой нагрузки L4.
fingerprint
Отпечаток этого ресурса. Хэш содержимого, хранящегося в этом объекте. Это поле используется в оптимистической блокировке.
health_checks
Набор URL-адресов ресурсов HealthCheck для проверки работоспособности этого RegionBackendService. В настоящее время может быть указана не более одной проверки работоспособности, и проверка работоспособности требуется.
id
Уникальный идентификатор ресурса.
load_balancing_scheme
Указывает, для какой балансировки нагрузки будет использоваться эта региональная бэкенд-служба. Бэкенд-служба, созданная для одного типа балансировки, не может быть использована с другими.

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

  • INTERNAL
  • INTERNAL_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_MANAGED, а protocol установлено в HTTP, HTTPS или HTTP2.
name
Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. То есть имя должно иметь длину от 1 до 63 символов и соответствовать регулярному выражению [a-z]([-a-z0-9]*[a-z0-9])?, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире.
outlier_detection
Настройки, управляющие удалением неисправных хостов из пула балансировки нагрузки. Это поле применимо только тогда, когда load_balancing_scheme установлено в INTERNAL_MANAGED, а protocol установлено в HTTP, HTTPS или HTTP2.
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). Этот коэффициент делится на тысячу, чтобы получить двойное значение. То есть, если желаемый коэффициент равен 1,9, значение runtime должно быть 1900. По умолчанию 1900.
port_name
Именованный порт на группе экземпляров бэкенда, представляющий порт для связи с виртуальными машинами бэкенда в этой группе. Требуется, когда loadBalancingScheme равен EXTERNAL, INTERNAL_MANAGED или INTERNAL_SELF_MANAGED, а бэкенды являются группами экземпляров. Имя порта должно быть определено на каждой группе экземпляров бэкенда. Этот параметр не имеет значения, если бэкенды являются NEG. API устанавливает значение по умолчанию «http», если оно не указано. Должен быть опущен, если loadBalancingScheme равен INTERNAL (внутренняя балансировка TCP/UDP-соединений).
protocol
Протокол, используемый RegionBackendService для связи с бэкендами. По умолчанию HTTP. ПРИМЕЧАНИЕ: HTTP2 допустим только для типов бета-балансировщиков HTTP/2 и может привести к ошибкам при использовании с API GA.

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

  • HTTP
  • HTTPS
  • HTTP2
  • SSL
  • TCP
  • UDP
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.
network
URL сети, к которой принадлежит данная служба бэкенда. Это поле может быть указано только в том случае, если схема балансировки нагрузки установлена в INTERNAL.
region
Ссылка на регион, в котором находится региональная служба бэкенда.

Разрешения 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_region_backend_service/

Spec-Zone.ru

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