Создать HTTP-роутер для HTTP-трафика
Чтобы создать HTTP-роутер и добавить в него маршрут:
-
В консоли управления
выберите каталог, в котором будет создаваться HTTP-роутер. -
В списке сервисов выберите Application Load Balancer.
-
На панели слева выберите
HTTP-роутеры. -
Нажмите кнопку Создать HTTP-роутер.
-
Введите имя HTTP-роутера.
-
В блоке Виртуальные хосты нажмите кнопку Добавить виртуальный хост.
-
В поле Имя задайте имя создаваемого виртуального хоста. Требования к имени:
- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
(Опционально) В поле Authority укажите значение заголовка
Hostдля HTTP/1.1 или псевдо-заголовка:authorityдля HTTP/2, по которому будет выбираться виртуальный хост.Если значение для поля Authority не задано, на виртуальный хост будет направляться весь трафик (равноценно значению
*). -
(Опционально) В поле Профиль безопасности выберите профиль безопасности сервиса Yandex Smart Web Security. Профиль безопасности позволяет настроить фильтрацию входящих запросов и подключить WAF для защиты от вредоносной активности. Подробнее см. в разделе Профили безопасности.
Важно
Функциональность доступна только в регионе Россия.
-
(Опционально) Включите опции Ограничивать все запросы и/или Ограничивать запросы с одного IP и задайте ограничения на количество запросов, которые виртуальный хост будет обрабатывать за единицу времени.
-
(Опционально) Разверните блок Изменение заголовков, нажмите кнопку Изменить заголовок и настройте HTTP-заголовки
:- В поле Тип выберите, где требуется изменить заголовок:
Запрос— модифицировать заголовки во входящих запросах — от клиента к балансировщику.Ответ— модифицировать заголовки исходящих ответов от бэкенда к внешнему клиенту.
- В поле Имя заголовка укажите имя заголовка. Например:
Host,User-Agent,X-Forwarded-For,Strict-Transport-Securityи т.п. - В поле Операция выберите действие:
append— чтобы добавить строку к значению заголовка. Строку, которую требуется добавить, укажите в поле справа.replace— чтобы полностью заменить значение заголовка. Новое значение заголовка укажите в поле справа.remove— чтобы удалить заголовок. При этом будут удалены не только значение заголовка, но и сам заголовок.rename— чтобы изменить имя заголовка. Новое имя заголовка укажите в поле справа. Значение заголовка при этом не изменяется.
При необходимости воспользуйтесь кнопкой Изменить заголовок, чтобы добавить новые строки, если вам требуется изменить одновременно несколько заголовков.
- В поле Тип выберите, где требуется изменить заголовок:
-
Нажмите кнопку Добавить маршрут и в открывшейся форме Новый маршрут:
-
В поле Имя укажите имя создаваемого маршрута. Требования к имени:
- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
В поле Тип выберите
HTTP. -
В поле Путь выберите одну из опций:
Совпадает с— чтобы маршрутизировать запросы, путь в которых идентичен пути, заданному в текстовом поле справа. Например, чтобы маршрутизировать все запросы, укажите путь/.Начинается с— чтобы маршрутизировать запросы, путь в которых начинается с префикса, заданного в текстовом поле справа.Регулярное выражение— чтобы маршрутизировать запросы, путь в которых удовлетворяет регулярному выражению стандарта RE2 , заданному в текстовом поле справа. Например:\/[a-z]{10}[0-9]{3}.
-
В поле Методы HTTP выберите нужные HTTP-методы
, запросы с которыми необходимо маршрутизировать. -
В поле Действие выберите одну из опций:
Маршрутизация,ПеренаправлениеилиОтвет. В зависимости от выбранной опции:МаршрутизацияПеренаправлениеОтвет-
В поле Группа бэкендов выберите группу бэкендов, расположенную в том же каталоге, в котором находятся HTTP-роутер и виртуальный хост, для которых вы создаете маршрут.
-
(Опционально) В поле Замена пути или начала укажите путь, по которому HTTP-роутер должен перенаправлять трафик. Если ранее в поле Путь вы выбрали опцию
Совпадает с, путь будет полностью заменен. Если была выбрана опцияНачинается с, будет изменено только начало. -
(Опционально) В поле Замена заголовка Host выберите одну из опций:
none— заголовок Host в запросе не изменяется.rewrite— заголовок Host в запросе заменяется на указанное значение.auto— заголовок Host в запросе автоматически заменяется на адрес целевой виртуальной машины.
-
(Опционально) Включите опции Ограничивать все запросы и/или Ограничивать запросы с одного IP и задайте соответствующие ограничения на количество запросов, которые будут обрабатываться для данного маршрута за единицу времени.
-
(Опционально) В поле Таймаут, с укажите максимальное время, на которое может быть установлено соединение.
-
(Опционально) В поле Таймаут простоя, с укажите максимальное время keep-alive, в течение которого соединение может простаивать без передачи данных.
-
(Опционально) В поле Допустимые значения заголовка Upgrade:
- (Опционально) Укажите список протоколов, на которые группа бэкендов может перейти в рамках TCP-соединения по запросу клиента. Используйте кнопку Добавить тип модификации, чтобы добавлять дополнительные протоколы.
- (Опционально) Включите опцию WebSocket, если вы хотите использовать протокол WebSocket
.
-
В поле Код состояния HTTP выберите код, по которому будет осуществляться перенаправление:
301 Moved Permanently;302 Found;303 See Other;307 Temporary Redirect;308 Permanent Redirect.
-
(Опционально) Включите опцию Замена пути или начала и укажите тип модификации пути, по которому HTTP-роутер должен перенаправлять трафик:
Весь путь— чтобы полностью заменить путь запроса на значение, заданное в поле справа.Начало— чтобы изменить префикс пути запроса на значение, заданное в поле справа.
Примечание
Если в поле Путь выше вы выбрали опцию
Совпадает с, путь будет полностью заменен, даже если в поле Замена пути или начала выбрана опцияНачало. -
(Опционально) Включите опцию Удалить query-параметры, чтобы удалять из запросов все query-параметры.
-
(Опционально) Включите опцию Изменить схему, чтобы изменять схему в запросах на схему, заданную в поле справа.
Если в исходном URI использована схема
http(https) и указан порт80(443), при изменении схемы порт будет удален. -
(Опционально) Включите опцию Изменить хост и в поле справа укажите новый хост.
-
(Опционально) Включите опцию Изменить порт и в поле справа укажите новый порт.
-
В поле Код состояния HTTP выберите код статического ответа, который будет отправляться на запрос.
-
В поле Тело ответа задайте тело статического ответа на запросы. Для этого нажмите кнопку Выбрать и в открывшемся окне:
-
В поле Способ выберите:
Файл— чтобы выбрать текстовый файл, содержащий тело ответа.Текст— чтобы указать текст ответа в текстовом поле.- Нажмите кнопку Добавить.
-
-
-
-
Нажмите кнопку Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для создания HTTP-роутера:
yc alb http-router create --help -
Выполните команду:
yc alb http-router create <имя_HTTP-роутера>Результат:
id: a5dcsselagj4******** name: test-http-router folder_id: aoerb349v3h4******** created_at: "2021-02-11T21:04:59.438292069Z" -
Посмотрите описание команды CLI для создания виртуального хоста:
yc alb virtual-host create --help -
Создайте виртуальный хост, указав его имя и настройки:
yc alb virtual-host create <имя_виртуального_хоста> \ --http-router-name <имя_HTTP-роутера> \ --authority <домен_1>,<домен_2>,...,<домен_n> \ --modify-request-header name=Accept-Language,append=ru-RU \ --modify-response-header name=Accept-Charset,replace=utf-8 \ --rate-limit rps=100,all-requests \ --security-profile-id <идентификатор_профиля_безопасности>Где:
-
--http-router-name— имя HTTP-роутера.Вместо имени HTTP-роутера вы можете указать его идентификатор в параметре
--http-router-id. -
--authority— список доменов для заголовковHostдля HTTP/1.1 илиauthorityдля HTTP/2, которые будут связаны с этим виртуальным хостом. Несколько значений указываются через запятую. Поддерживаются символы подстановки, например*.foo.comили*-bar.foo.com. Для gRPC-трафика вы можете указать IP-адрес балансировщика.Необязательный параметр. Если значение не задано, на виртуальный хост будет направляться весь трафик.
-
--modify-request-header— настройки модификации HTTP-заголовка запроса в формате<свойство>=<значение>. Возможные свойства:name— имя модифицируемого заголовка. Например:Host,User-Agent,X-Forwarded-For,Strict-Transport-Securityи т.п.append— добавить строку к текущему значению заголовка.replace— полностью заменить текущее значение заголовка.rename— изменить имя заголовка. Значение заголовка при этом не изменяется.remove— удалить заголовок. При этом будет удалено не только значение заголовка, но и сам заголовок.
Чтобы изменить несколько HTTP-заголовков в запросе, задайте в команде параметр
--modify-request-headerнеобходимое количество раз.Необязательный параметр: если не задан, заголовки запроса передаются в бэкенд в неизменном виде.
-
--modify-response-header— настройки модификации HTTP-заголовка ответа в формате<свойство>=<значение>. Возможные свойства:name— имя модифицируемого заголовка. Например:Host,User-Agent,X-Forwarded-For,Strict-Transport-Securityи т.п.append— добавить строку к текущему значению заголовка.replace— полностью заменить текущее значение заголовка.rename— изменить имя заголовка. Значение заголовка при этом не изменяется.remove— удалить заголовок. При этом будет удалено не только значение заголовка, но и сам заголовок.
Чтобы изменить несколько HTTP-заголовков в ответе, задайте в команде параметр
--modify-response-headerнеобходимое количество раз.Необязательный параметр: если не задан, заголовки ответа передаются клиенту в неизменном виде.
-
--rate-limit— ограничение на частоту запросов. Возможные свойства:rpsилиrpm— количество запросов, которые можно принять в секунду или в минуту.all-requests— ограничение на все входящие запросы.requests-per-ip— ограничение на количество запросов для каждого IP-адреса клиента в отдельности.
Для одного виртуального хоста вы можете задать только один вид ограничения: либо свойство
all-requests, либо —requests-per-ip.Необязательный параметр: если не задан, ограничение на частоту запросов не применяется.
-
--security-profile-id— идентификатор профиля безопасности сервиса Yandex Smart Web Security. Профиль безопасности позволяет настроить фильтрацию входящих запросов, подключить WAF и установить лимиты на количество запросов для защиты от вредоносной активности. Подробнее см. Профили безопасности. Необязательный параметр.Важно
Функциональность доступна только в регионе Россия.
Результат:
name: test-virtual-host authority: - example.com - example.org modify_request_headers: - name: Accept-Language append: ru-RU - name: Accept-Charset replace: utf-8 route_options: security_profile_id: fevu5fnuk6vf******** rate_limit: all_requests: per_second: "100" -
-
Посмотрите описание команды CLI для добавления маршрута в конец списка маршрутов виртуального хоста:
yc alb virtual-host append-http-route --help -
Добавьте маршрут, указав его имя и дополнительные параметры:
yc alb virtual-host append-http-route <имя_маршрута> \ --http-router-name <имя_HTTP-роутера> \ --virtual-host-name <имя_виртуального_хоста> \ --match-http-method <метод_1>,<метод_2>,...<метод_n> \ --exact-path-match <полный_путь> \ --prefix-path-match <префикс_пути> \ --regex-path-match <регулярное_выражение> \ --backend-group-name <имя_группы_бэкендов> \ --request-timeout <таймаут_запроса>s \ --request-idle-timeout <таймаут_ожидания_запроса>s \ --rate-limit rps=<лимит_запросов>,requests-per-ip \ --disable-security-profileГде:
-
--http-router-name— имя HTTP-роутера, в котором создается маршрут.Вместо имени HTTP-роутера вы можете указать его идентификатор в параметре
--http-router-id. -
--virtual-host-name— имя виртуального хоста, в котором создается маршрут. -
--match-http-method— список HTTP-методов , запросы с которыми необходимо маршрутизировать. Например:--match-http-method GET,POST,OPTIONS. Необязательный параметр. Если не задан, маршрутизироваться будут запросы с любыми методами. -
Параметры с условиями маршрутизации на основе пути:
--exact-path-match— маршрутизировать запросы, путь в которых идентичен заданному пути. Например, чтобы маршрутизировать все запросы, укажите путь/.--prefix-path-match— маршрутизировать запросы, путь в которых начинается с заданного префикса. Например:/myapp/.--regex-path-match— маршрутизировать запросы, путь в которых удовлетворяет заданному регулярному выражению стандарта RE2 . Например:\/[a-z]{10}[0-9]{3}\/.
Примечание
Параметры
--exact-path-match,--prefix-path-matchи--regex-path-match— взаимоисключающие: вы можете использовать только один из них. -
--backend-group-name— имя группы бэкендов, расположенной в том же каталоге, в котором находятся HTTP-роутер и виртуальный хост, для которых вы создаете маршрут.Вместо имени группы бэкендов вы можете указать ее идентификатор в параметре
--backend-group-id. -
--request-timeout— максимальное время в секундах, на которое может быть установлено соединение по запросу. -
--request-idle-timeout— максимальное время в секундах, в течение которого соединение может простаивать без передачи данных. -
--rate-limit— ограничение на частоту запросов. Возможные свойства:rpsилиrpm— количество запросов, которые можно принять в секунду или в минуту.all-requests— ограничение на все входящие запросы.requests-per-ip— ограничение на количество запросов для каждого IP-адреса клиента в отдельности.
Для одного маршрута вы можете задать только один вид ограничения: либо свойство
all-requests, либо —requests-per-ip.Необязательный параметр: если не задан, ограничение на частоту запросов не применяется.
-
--disable-security-profile— параметр, отключающий для маршрута использование профиля безопасности сервиса Yandex Smart Web Security, заданного для виртуального хоста. Профиль безопасности позволяет настроить фильтрацию входящих запросов, подключить WAF и установить лимиты на количество запросов для защиты от вредоносной активности. Подробнее см. в разделе Профили безопасности. Необязательный параметр. По умолчанию профиль безопасности, привязанный к виртуальному хосту, действует в отношении всех создаваемых маршрутов.Важно
Функциональность доступна только в регионе Россия.
Результат:
name: test-virtual-host authority: - example.com routes: - name: my-first-route http: match: path: prefix_match: / route: backend_group_id: ds7dnf2s5dco******** timeout: 60s auto_host_rewrite: false - name: my-second-route http: match: http_method: - GET - POST - OPTIONS path: exact_match: / route: backend_group_id: ds7dnf2s5dco******** timeout: 2s idle_timeout: 5s rate_limit: requests_per_ip: per_second: "10" disable_security_profile: true modify_request_headers: - name: Accept-Language append: ru-RU route_options: security_profile_id: fevu5fnuk6vf******** rate_limit: all_requests: per_second: "100"Подробную информацию о команде
yc alb virtual-host append-http-routeс полным перечнем параметров см. в справочнике CLI. -
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры HTTP-роутера и виртуального хоста:
resource "yandex_alb_http_router" "tf-router" { name = "<имя_HTTP-роутера>" labels = { tf-label = "tf-label-value" empty-label = "" } } resource "yandex_alb_virtual_host" "my-virtual-host" { name = "<имя_виртуального_хоста>" http_router_id = yandex_alb_http_router.tf-router.id rate_limit { all_requests { per_second = <количество_запросов_в_секунду> # или per_minute = <количество_запросов_в_минуту> } requests_per_ip { per_second = <количество_запросов_в_секунду> # или per_minute = <количество_запросов_в_минуту> } } route { name = "<имя_маршрута>" disable_security_profile = true|false http_route { http_match { http_method = ["<HTTP-метод_1>","<HTTP-метод_2>",...,"<HTTP-метод_n>"] path { prefix = "/<префикс_пути_запроса>/" # или exact = "<путь_запроса>" # или regex = "<регулярное_выражение>" } } http_route_action { backend_group_id = "<идентификатор_группы_бэкендов>" host_rewrite = "<значение_заголовка_Host>" timeout = "<таймаут_соединения>s" idle_timeout = "<таймаут-простоя>s" prefix_rewrite = "<новый_префикс_пути_запроса>/" rate_limit { all_requests { per_second = <количество_запросов_в_секунду> # или per_minute = <количество_запросов_в_минуту> } requests_per_ip { per_second = <количество_запросов_в_секунду> # или per_minute = <количество_запросов_в_минуту> } } } } } authority = ["<домен_1>","<домен_2>",...,"<домен_n>"] modify_request_headers { name = "<имя_заголовка>" append = "<добавляемая_в_содержимое_заголовка_строка>" # или replace = "<новое_содержимое_заголовка>" # или remove = true|false } modify_response_headers { name = "<имя_заголовка>" append = "<добавляемая_в_содержимое_заголовка_строка>" # или replace = "<новое_содержимое_заголовка>" # или remove = true|false } route_options { security_profile_id = "<идентификатор_профиля_безопасности>" } }Где:
-
yandex_alb_http_router— описание HTTP-роутера:-
name— имя HTTP-роутера. Формат имени:- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
labels— метки для HTTP-роутера. Укажите пару ключ-значение.
-
-
yandex_alb_virtual_host— описание виртуального хоста:-
name— имя виртуального хоста. Формат имени:- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
http_router_id— идентификатор HTTP-роутера. -
rate_limit— (опционально) ограничение частоты запросов для всего виртуального хоста.-
all_requests— (опционально) ограничение всех запросов в секунду или в минуту:per_second— максимальное количество входящих запросов, которые могут поступать на виртуальный хост за одну секунду.per_minute— максимальное количество входящих запросов, которые могут поступать на виртуальный хост за одну минуту.
Параметры
per_secondиper_minute— взаимоисключающие: вы можете использовать только один из них. -
requests_per_ip— (опционально) дополнительное ограничение запросов для каждого IP-адреса в секунду или в минуту:per_second— максимальное количество входящих запросов с одного IP-адреса, которые могут поступать на виртуальный хост за одну секунду.per_minute— максимальное количество входящих запросов с одного IP-адреса, которые могут поступать на виртуальный хост за одну минуту.
Параметры
per_secondиper_minute— взаимоисключающие: вы можете использовать только один из них.
-
-
route— описание маршрута виртуального хоста:name— имя маршрута.disable_security_profile— (опционально) опция отключения профиля безопасности сервиса Yandex Smart Web Security. Возможные значения:true(профиль отключен) илиfalse(профиль включен). По умолчанию профиль безопасности включен (значениеfalse).
-
http_route— описание маршрута для HTTP-трафика:-
http_match— (опционально) параметр для фильтрации входящих HTTP-запросов:-
http_method— (опционально) список HTTP-методов , запросы с которыми будут маршрутизироваться. По умолчанию маршрутизируются запросы с любыми методами. -
path— (опционально) параметры для фильтрации пути входящего запроса:exact— маршрутизировать запросы, путь в которых идентичен заданному пути. Например, чтобы маршрутизировать все запросы, укажите путь/.prefix— маршрутизировать запросы, путь в которых начинается с заданного префикса.regex— маршрутизировать запросы, путь в которых удовлетворяет заданному регулярному выражению стандарта RE2 . Например:\/[a-z]{10}[0-9]{3}\/.
Параметры
exact,prefixиregex— взаимоисключающие: вы можете использовать только один из них.
-
-
http_route_action— параметр для указания действия с HTTP-трафиком.backend_group_id— идентификатор группы бэкендов, расположенной в том же каталоге, в котором находятся HTTP-роутер и виртуальный хост, для которых создается маршрут.host_rewrite— (опционально) замена заголовка Host в запросе на указанное значение. Вместо параметраhost_rewriteвы можете указать параметрauto_host_rewrite— в этом случае заголовок Host в запросе автоматически будет заменяться на адрес целевой виртуальной машины.timeout— (опционально) максимальное время, на которое может быть установлено соединение, в секундах. Значение по умолчанию — 60 секунд.idle_timeout— (опционально) максимальное время keep-alive, в течение которого соединение может простаивать без передачи данных. Если не задано, соединение без передачи данных будет сразу разрываться.prefix_rewrite— (опционально) значение, на которое будет заменен путь или часть пути запроса, указанные в параметреpath.-
rate_limit— (опционально) параметр для ограничения количества запросов за единицу времени:-
all_requests— (опционально) ограничение на все входящие запросы:per_second— максимальное количество входящих запросов, которые могут поступать в маршрут за одну секунду.per_minute— максимальное количество входящих запросов, которые могут поступать в маршрут за одну минуту.
Параметры
per_secondиper_minute— взаимоисключающие: вы можете использовать только один из них. -
requests_per_ip— (опционально) ограничение на входящие запросы с одного IP-адреса:per_second— максимальное количество входящих запросов с одного IP-адреса, которые могут поступать в маршрут за одну секунду.per_minute— максимальное количество входящих запросов с одного IP-адреса, которые могут поступать в маршрут за одну минуту.
Параметры
per_secondиper_minute— взаимоисключающие: вы можете использовать только один из них.
-
-
-
authority— домены для заголовковHostдля HTTP/1.1 илиauthorityдля HTTP/2, которые будут связаны с этим виртуальным хостом. Поддерживаются символы подстановки, например*.foo.comили*-bar.foo.com. Для gRPC-трафика вы можете указать*или IP-адрес балансировщика.Необязательный параметр. Если значение не задано, на виртуальный хост будет направляться весь трафик.
-
modify_request_headers— настройки модификации HTTP-заголовков запроса. Возможные параметры:name— имя модифицируемого заголовка. Например:Host,User-Agent,X-Forwarded-For,Strict-Transport-Securityи т.п.append— добавить строку к текущему значению заголовка.replace— полностью заменить текущее значение заголовка.remove— удалить заголовок. При этом будет удалено не только значение заголовка, но и сам заголовок. Возможные значения:trueилиfalse.
Необязательный параметр: если не задан, заголовки запроса передаются в бэкенд в неизменном виде.
-
modify_response_headers— настройки модификации HTTP-заголовков ответа. Возможные параметры:name— имя модифицируемого заголовка. Например:Host,User-Agent,X-Forwarded-For,Strict-Transport-Securityи т.п.append— добавить строку к текущему значению заголовка.replace— полностью заменить текущее значение заголовка.remove— удалить заголовок. При этом будет удалено не только значение заголовка, но и сам заголовок. Возможные значения:trueилиfalse.
Необязательный параметр: если не задан, заголовки ответа передаются клиенту в неизменном виде.
-
route_options— (опционально) дополнительные параметры виртуального хоста:-
security_profile_id— идентификатор профиля безопасности. Профиль безопасности позволяет настроить фильтрацию входящих запросов, подключить WAF и установить лимиты на количество запросов для защиты от вредоносной активности. Подробнее см. в разделе Профили безопасности.Важно
Функциональность доступна только в регионе Россия.
-
-
Более подробную информацию о параметрах используемых ресурсов в Terraform см. в документации провайдера:
-
-
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Terraform создаст все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления
или с помощью команды CLI:yc alb http-router get <имя_HTTP-роутера>Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с HTTP-роутерами и виртуальными хостами Application Load Balancer 10 минутами.
Операции, которые длятся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию HTTP-роутера и виртуального хоста блоки
timeouts(ресурсыyandex_alb_http_routerиyandex_alb_virtual_hostсоответственно).Пример:
resource "yandex_alb_http_router" "<имя_роутера>" { ... timeouts { create = "60m" update = "60m" delete = "60m" } } -
Воспользуйтесь методом REST API create для ресурса HttpRouter или вызовом gRPC API HttpRouterService/Create.