Разрешить и запретить перенос трафика между зонами доступности
Когда в одной из зон доступности проводится обслуживание или наблюдаются неполадки, вы можете разрешить Yandex Cloud автоматически запрещать направление трафика в такую зону для вашего балансировщика. Это сохранит работоспособность ваших сервисов. При восстановлении зоны, трафик будет вновь возвращен во все зоны, которые были настроены для балансировщика.
Также вы можете самостоятельно включать и отключать необходимые зоны доступности и тестировать перенос трафика из какой-либо зоны доступности. А после проверки разрешить перенос трафика только для определенных балансировщиков.
По умолчанию перенос трафика между зонами доступности не разрешен.
Разрешить перенос трафика
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
При создании или изменении сетевого балансировщика укажите параметр --allow-zonal-shift, например:
yc load-balancer network-load-balancer update \
<имя_или_идентификатор_балансировщика> \
--allow-zonal-shift
Результат:
id: ds70q425egoe********
name: my-balancer
...
allow_zonal_shift: true
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
В конфигурационном файле в описании ресурса
yandex_lb_network_load_balancerукажите параметрallow_zonal_shiftсо значениемtrue:resource "yandex_lb_network_load_balancer" "my-balancer" { ... allow_zonal_shift = true ... } -
Примените изменения:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Terraform изменит все требуемые ресурсы. Проверить изменение ресурсов можно с помощью команды CLI:
yc load-balancer network-load-balancer get \ <имя_или_идентификатор_балансировщика> -
Более подробную информацию о параметрах ресурса yandex_lb_network_load_balancer см. в документации провайдера.
Чтобы разрешить перенос трафика при создании сетевого балансировщика, воспользуйтесь методом REST API create для ресурса NetworkLoadBalancer и укажите "allowZonalShift": "true" или вызовом gRPC API NetworkLoadBalancerService/Create и укажите "allow_zonal_shift": "true".
Чтобы разрешить перенос трафика при изменении сетевого балансировщика, воспользуйтесь методом REST API update для ресурса NetworkLoadBalancer и укажите "allowZonalShift": "true" или вызовом gRPC API NetworkLoadBalancerService/Update и укажите "allow_zonal_shift": "true".
Запретить перенос трафика
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
При создании или изменении сетевого балансировщика укажите параметр --allow-zonal-shift=false, например:
yc load-balancer network-load-balancer update \
<имя_или_идентификатор_балансировщика> \
--allow-zonal-shift=false
Результат:
id: ds70q425egoe********
name: my-balancer
...
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
В конфигурационном файле в описании ресурса
yandex_lb_network_load_balancerукажите параметрallow_zonal_shiftсо значениемfalse:resource "yandex_lb_network_load_balancer" "my-balancer" { ... allow_zonal_shift = false ... } -
Примените изменения:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Terraform изменит все требуемые ресурсы. Проверить изменение ресурсов можно с помощью команды CLI:
yc load-balancer network-load-balancer get \ <имя_или_идентификатор_балансировщика> -
Более подробную информацию о параметрах ресурса yandex_lb_network_load_balancer см. в документации провайдера.
Чтобы запретить перенос трафика при создании сетевого балансировщика, воспользуйтесь методом REST API create для ресурса NetworkLoadBalancer и укажите "allowZonalShift": "false" или вызовом gRPC API NetworkLoadBalancerService/Create и укажите "allow_zonal_shift": "false".
Чтобы запретить перенос трафика при изменении сетевого балансировщика, воспользуйтесь методом REST API update для ресурса NetworkLoadBalancer и укажите "allowZonalShift": "false" или вызовом gRPC API NetworkLoadBalancerService/Update и укажите "allow_zonal_shift": "false".