Создать профиль 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.