Ресурс google_compute_region_backend_service
Синтаксис
Используется для проверки ресурса Google RegionBackendService
Ресурс бета-версии
Этот ресурс имеет доступные поля бета-версии. Для получения этих полей включите 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% своей доступной Capacity. Допустимый диапазон значений [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- Используется при балансировке 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- Хеширование основано на файле cookie HTTP. Это поле описывает файл cookie HTTP, который будет использоваться в качестве ключа хеширования для балансировщика консистентного хеширования. Если файл 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
- Балансировщик нагрузки Ring/Modulo 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- Этот фактор используется для определения порога исключения для исключения выбросов по показателю успешности. Порог исключения — это разность между средним показателем успешности и произведением этого фактора и стандартного отклонения среднего показателя успешности: mean - (stdev * success_rate_stdev_factor). Этот фактор делится на тысячу, чтобы получить двойное значение. То есть, если желаемый фактор равен 1,9, значение в коде должно быть 1900. По умолчанию 1900.
port_name- Именованный порт на группе бэкенд-инстансов, представляющий порт для связи с виртуальными машинами бэкенда в этой группе. Требуется, когда loadBalancingScheme равен EXTERNAL, INTERNAL_MANAGED или INTERNAL_SELF_MANAGED, а бэкенды являются группами виртуальных машин. Именованный порт должен быть определен в каждой группе виртуальных машин бэкенда. Этот параметр не имеет значения, если бэкенды являются NEGs. 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/