Перейти к содержимому

Сетевой балансировщик нагрузки.

terraform
resource "mws_vpc_network" "network" {
network = var.network_name
}
resource "mws_vpc_subnet" "subnet" {
subnet = var.subnet_name
network = mws_vpc_network.network.network
cidr = var.subnet_cidr
}
resource "mws_vpc_address" "internal_address" {
address = "${var.nlb_name}-internal"
network = mws_vpc_network.network.network
subnet = mws_vpc_subnet.subnet.metadata.id
}
resource "mws_vpc_address" "backend_address1" {
address = "${var.nlb_name}-backend1"
network = mws_vpc_network.network.network
subnet = mws_vpc_subnet.subnet.metadata.id
}
resource "mws_vpc_address" "backend_address2" {
address = "${var.nlb_name}-backend2"
network = mws_vpc_network.network.network
subnet = mws_vpc_subnet.subnet.metadata.id
}
resource "mws_vpc_address_group" "backend_group" {
address_group = "${var.nlb_name}-backend-group"
network = mws_vpc_network.network.network
metadata = {
display_name = "Backend Address Group"
description = "Group of backend servers for NLB"
}
addresses = [
{
ref = mws_vpc_address.backend_address1.metadata.id
},
{
ref = mws_vpc_address.backend_address2.metadata.id
}
]
}
resource "mws_nlb_nlb" "example" {
network = mws_vpc_network.network.network
nlb = var.nlb_name
metadata = {
display_name = "Example Internal Network Load Balancer"
description = "NLB example with internal listener and backend group"
}
listener = {
internal = {
address = {
ref = mws_vpc_address.internal_address.metadata.id
}
}
}
rules = [
{
proto_port = "TCP:80"
target_port = 8080
target_address_groups = [
{
ref = mws_vpc_address_group.backend_group.metadata.id
}
]
health_check = {
protocol = {
tcp = {
port = 8080
}
}
interval = "30s"
timeout = "3s"
healthy_threshold = 3
unhealthy_threshold = 3
}
}
]
}
variable "network_name" {
type = string
default = "nlb-example-network"
description = "VPC network name"
}
variable "subnet_name" {
type = string
default = "nlb-example-subnet"
description = "VPC subnet name"
}
variable "subnet_cidr" {
type = string
default = "192.168.0.0/16"
description = "Subnet CIDR block"
}
variable "nlb_name" {
type = string
default = "example-nlb"
description = "Network load balancer name"
}
  • listener (Attributes) Конфигурация IP-адреса, на котором балансировщик будет принимать запросы (see below for nested schema)
  • network (String) Имя сети
  • nlb (String) Имя сетевого балансировщика нагрузки
  • rules (Attributes List) Правила балансировки нагрузки. Сочетание протокола и порта (поле protoPort) в каждом правиле должно быть уникальным в рамках одного балансировщика (see below for nested schema)
  • kind (String)
  • metadata (Attributes) Метаданные сетевого балансировщик нагрузки (see below for nested schema)
  • project (String) Путь к проекту.
  • timeouts (Attributes) (see below for nested schema)
  • id (String) The ID of this resource.
  • status (Attributes) Статус сетевого балансировщик нагрузки (see below for nested schema)

Optional:

  • external (Attributes) Конфигурация IP-адреса внутреннего балансировщика (see below for nested schema)
  • internal (Attributes) Конфигурация IP-адреса внутреннего балансировщика (see below for nested schema)

Required:

  • address (Attributes) Описывает ссылку на внешний адрес или спецификацию внешнего адреса как дополнительный ресурс (see below for nested schema)

Optional:

  • ref (String) Относительная ссылка на статический внешний IP-адрес
  • spec (Attributes) Спецификация внешнего IP-адреса (see below for nested schema)

Optional:

  • nat_gateway (String) Шлюз, к которому относится адрес. Если шлюз не указан, для трансляции IP-адресов используется шлюз по умолчанию для выхода в интернет (ref=natGateways/internet-gateway)

Required:

  • address (Attributes) Описывает ссылку на внутренний адрес или спецификацию внутреннего адреса как дополнительный ресурс (see below for nested schema)

Optional:

  • ref (String) Относительная ссылка на статический внутренний адрес
  • spec (Attributes) Спецификация внутреннего адреса (see below for nested schema)

Required:

  • subnet (String) Подсеть сети, к которой принадлежит адрес. В случае внутреннего адреса, он всегда принадлежит к некоторой подсети внутри сети

Optional:

  • dns (Attributes List) Спецификация DNS для IP-адреса (see below for nested schema)
  • ip_address (String) Значение IP адреса

IPv4- или IPv6-адрес

