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