Allowing or denying zonal shift
If an availability zone is under maintenance or has technical problems, you can configure Yandex Cloud to automatically prohibit your load balancer from sending traffic to that zone. This will ensure your services stay operational. Once the zone is recovered, traffic will once again be routed to all the zones configured for the load balancer.
You can also manually enable or disable specific availability zones and test zonal shift from any of them. After the test, you can allow zonal shift only for specific load balancers.
By default, zonal shift is not allowed.
Allowing zonal shift
If you do not have the Yandex Cloud CLI installed yet, install and initialize it.
By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.
When creating or updating a network load balancer, set the --allow-zonal-shift parameter, for example:
yc load-balancer network-load-balancer update \
<load_balancer_name_or_ID> \
--allow-zonal-shift
Result:
id: ds70q425egoe********
name: my-balancer
...
allow_zonal_shift: true
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.
-
In the configuration file, specify the
allow_zonal_shiftparameter set totruein theyandex_lb_network_load_balancerresource description:resource "yandex_lb_network_load_balancer" "my-balancer" { ... allow_zonal_shift = true ... } -
Apply the changes:
-
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 update all required resources. You can check the resource update using this CLI command:
yc load-balancer network-load-balancer get \ <load_balancer_name_or_ID> -
For more information about yandex_lb_network_load_balancer properties, see the relevant provider documentation.
To allow zonal shift when creating a network load balancer, use the create REST API method for the NetworkLoadBalancer resource and set "allowZonalShift": "true", or use the NetworkLoadBalancerService/Create gRPC API call and set "allow_zonal_shift": "true".
To allow zonal shift when updating a network load balancer, use the update REST API method for the NetworkLoadBalancer resource and set "allowZonalShift": "true", or use the NetworkLoadBalancerService/Update gRPC API call and set "allow_zonal_shift": "true".
Denying zonal shift
If you do not have the Yandex Cloud CLI installed yet, install and initialize it.
By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.
When creating or updating a network load balancer, set --allow-zonal-shift=false, for example:
yc load-balancer network-load-balancer update \
<load_balancer_name_or_ID> \
--allow-zonal-shift=false
Result:
id: ds70q425egoe********
name: my-balancer
...
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.
-
In the configuration file, specify the
allow_zonal_shiftparameter set tofalsein theyandex_lb_network_load_balancerresource description:resource "yandex_lb_network_load_balancer" "my-balancer" { ... allow_zonal_shift = false ... } -
Apply the changes:
-
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 update all required resources. You can check the resource update using this CLI command:
yc load-balancer network-load-balancer get \ <load_balancer_name_or_ID> -
For more information about yandex_lb_network_load_balancer properties, see the relevant provider documentation.
To deny zonal shift when creating a network load balancer, use the create REST API method for the NetworkLoadBalancer resource and set "allowZonalShift": "false", or use the NetworkLoadBalancerService/Create gRPC API call and set "allow_zonal_shift": "false".
To deny zonal shift when updating a network load balancer, use the update REST API method for the NetworkLoadBalancer resource and set "allowZonalShift": "false", or use the NetworkLoadBalancerService/Update gRPC API call and set "allow_zonal_shift": "false".