Required:

  • name (String) DNS-имя виртуальной машины в MWS Cloud Platform
  • ptr (Boolean) Создать обратную DNS-запись
  • ttl (String) Продолжительность хранения DNS записи в кеше

Период времени. Поддерживаются следующие форматы:

  • ISO 8601: P(n)DT(n)H(n)M(n)S. Допустимые единицы измерения: дни (“D”), часы (“H”), минуты (“M”), секунды (“S”). Только секунды могут быть дробными
  • Простой формат. Допустимые единицы измерения: “d”, “h”, “m”, “s”, “ms”, “us”, “ns”. Величины должны следовать по убыванию единиц измерения
  • Число в секундах

Отрицательные значения обозначаются префиксом ”-”, в простом формате могут быть ограничены скобками. Регистр и пробелы игнорируются

Required:

  • proto_port (String) Порт балансировщика и протокол по который клиенты отправляют запросы в рамках этого правила. Поддерживаются протоколы TCP и UDP. В рамках одного балансировщика это поле должно быть уникальным среди всех его правил
  • target_address_groups (Attributes List) Адреса бэкенд-серверов, на которые балансировщик направляет запросы (see below for nested schema)

Optional:

  • health_check (Attributes) Настройка проверки работоспособности виртуальных машин (see below for nested schema)
  • target_port (Number) Целевой порт бэкенд-серверов, на которые балансировщик перенаправляет запросы. Если не указан, то считается равным порту балансировщика

Optional:

  • ref (String) Ссылка на группу адресов
  • spec (Attributes) Спецификация группы адресов (see below for nested schema)

Required:

  • addresses (Attributes List) Спецификации или ссылки на существующие внутренние адреса (see below for nested schema)

Optional:

  • region (String) Регион, которому принадлежит группа группа IP-адресов

Optional:

  • ref (String) Относительная ссылка на статический внутренний адрес
  • spec (Attributes) Спецификация внутреннего адреса (see below for nested schema)

Required:

  • subnet (String) Подсеть сети, к которой принадлежит адрес. В случае внутреннего адреса, он всегда принадлежит к некоторой подсети внутри сети

Optional:

  • dns (Attributes List) Спецификация DNS для IP-адреса (see below for nested schema)
  • ip_address (String) Значение IP адреса

IPv4- или IPv6-адрес

Required:

  • name (String) DNS-имя виртуальной машины в MWS Cloud Platform
  • ptr (Boolean) Создать обратную DNS-запись
  • ttl (String) Продолжительность хранения DNS записи в кеше

Период времени. Поддерживаются следующие форматы:

  • ISO 8601: P(n)DT(n)H(n)M(n)S. Допустимые единицы измерения: дни (“D”), часы (“H”), минуты (“M”), секунды (“S”). Только секунды могут быть дробными
  • Простой формат. Допустимые единицы измерения: “d”, “h”, “m”, “s”, “ms”, “us”, “ns”. Величины должны следовать по убыванию единиц измерения
  • Число в секундах

Отрицательные значения обозначаются префиксом ”-”, в простом формате могут быть ограничены скобками. Регистр и пробелы игнорируются

Required:

  • interval (String) Интервал между проверками

Период времени. Поддерживаются следующие форматы:

  • ISO 8601: P(n)DT(n)H(n)M(n)S. Допустимые единицы измерения: дни (“D”), часы (“H”), минуты (“M”), секунды (“S”). Только секунды могут быть дробными
  • Простой формат. Допустимые единицы измерения: “d”, “h”, “m”, “s”, “ms”, “us”, “ns”. Величины должны следовать по убыванию единиц измерения
  • Число в секундах

Отрицательные значения обозначаются префиксом ”-”, в простом формате могут быть ограничены скобками. Регистр и пробелы игнорируются

  • protocol (Attributes) Конфигурация протокола проверки работоспособности (see below for nested schema)
  • timeout (String) Таймаут запроса

Период времени. Поддерживаются следующие форматы:

  • ISO 8601: P(n)DT(n)H(n)M(n)S. Допустимые единицы измерения: дни (“D”), часы (“H”), минуты (“M”), секунды (“S”). Только секунды могут быть дробными
  • Простой формат. Допустимые единицы измерения: “d”, “h”, “m”, “s”, “ms”, “us”, “ns”. Величины должны следовать по убыванию единиц измерения
  • Число в секундах

Отрицательные значения обозначаются префиксом ”-”, в простом формате могут быть ограничены скобками. Регистр и пробелы игнорируются

Optional:

  • healthy_threshold (Number) Количество последовательных успешных проверок, после которого виртуальная машина считается работоспособной
  • unhealthy_threshold (Number) Количество последовательных проваленных проверок, после которого виртуальная машина считается неработоспособной

