Creating an ARL profile
- In the management console
, select the folder where you want to create an ARL profile. - In the list of services, select Smart Web Security.
- In the left-hand panel, select
ARL profiles and click Create ARL profile. - Name the profile.
- Optionally, provide a description.
- Optionally, add labels to your profile.
- Add ARL rules.
- Click Create.
With Terraform
Terraform is distributed under the Business Source License
For more information about the provider resources, see the relevant documentation on the Terraform
If you do not have Terraform yet, install it and configure the Yandex Cloud provider.
To create an ARL profile:
-
In the Terraform configuration file, describe the resources you want to create:
# ARL profile resource "yandex_sws_advanced_rate_limiter_profile" "arl-profile" { name = "<profile_name>" description = "<profile_description>" # Rule 1 advanced_rate_limiter_rule { name = "<rule_name>" priority = <rule_priority> description = "<rule_description>" dry_run = true static_quota { action = "DENY" limit = <rule_limit> period = <rule_period> condition { request_uri { path { exact_match = "/api" } } } } } }Where:
name: ARL profile name.description: ARL profile description. This is an optional setting.labels: ARL profile labels. This is an optional setting.advanced_rate_limiter_rule: Rule section.name: Rule name.priority: Rule priority, a unique number from1to999999. Rules with smaller numerical values apply first.description: Rule description. This is an optional setting.dry_run: Dry run flag. Set it totrueto test the rule and estimate the load on your web service. Requests will not be blocked in this mode. However, the system will log triggered rules. This is an optional setting.static_quota: Request count mode where each request is counted individually without grouping. You can only specify eitherstatic_quotaordynamic_quota.action: Action if the limit is exceeded. Always set it toDENY.limit: Maximum number of allowed requests per period.period: Time period in seconds during which the limit applies.condition: Condition for applying the rule. This is an optional setting. For more information, see theadvanced_rate_limiter_rule.static_quota.conditiondescription in this provider article.
dynamic_quota: Request count mode where groups of requests sharing one or more properties are counted. You can only specify eitherstatic_quotaordynamic_quota.action: Action if the limit is exceeded. Always set it toDENY.limit: Maximum number of allowed requests per period.period: Time period in seconds during which the limit applies.condition: Condition for applying the rule. This is an optional setting. For more information, see theadvanced_rate_limiter_rule.dynamic_quota.conditiondescription in this provider article.characteristic: Description of properties to group requests by. You can only specify eithersimple_characteristicorkey_characteristic.case_insensitive: Case insensitive, iftrue, or sensitive, iffalse.key_characteristic: Section of parameters requiring a key (string) to group requests by.type: Grouping type. The possible values areCOOKIE_KEY,HEADER_KEY, andQUERY_KEY.value: Key value (string) to group requests by.
simple_characteristic: Section with parameters for autogrouping, i.e., requests are automatically grouped by the specified parameter.type: Grouping type. The possible values areREQUEST_PATH,HTTP_METHOD,IP,GEO, andHOST.
For more information about the
yandex_sws_advanced_rate_limiter_profileproperties, see this Terraform provider article. -
Create the resources:
-
In the terminal, go to the directory where you edited the configuration file.
-
Make sure the configuration file is correct using this command:
terraform validateIf the configuration is correct, you will get this message:
Success! The configuration is valid. -
Run this command:
terraform planYou will see a detailed list of resources. No changes will be made at this step. If the configuration contains any errors, Terraform will show them.
-
Apply the changes:
terraform apply -
Type
yesand press Enter to confirm the changes.
Terraform will create all the required resources. You can check the new resources in the management console
. -
Once your ARL profile is created, you can add rules.
Use the create REST API method for the AdvancedRateLimiterProfile resource or the AdvancedRateLimiterProfile/Create gRPC API call.