Создать профиль ARL
- В консоли управления
выберите каталог, в котором вы хотите создать профиль ARL. - В списке сервисов выберите Smart Web Security.
- На панели слева выберите
Профили ARL и нажмите кнопку Создать профиль ARL. - Введите имя профиля.
- (Опционально) Введите описание.
- (Опционально) Добавьте профилю метки.
- Добавьте правила ARL.
- Нажмите кнопку Создать.
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы создать профиль ARL:
-
Опишите в конфигурационном файле Terraform параметры ресурсов, которые необходимо создать:
# Профиль ARL resource "yandex_sws_advanced_rate_limiter_profile" "arl-profile" { name = "<имя_профиля>" description = "<описание_профиля>" # Правило 1 advanced_rate_limiter_rule { name = "<имя_правила>" priority = <приоритет_правила> description = "<описание_правила>" dry_run = true static_quota { action = "DENY" limit = <лимит_правила> period = <период_правила> condition { request_uri { path { exact_match = "/api" } } } } } }Где:
name— имя профиля ARL.description— описание профиля ARL. Необязательный параметр.labels— метки профиля ARL. Необязательный параметр.advanced_rate_limiter_rule— блок правил.name— имя правила.priority— приоритет правила, уникальное число от1до999999. Первыми применяются правила с меньшим числовым значением.description— описание правила. Необязательный параметр.dry_run— флаг пробного запуска. Установите значениеtrue, чтобы протестировать правило и оценить нагрузку на веб-сервис. В этом режиме запросы блокироваться не будут, но информация о срабатывании правила будет записываться в логи. Необязательный параметр.static_quota— способ подсчета запросов, при котором считается каждый запрос по отдельности, без группировки. Может быть указан только один из блоков:static_quotaилиdynamic_quota.action— действие при превышении лимита. Единственное возможное значение —DENY.limit— максимальное количество разрешенных запросов за период.period— период времени в секундах, в течение которого считается лимит.condition— условие применения правила. Необязательный параметр. Описание условий см. в документации провайдера, в разделе описания структурыadvanced_rate_limiter_rule.static_quota.condition.
dynamic_quota— способ подсчета запросов, при котором считаются группы запросов, объединенных одной или несколькими характеристиками. Может быть указан только один из блоков:static_quotaилиdynamic_quota.action— действие при превышении лимита. Единственное возможное значение —DENY.limit— максимальное количество разрешенных запросов за период.period— период времени в секундах, в течение которого считается лимит.condition— условие применения правила. Необязательный параметр. Описание условий см. в документации провайдера, в разделе описания структурыadvanced_rate_limiter_rule.dynamic_quota.condition.characteristic- описание характеристик для группировки запросов. Может быть указан один из блоков:simple_characteristicилиkey_characteristic.case_insensitive:true— не учитывать регистр,false— учитывать регистр.key_characteristic— блок параметров, для которых надо указать ключ (строку) для группировки запросов.type– тип группировки. Возможные значения:COOKIE_KEY,HEADER_KEY,QUERY_KEY.value— значение ключа (строка), по которому будут группироваться запросы.
simple_characteristic— блок параметров с автоматической группировкой. Т.е. запросы группируются автоматически по указанному параметру.type– тип группировки. Возможные значения:REQUEST_PATH,HTTP_METHOD,IP,GEO,HOST.
Более подробную информацию о параметрах ресурса
yandex_sws_advanced_rate_limiter_profile, см. в документации провайдера. -
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Terraform создаст все требуемые ресурсы. Проверить появление ресурсов можно в консоли управления
. -
После создания профиля ARL вы можете добавить правило в профиль.
Воспользуйтесь методом REST API create для ресурса AdvancedRateLimiterProfile или вызовом gRPC API AdvancedRateLimiterProfile/Create.