Optional:

  • http (Attributes) Конфигурация проверки работоспособности по протоколу HTTP (see below for nested schema)
  • https (Attributes) Конфигурация проверки работоспособности по протоколу HTTPS (see below for nested schema)
  • tcp (Attributes) Конфигурация проверки работоспособности по протоколу TCP (see below for nested schema)

Required:

  • path (String) URL-путь, на который будет отправляться запрос
  • port (Number) Порт виртуальной машины, на который будет отправляться запрос

Optional:

  • expected_code (Number) Ожидаемый HTTP-код ответа

Required:

  • path (String) URL-путь, на который будет отправляться запрос
  • port (Number) Порт виртуальной машины, на который будет отправляться запрос

Optional:

  • expected_code (Number) Ожидаемый HTTP-код ответа

Required:

  • port (Number) Порт виртуальной машины, на который будет отправляться запрос

Optional:

  • description (String) Описание ресурса
  • display_name (String) Отображаемое имя свойства
  • name (String, Deprecated) Обязательное уникальное, глобально или в пределах проекта, имя. Используется в качестве части составного идентификатора объекта

Read-Only:

  • create_time (String) Дата создания объекта

Дата в формате RFC3339. Пример: 2006-01-02T15:04:05Z07:00

  • delete_time (String) Время запроса на удаление ресурса

Дата в формате RFC3339. Пример: 2006-01-02T15:04:05Z07:00

  • id (String) ID свойства
  • purge_time (String) Время удаления ресурса

Дата в формате RFC3339. Пример: 2006-01-02T15:04:05Z07:00

  • usages (Attributes List) Связи с другими ресурсами. В зависимости от типа связи операции над ресурсом могут быть ограничены (see below for nested schema)

Read-Only:

  • name (String) Имя связи. Требуется для модификации коллекции
  • resource (String) Ссылка на ресурс
  • usage_type (String) Тип связи. Помимо стандартных “own” и “use” могут быть добавлены специализированные типы для конкретных сервисов

Optional:

  • create (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as ”30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours).
  • delete (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as ”30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
  • update (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as ”30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours).

Read-Only:

  • active (Boolean) Состояние NLB: активен или не активен
  • listener (Attributes) Группирующий элемент для статуса адресов внешнего и внутреннего балансировщика (see below for nested schema)
  • ready (Attributes) Информация о статусе реконсиляции (see below for nested schema)
  • region (String) Регион, которому принадлежит балансировщик сетевой нагрузки
  • rules (Attributes List) Правила балансировки нагрузки (see below for nested schema)
  • target_address_groups (Attributes) Группирующий элемент для статуса групп адресов балансировщика (see below for nested schema)

Read-Only:

  • external (Attributes) Статус IP-адреса внешнего балансировщика (see below for nested schema)
  • internal (Attributes) Статус IP-адреса внутреннего балансировщика (see below for nested schema)

Read-Only:

  • address (Attributes) Статус IP-адреса внешнего балансировщика (see below for nested schema)

Required:

  • ip_address (String) Значение IP адреса

IPv4- или IPv6-адрес

  • ref (String) Относительная ссылка на статический адрес

Read-Only:

  • address (Attributes) Статус IP-адреса внутреннего балансировщика (see below for nested schema)

Required:

  • ip_address (String) Значение IP адреса

IPv4- или IPv6-адрес

  • ref (String) Относительная ссылка на статический адрес

Read-Only:

  • message (String) Описание статуса
  • state (String) Состояние ресурса

Read-Only:

  • health_check (Attributes) Настройка проверки работоспособности виртуальных машин (see below for nested schema)
  • proto_port (String) Порт балансировщика и протокол по который клиенты отправляют запросы в рамках этого правила. Поддерживаются протоколы TCP и UDP. В рамках одного балансировщика это поле должно быть уникальным среди всех его правил
  • target_address_groups (Attributes List) Адреса бэкенд-серверов, на которые балансировщик направляет запросы (see below for nested schema)
  • target_port (Number) Целевой порт бэкенд-серверов, на которые балансировщик перенаправляет запросы. Если не указан, то считается равным порту балансировщика
  • target_statuses (Attributes List) Статусы виртуальных машин, подключенных к сетевому балансировщику нагрузки (see below for nested schema)

Read-Only:

  • healthy_threshold (Number) Количество последовательных успешных проверок, после которого виртуальная машина считается работоспособной
  • interval (String) Интервал между проверками

Период времени. Поддерживаются следующие форматы:

  • ISO 8601: P(n)DT(n)H(n)M(n)S. Допустимые единицы измерения: дни (“D”), часы (“H”), минуты (“M”), секунды (“S”). Только секунды могут быть дробными
  • Простой формат. Допустимые единицы измерения: “d”, “h”, “m”, “s”, “ms”, “us”, “ns”. Величины должны следовать по убыванию единиц измерения
  • Число в секундах

Отрицательные значения обозначаются префиксом ”-”, в простом формате могут быть ограничены скобками. Регистр и пробелы игнорируются

  • protocol (Attributes) Конфигурация протокола проверки работоспособности (see below for nested schema)
  • timeout (String) Таймаут запроса

Период времени. Поддерживаются следующие форматы:

  • ISO 8601: P(n)DT(n)H(n)M(n)S. Допустимые единицы измерения: дни (“D”), часы (“H”), минуты (“M”), секунды (“S”). Только секунды могут быть дробными
  • Простой формат. Допустимые единицы измерения: “d”, “h”, “m”, “s”, “ms”, “us”, “ns”. Величины должны следовать по убыванию единиц измерения
  • Число в секундах

Отрицательные значения обозначаются префиксом ”-”, в простом формате могут быть ограничены скобками. Регистр и пробелы игнорируются

  • unhealthy_threshold (Number) Количество последовательных проваленных проверок, после которого виртуальная машина считается неработоспособной

Read-Only:

  • http (Attributes) Конфигурация проверки работоспособности по протоколу HTTP (see below for nested schema)
  • https (Attributes) Конфигурация проверки работоспособности по протоколу HTTPS (see below for nested schema)
  • tcp (Attributes) Конфигурация проверки работоспособности по протоколу TCP (see below for nested schema)

Read-Only:

  • expected_code (Number) Ожидаемый HTTP-код ответа
  • path (String) URL-путь, на который будет отправляться запрос
  • port (Number) Порт виртуальной машины, на который будет отправляться запрос

Read-Only:

  • expected_code (Number) Ожидаемый HTTP-код ответа
  • path (String) URL-путь, на который будет отправляться запрос
  • port (Number) Порт виртуальной машины, на который будет отправляться запрос

Read-Only:

  • port (Number) Порт виртуальной машины, на который будет отправляться запрос

Optional:

  • ref (String) Ссылка на группу адресов
  • spec (Attributes) Спецификация группы адресов (see below for nested schema)

Required:

  • addresses (Attributes List) Спецификации или ссылки на существующие внутренние адреса (see below for nested schema)

Optional:

  • region (String) Регион, которому принадлежит группа группа IP-адресов

Optional:

  • ref (String) Относительная ссылка на статический внутренний адрес
  • spec (Attributes) Спецификация внутреннего адреса (see below for nested schema)

Required:

  • subnet (String) Подсеть сети, к которой принадлежит адрес. В случае внутреннего адреса, он всегда принадлежит к некоторой подсети внутри сети

Optional:

  • dns (Attributes List) Спецификация DNS для IP-адреса (see below for nested schema)
  • ip_address (String) Значение IP адреса

IPv4- или IPv6-адрес

Nested Schema for status.rules.target_address_groups.spec.addresses.spec.dns

Заголовок раздела «Nested Schema for status.rules.target_address_groups.spec.addresses.spec.dns»

Required:

  • name (String) DNS-имя виртуальной машины в MWS Cloud Platform
  • ptr (Boolean) Создать обратную DNS-запись
  • ttl (String) Продолжительность хранения DNS записи в кеше

Период времени. Поддерживаются следующие форматы:

  • ISO 8601: P(n)DT(n)H(n)M(n)S. Допустимые единицы измерения: дни (“D”), часы (“H”), минуты (“M”), секунды (“S”). Только секунды могут быть дробными
  • Простой формат. Допустимые единицы измерения: “d”, “h”, “m”, “s”, “ms”, “us”, “ns”. Величины должны следовать по убыванию единиц измерения
  • Число в секундах

Отрицательные значения обозначаются префиксом ”-”, в простом формате могут быть ограничены скобками. Регистр и пробелы игнорируются

Read-Only:

  • address (String) Cсылка на IP-адрес виртуальной машины
  • state (String) Состояние виртуальной машины

Read-Only:

  • configured (Attributes List) Группы адресов, подключенные к балансировщику (see below for nested schema)
  • preparing (Attributes List) Статус групп адресов, подключенных к внутреннему балансировщику (see below for nested schema)
  • stale (Attributes List) Группы адресов, которые были отключены от балансировщика (see below for nested schema)

Read-Only:

  • ref (String) Ссылка на группу адресов

Read-Only:

  • ref (String) Ссылка на группу адресов

Read-Only:

  • ref (String) Ссылка на группу адресов